/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.script.wps; import java.io.File; import java.io.IOException; import java.net.URL; import org.apache.commons.io.FileUtils; import org.geoserver.script.ScriptIntTestSupport; /** * Base class to perform tests against a single process * * @author Andrea Aime - GeoSolutions * */ public abstract class ScriptProcessTestSupport extends ScriptIntTestSupport { protected File script; @Override protected void oneTimeSetUp() throws Exception { super.oneTimeSetUp(); script = copyScriptIfExists(getProcessName()); } protected File copyScriptIfExists(String baseName) throws IOException { File wps = scriptMgr.wps().dir(); File directory; if (getNamespace().equals(getExtension())) { directory = wps; } else { directory = new File(wps, getNamespace()); } File script = new File(directory, baseName + "." + getExtension()); URL u = getClass().getResource(script.getName()); if (u != null) { FileUtils.copyURLToFile(u, script); return script; } return null; } public abstract String getExtension(); public String getNamespace() { return getExtension(); } public abstract String getProcessName(); }