/*
(c) Copyright 2010 Telefonica, I+D. Printed in Spain (Europe). All Righ
Reserved.
The copyright to the software program(s) is property of Telefonica I+D.
The program(s) may be used and or copied only with the express written
consent of Telefonica I+D or in acordance with the terms and conditions
stipulated in the agreement/contract under which the program(s) have
been supplied.
*/
package es.tid.reservoir.serviceManager.maniParser.test;
import static org.junit.Assert.fail;
import java.io.ByteArrayOutputStream;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.telefonica.claudia.slm.common.DbManager;
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.NICConf;
import com.telefonica.claudia.slm.deployment.hwItems.Network;
import com.telefonica.claudia.slm.deployment.paas.Product;
import com.telefonica.claudia.slm.maniParser.GetOperationsUtils;
import com.telefonica.claudia.slm.maniParser.ManiParserException;
import com.telefonica.claudia.slm.maniParser.Parser;
import com.telefonica.claudia.slm.paas.vmiHandler.RECManagerClient;
import com.telefonica.claudia.slm.serviceconfiganalyzer.ServiceConfigurationAnalyzer;
public class GetProductSectionTest {
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
}
@Test
public void testParser2_sun() {
String xmlFileName = "src/test/resources/4caastpaas.xml";
try {
SMConfiguration.loadProperties();
System.out.println("------------------------------------------------------------------------------------");
System.out.println("procesing " + xmlFileName);
Parser p = new Parser(xmlFileName, new Customer("SP_STANDARD"), "test27");
p.parse();
// Manually populate the replicas to continue the test
ServiceApplication sa = p.getServiceApplication();
Iterator<VEE> vees = sa.getVEEs().iterator();
VEE master = vees.next();
// VEE executor = vees.next();
VEEReplica vee1 = new VEEReplica(master);
// VEEReplica vee2 = new VEEReplica(executor);
master.registerVEEReplica(vee1);
// executor.registerVEEReplica(vee2);
for (VEE vee: sa.getVEEs())
{
for (NICConf nic: vee.getNICsConf())
{
Network net = nic.getNetwork();
net.setNetworkAddresses( new String [] {"109.231.79.228", "245.456.456.456"});
}
}
Source source = new DOMSource(sa.toXML());
TransformerFactory transformerFactory =TransformerFactory.newInstance();
Transformer transformer = null;
try{
transformer = transformerFactory.newTransformer();
}catch (javax.xml.transform.TransformerConfigurationException error){
}
StringWriter writer = new StringWriter();
Result result = new StreamResult(writer);
try{
transformer.transform(source,result);
}catch (javax.xml.transform.TransformerException error){
error.printStackTrace();
}
System.out.println (writer.toString());
/* for (VEE vee: sa.getVEEs() )
{
for (Product product: vee.getProducts())
{
System.out.println (product.getProductXML());
}
}*/
/* Let's generate the OVF Environment for VEEMaster and VEEExecutor */
// p.generateEnvironments("vm",0,getFreshIPS(),netmasks,dnsServers,gateways,eps);
} catch (Throwable t) {
t.printStackTrace();
fail(t.getMessage());
}
}
HashMap<String,ArrayList<String>> getFreshIPS() {
ArrayList<String> net1 = new ArrayList<String>();
net1.add("10.0.0.1");
ArrayList<String> net2 = new ArrayList<String>();
net2.add("10.0.1.1");
HashMap<String,ArrayList<String>> ips = new HashMap<String,ArrayList<String>>();
ips.put("1_sge_net",net1);
ips.put("0_admin_net",net2);
return ips;
}
}