package eu.leads.processor; import eu.leads.processor.conf.WP3Configuration; import eu.leads.processor.utils.CommandLineUtil; import eu.leads.processor.utils.InfinispanUtils; import eu.leads.processor.utils.StdOutputWriter; import eu.leads.processor.utils.listeners.AttributeListener; import eu.leads.processor.utils.listeners.TrackListener; import org.infinispan.Cache; /** * Created by vagvaz on 12/23/13. */ public class TrackService { public static void main(String[] args) { WP3Configuration.initialize(); //Start infinispan InfinispanUtils.start(); String crawlerCache = WP3Configuration.getProperty("crawlerCache"); //Override from command line argument if (args.length > 0) crawlerCache = args[0]; Cache<String, String> crCache = (Cache<String, String>) InfinispanUtils.getOrCreatePersistentMap(crawlerCache); TrackListener listener = new TrackListener("webpages:"); crCache.addListener(listener); System.out.println("Initalize listener for webpages"); AttributeListener attributeListener = new AttributeListener("webpages", "body", "adidas", "entities"); InfinispanUtils.addListenerForMap(attributeListener, "webpages:"); System.out.println("Initialize listener for webpages.body like \'adidas\'"); CommandLineUtil console = new CommandLineUtil(System.in,System.out); StringBuilder input = new StringBuilder(); Cache<String, String> control = (Cache<String, String>) InfinispanUtils.getOrCreatePersistentMap("processorControl"); control.put("service","active"); String line = console.read("Write quit; to stop the service."); while(true){ line = line.trim(); input.append(line); while (!line.trim().endsWith(";") && !input.toString().endsWith(";")) { line = console.readLine(); input.append(" " + line.trim()); } StdOutputWriter.getInstance().println(""); String query = input.toString(); //Quit the SQLInterface if (query.toLowerCase().trim().equals("quit;")) { break; } System.out.println(line); line = console.read("Write quit; to stop the service."); input = new StringBuilder(); } StdOutputWriter.getInstance().printlnAndClear("The Track Service has been stopped."); control.remove("service"); System.exit(0); } }