@Deprecated public Starter registerStarter(Starter s, StarterNode parent) { return registerStarter(s); }
public void register(StarterNode node) throws InvocationTargetException { try { Class<?>[] constArgsType = new Class[args.size()]; Object[] constArgsVal = new Object[args.size()]; int index = 0; for(Object arg: args) { constArgsType[index] = arg.getClass(); constArgsVal[index] = arg; index++; } Connection<?> cnx = type.getConstructor(constArgsType).newInstance(constArgsVal); for(Map.Entry<String, String> e: beansValue.entrySet()) { String textValue = Util.parseTemplate(e.getValue(), cnx); ArgFactory.beanSetter(cnx, e.getKey(), textValue); cnx.log(Level.TRACE, "Setting bean '%s' to value '%s' for %s", e.getKey(), textValue, node); } if(name != null && !name.trim().isEmpty()) cnx.setName(name.trim()); node.registerStarter(cnx); logger.debug(Util.delayedFormatString("Connexion registred: %s for %s", cnx, node)); } catch (InvocationTargetException ex) { String message = ex.getCause() != null ? ex.getCause().getMessage(): ex.getMessage(); throw new InvocationTargetException(ex.getCause(), "Error during connection creation of type " + type.getName() + " for " + node + ": " + message); } catch (Exception ex) { throw new InvocationTargetException(ex, "Error during connection creation of type " + type.getName() + " for " + node); } }
resolver = getParent().registerStarter(new Resolver(url.getHost()));
@Override public void configure(PropertiesManager pm) { super.configure(pm); starterKey = getLevel().getParent().registerStarter(new Resolver(bmcname)).getKey(); }
public Resolver getResolver() { String hostName = getHostName(); Resolver r = getLevel().find(Resolver.class); if(r == null) { r = new Resolver(hostName); getLevel().registerStarter(r); } return r; }
@Test public void simpleStarter() { StarterNode n = new StarterNode() { }; Starter s = new Starter() { }; n.registerStarter(s); Assert.assertNotNull(n.find(s.getClass())); }
@Test public void simpleStarter2() { StarterNode n1 = new StarterNode() { }; Starter s1 = new Starter() { }; n1.registerStarter(s1); StarterNode n2 = new StarterNode(n1) { }; Assert.assertNotNull(n2.find(s1.getClass())); }
@Test public void oneLevel() { StarterNode n = new StarterNode() { }; Starter s = new LocalStarter(0); n.registerStarter(s); Assert.assertNotNull(n.find(LocalStarter.class, 0)); }
@Test public void twoLevel() { StarterNode n1 = new StarterNode() { }; Starter s1 = new LocalStarter(0); n1.registerStarter(s1); StarterNode n2 = new StarterNode() { }; n2.setParent(n1); Starter s2 = new LocalStarter(1); n2.registerStarter(s2); Assert.assertNotNull(n2.find(LocalStarter.class, 1)); Assert.assertNotNull(n2.find(LocalStarter.class, 0)); }