package com.telefonica.claudia.paastests; import java.io.IOException; import java.io.StringWriter; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Set; import org.apache.log4j.Logger; import org.w3c.dom.Document; import com.sun.org.apache.xml.internal.serialize.OutputFormat; import com.sun.org.apache.xml.internal.serialize.XMLSerializer; import com.telefonica.claudia.slm.common.SMConfiguration; import com.telefonica.claudia.slm.deployment.Customer; import com.telefonica.claudia.slm.deployment.ServiceApplication; import com.telefonica.claudia.slm.deployment.VEE; import com.telefonica.claudia.slm.deployment.VEEReplica; import com.telefonica.claudia.slm.deployment.hwItems.DiskConf; import com.telefonica.claudia.slm.deployment.hwItems.NICConf; import com.telefonica.claudia.slm.deployment.hwItems.Network; import com.telefonica.claudia.slm.deployment.paas.Product; import com.telefonica.claudia.slm.lifecyclemanager.FSM; import com.telefonica.claudia.slm.lifecyclemanager.LifecycleController; import com.telefonica.claudia.slm.maniParser.Parser; import com.telefonica.claudia.slm.paas.PaasUtils; import com.telefonica.claudia.slm.rulesEngine.RulesEngine; import com.telefonica.claudia.slm.vmiHandler.TCloudClient; public class TestDeployVM { public static void main (String [] args) { TestDeployVM p = new TestDeployVM(); p.testPaaS(); Logger logger = Logger.getLogger(TestDeployVM.class); } public void testPaaS () { ServiceApplication sa = null; String xmlFileName = "testpaas.xml"; try { SMConfiguration.loadProperties(); System.out.println("------------------------------------------------------------------------------------"); System.out.println("procesing " + xmlFileName); Parser p = new Parser(xmlFileName, new Customer("cc1"), "m2"); p.parse(); // Manually populate the replicas to continue the test sa = p.getServiceApplication(); completeService (sa); LifecycleController lcc = new LifecycleController (); FSM fsm = new FSM(lcc, "hola"); fsm.sap=sa; fsm.parser = p; // TCloudClient vmi = new TCloudClient("http://109.231.84.52:8182"); TCloudClient vmi = new TCloudClient("http://localhost:8182"); fsm.vmi = vmi; RulesEngine rle=new RulesEngine(lcc); // "load" the rule engine into the FSM fsm.loadRuleEngine(rle); for (VEE vee: sa.getVEEs()) { if (!fsm.startService ()) return ; } } catch (Exception e) { e.printStackTrace(); } } public void completeService (ServiceApplication sa) { Iterator<VEE> vees = sa.getVEEs().iterator(); VEE master = vees.next(); VEEReplica vee1 = new VEEReplica(master); master.registerVEEReplica(vee1); for (VEE vee: sa.getVEEs()) { for (NICConf nic: vee.getNICsConf()) { Network net = nic.getNetwork(); net.setNetworkAddresses( new String [] {"10.76.56.54", "245.456.456.456"}); } } Document doc = sa.toXML(); OutputFormat format = new OutputFormat (doc); // as a String StringWriter stringOut = new StringWriter (); XMLSerializer serial = new XMLSerializer (stringOut, format); try { serial.serialize(doc); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // Display the XML System.out.println("XML " + stringOut.toString()); } }