package uk.bl.monitrix.heritrix.api; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.net.URL; import org.apache.commons.io.IOUtils; /** * @author Andrew Jackson <Andrew.Jackson@bl.uk> * */ public class RunScript { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // Set the parameters: String uri = "http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/4/11/1365681260808/Egyptian-women-protest-008.jpg"; uri = "https://www.gov.uk/government/publications?page=2"; String pathFromSeed = "L"; // Find script, from resource path: InputStream in = HeritrixAPI.class.getResourceAsStream("/scripts/deciderule-url-test.groovy"); // Convert script into a string: String script = inputStreamToString(in); // Insert the parameters into the script: String parameters = "uri = \""+uri+"\"\n"; parameters += "pathFromSeed = \""+pathFromSeed+"\"\n"; script = parameters + script; // Connect to H3 instance: HeritrixAPI h = new HeritrixAPI(new URL("https://crawler02.bl.uk:8444/"),"admin","bl_uk"); // Issue POST to execute script: ScriptResult sr = h.postScript("crawl1-20130412144637", "groovy", script ); // Print results: if( sr.getException() != null ) { System.out.println("ERROR: \n"+sr.getException()); } if( sr.getRawOutput() != null ) { System.out.println("GOT: \n"+sr.getRawOutput()); } } private static String inputStreamToString( InputStream in ) throws IOException { StringWriter writer = new StringWriter(); IOUtils.copy(in, writer, "UTF-8"); return writer.toString(); } }