1 10 11 package org.nanocontainer.webcontainer.groovy; 12 13 import org.picocontainer.MutablePicoContainer; 14 import org.nanocontainer.webcontainer.PicoJettyServer; 15 import org.nanocontainer.script.groovy.buildernodes.AbstractBuilderNode; 16 import org.nanocontainer.NanoContainer; 17 18 import java.util.Map ; 19 20 public class WebContainerBuilder extends AbstractBuilderNode { 21 22 23 public WebContainerBuilder() { 24 super("webContainer"); 25 } 26 27 public Object createNewNode(Object current, Map map) { 28 int port =0; 29 if (map.containsKey("port")) { 30 port = ((Integer ) map.remove("port")).intValue(); 31 } 32 String host; 33 if (map.containsKey("host")) { 34 host = (String ) map.remove("host"); 35 } else { 36 host = "localhost"; 37 } 38 39 NanoContainer parentNano = (NanoContainer) current; 40 MutablePicoContainer parentContainer = parentNano.getPico(); 41 42 if (port != 0) { 43 PicoJettyServer server = new PicoJettyServer(host, port, parentContainer); 44 parentContainer.addChildContainer(server); 45 return new ServerBuilder(server, parentContainer); 46 } else { 47 PicoJettyServer server = new PicoJettyServer(parentContainer); 48 parentContainer.addChildContainer(server); 49 return new ServerBuilder(server, parentContainer); 50 } 51 } 52 53 54 } 55 56 57 | Popular Tags |