private void init() { try { load = new Loader(pm.strictparsing); } catch (ParserConfigurationException e) { throw new RuntimeException("Can't build loader parser", e); } logger.debug(jrds.Util.delayedFormatString("Scanning %s for probes libraries", pm.libspath)); for(URI lib: pm.libspath) { logger.info(jrds.Util.delayedFormatString("Adding lib %s", lib)); load.importUrl(lib); } if(pm.configdir != null) load.importDir(pm.configdir); load.done(); }
public Map<String, JrdsDocument> getNodeMap(ConfigType ct) { return load.getRepository(ct); }
public void importUrl(URI ressourceUri) { try { logger.debug("Importing " + ressourceUri); String protocol = ressourceUri.getScheme(); if("file".equals(protocol)) { String fileName = ressourceUri.getPath(); File imported = new File(ressourceUri); if(imported.isDirectory()) { importDir(imported); } else if(fileName.endsWith(".jar")) { importJar(new JarFile(imported)); } else { importStream(new FileInputStream(fileName), fileName); } } else if("jar".equals(protocol)) { URL ressourceUrl = ressourceUri.toURL(); JarURLConnection cnx = (JarURLConnection) ressourceUrl.openConnection(); importJar(cnx.getJarFile()); } else { logger.error("ressource " + ressourceUri + " can't be loaded"); } } catch (IOException e) { logger.error("Invalid URL " + ressourceUri + ": " + e); } }
public void importDir(File path) { logger.trace("Importing directory " + path); if(!path.isDirectory()) { logger.warn(path + " is not a directory"); return; } // listFiles can return null File[] foundFiles = path.listFiles(filter); if(foundFiles == null) { logger.error("Failed to import " + path); return; } for(File f: foundFiles) { if(f.isDirectory()) { importDir(f); } else { try { logger.trace("Will import " + f); importStream(new FileInputStream(f), f); } catch (IOException e) { logger.error("IO error with " + f + ": " + e); } } } }
@Test public void doLoadView() throws Exception { Loader l = new Loader(); l.importStream(getClass().getClassLoader().getResourceAsStream("view1.xml"), ""); l.done(); Map<String, JrdsDocument> rep = l.getRepository(ConfigType.FILTER); logger.trace(rep); Assert.assertTrue(rep.containsKey("Test view 1")); }
@Test public void doLoadJar() throws ParserConfigurationException, MalformedURLException, URISyntaxException { Loader l = new Loader(); l.importUrl(getClass().getClassLoader().getResource("desc").toURI()); l.done(); Assert.assertFalse("graph desc list is empty", l.getRepository(ConfigType.GRAPHDESC).isEmpty()); Assert.assertFalse("probe desc list is empty", l.getRepository(ConfigType.PROBEDESC).isEmpty()); }
public void addUrl(URI ressourceUrl) { load.importUrl(ressourceUrl); }
public void importJar(JarFile jarfile) throws IOException { if(logger.isTraceEnabled()) logger.trace("Importing jar " + jarfile.getName()); for(JarEntry je: Collections.list(jarfile.entries())) { String name = je.getName(); if(!je.isDirectory() && name.endsWith(".xml") && (name.startsWith("desc/") || name.startsWith("graph/") || name.startsWith("probe/"))) { logger.trace("Will import jar entry " + je); importStream(jarfile.getInputStream(je), je + " in " + jarfile); } } }
@Test public void doLoadProbeDesc() throws Exception { Loader l = new Loader(); l.importStream(getClass().getClassLoader().getResourceAsStream("fulldesc.xml"), ""); l.done(); Map<String, JrdsDocument> rep = l.getRepository(ConfigType.PROBEDESC); logger.trace(rep); Assert.assertTrue(rep.containsKey("name")); }
@Test public void doLoadTab() throws Exception { Loader l = new Loader(); l.importStream(getClass().getClassLoader().getResourceAsStream("goodtab.xml"), ""); l.done(); Map<String, JrdsDocument> rep = l.getRepository(ConfigType.TAB); logger.trace(rep); Assert.assertTrue(rep.containsKey("goodtab")); }
public Map<String, Macro> setMacroMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.MACRODEF); macrosmap = getObjectMap(new MacroBuilder(), nodemap); logger.debug(jrds.Util.delayedFormatString("Macro configured: %s", macrosmap.keySet())); return macrosmap; }
@Test public void doLoadHost() throws Exception { Loader l = new Loader(); l.importStream(getClass().getClassLoader().getResourceAsStream("host1.xml"), ""); l.done(); Assert.assertTrue(l.getRepository(ConfigType.HOSTS).containsKey("name")); }
public Map<String, Tab> setTabMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.TAB); TabBuilder ob = new TabBuilder(); Map<String, Tab> tabsMap = getObjectMap(ob, nodemap); logger.debug(jrds.Util.delayedFormatString("Tabs configured: %s", tabsMap.keySet())); return tabsMap; }
@Test public void doLoadGraph() throws Exception { Loader l = new Loader(); l.importStream(getClass().getClassLoader().getResourceAsStream("customgraph.xml"), ""); l.done(); Map<String, JrdsDocument> rep = l.getRepository(ConfigType.GRAPH); logger.trace(rep); Assert.assertTrue(rep.containsKey("name")); }
public Map<String, ArchivesSet> setArchiveSetMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.ARCHIVESSET); archivessetmap = getObjectMap(new ArchivesSetBuilder(), nodemap); archivessetmap.put(ArchivesSet.DEFAULT.getName(), ArchivesSet.DEFAULT); logger.debug(jrds.Util.delayedFormatString("Archives set configured: %s", archivessetmap.keySet())); return archivessetmap; }
public Map<String, Sum> setSumMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.SUM); SumBuilder ob = new SumBuilder(); ob.setPm(pm); Map<String, Sum> sumpsMap = getObjectMap(ob, nodemap); logger.debug(jrds.Util.delayedFormatString("Sums configured: %s", sumpsMap.keySet())); return sumpsMap; }
public Map<String, GraphDesc> setGraphDescMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.GRAPHDESC); GraphDescBuilder ob = new GraphDescBuilder(); ob.setPm(pm); graphDescMap = getObjectMap(ob, nodemap); logger.debug(jrds.Util.delayedFormatString("Graph description configured: %s", graphDescMap.keySet())); return graphDescMap; }
public Map<String, Filter> setFilterMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.FILTER); FilterBuilder ob = new FilterBuilder(); ob.setPm(pm); Map<String, Filter> filtersMap = getObjectMap(ob, nodemap); logger.debug(jrds.Util.delayedFormatString("Filters configured: %s", filtersMap.keySet())); return filtersMap; }
public Map<String, Listener<?, ?>> setListenerMap() { Map<String, JrdsDocument> nodemap = load.getRepository(ConfigType.LISTENER); ListenerBuilder ob = new ListenerBuilder(); ob.setClassLoader(cl); listenerMap = getObjectMap(ob, nodemap); logger.debug(jrds.Util.delayedFormatString("listener configured: %s", listenerMap.keySet())); return listenerMap; }