package eu.leads.processor; import eu.leads.crawler.PersistentCrawl; import eu.leads.processor.deploy.QueryDeployer; import eu.leads.processor.deploy.QueryDeployerImpl; import eu.leads.processor.execute.NodeQueryExecutor; import eu.leads.processor.plan.QueryPlanner; import eu.leads.processor.plan.QueryPlannerImpl; import eu.leads.processor.ui.SQLInterface; import eu.leads.processor.ui.UserInterfaceManager; import eu.leads.processor.utils.InfinispanUtils; import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Properties; import static java.lang.System.getProperties; /** * Created with IntelliJ IDEA. * User: vagvaz * Date: 11/6/13 * Time: 10:45 PM * To change this template use File | Settings | File Templates. */ //Helper class which is currently not used for deploying specific module public class ModuleRunner { public static void main(String[] args) { if (args.length != 1) { System.err.println("Please enter the name of class"); } try { Properties properties = getProperties(); properties.load(PersistentCrawl.class.getClassLoader().getResourceAsStream("config.properties")); System.out.println("Found properties file."); } catch (IOException e) { System.out.println("Found no config.properties file; defaulting."); } InfinispanUtils.start(); String hostname = ""; String ip = ""; try { hostname = InetAddress.getLocalHost().getHostName(); ip = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } boolean found = true; String className = args[0]; Class<Module> moduleClass = null; Module module = null; try { moduleClass = (Class<Module>) Class.forName(className); } catch (ClassNotFoundException e) { found = false; } if (!found) { found = true; try { moduleClass = (Class<Module>) Class.forName("eu.leads.processor." + className); } catch (ClassNotFoundException e) { found = false; e.printStackTrace(); } } String url = "tcp://" + ip + ":61616"; System.out.println("cl: " + moduleClass.toString()); String name = hostname + "." + className; if (moduleClass.equals(SQLInterface.class)) { try { module = new SQLInterface(url, name); } catch (Exception e) { e.printStackTrace(); } } else if (moduleClass.equals(UserInterfaceManager.class)) { try { module = new eu.leads.processor.ui.UserInterfaceManager(url, name); } catch (Exception e) { e.printStackTrace(); } } else if (moduleClass.equals(QueryPlanner.class)) { try { module = new QueryPlannerImpl(url, name); } catch (Exception e) { e.printStackTrace(); } } else if (moduleClass.equals(QueryDeployer.class)) { try { module = new QueryDeployerImpl(url, name); } catch (Exception e) { e.printStackTrace(); } } else if (moduleClass.equals(NodeQueryExecutor.class)) { try { module = new NodeQueryExecutor(url, name); } catch (Exception e) { e.printStackTrace(); } } else { System.out.println("No valid Module to start bye bye"); System.exit(-1); } if(module != null) { module.startUp(); } InfinispanUtils.stop(); } }