/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.util.db.script; import java.io.IOException; import java.io.InputStream; import java.net.URL; import org.apache.commons.io.IOUtils; import com.opengamma.OpenGammaRuntimeException; import com.opengamma.util.ArgumentChecker; /** * Wraps a database script that is accessible on the classpath. */ public class ClasspathDbScript implements DbScript { private final URL _scriptResource; public ClasspathDbScript(URL scriptResource) { ArgumentChecker.notNull(scriptResource, "scriptResource"); _scriptResource = scriptResource; } @Override public String getName() { return _scriptResource.getPath(); } @Override public boolean exists() { try { try { InputStream in = _scriptResource.openStream(); in.close(); } catch (IllegalArgumentException e) { throw new OpenGammaRuntimeException(_scriptResource + " caused exception", e); } return true; } catch (IOException e) { return false; } } @Override public String getScript() throws IOException { return IOUtils.toString(_scriptResource); } }