/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package at.ac.tuwien.dsg.cloud.salsa.examples.dataaccess; import at.ac.tuwien.dsg.cloud.elise.model.runtime.GlobalIdentification; import at.ac.tuwien.dsg.cloud.elise.model.runtime.LocalIdentification; import at.ac.tuwien.dsg.cloud.elise.model.runtime.UnitInstance; import at.ac.tuwien.dsg.cloud.salsa.domainmodels.types.ServiceCategory; import java.util.Arrays; import org.apache.cxf.jaxrs.client.JAXRSClientFactory; import at.ac.tuwien.dsg.cloud.elise.master.RESTService.EliseRepository; import at.ac.tuwien.dsg.cloud.elise.model.generic.Capability; import at.ac.tuwien.dsg.cloud.elise.model.generic.ExtensibleModel; import at.ac.tuwien.dsg.cloud.elise.model.generic.executionmodels.RestExecution; import at.ac.tuwien.dsg.cloud.elise.model.runtime.State; import at.ac.tuwien.dsg.cloud.salsa.domainmodels.IaaS.VirtualMachineInfo; import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; import java.util.HashSet; /** * * @author hungld */ public class testDataAccess_UnitInstance { public static void main(String[] args) { String endpoint = "http://localhost:9000/salsa-engine/rest/elise/"; EliseRepository mng = JAXRSClientFactory.create(endpoint, EliseRepository.class, Arrays.asList(new JacksonJaxbJsonProvider())); UnitInstance unit = new UnitInstance("test", ServiceCategory.os); unit.setName("Localhost"); unit.setUuid("73628b66-f93f-4623-97d9-c5edf8e748a9"); Capability capa1 = new Capability("deploy", Capability.ExecutionMethod.REST, new RestExecution("http://example1.com", RestExecution.RestMethod.POST, "")); Capability capa2 = new Capability("undeploy", Capability.ExecutionMethod.REST, new RestExecution("http://example2.com", RestExecution.RestMethod.DELETE, "")); unit.setCapabilities(new HashSet<Capability>()); unit.getCapabilities().add(capa1); // unit.getCapabilities().add(capa2); VirtualMachineInfo domain = new VirtualMachineInfo("localhost", "my-laptop", "VM:localhost"); domain.setPublicIp("publicIP"); domain.setPrivateIp("privateIP"); // DomainEntity testDomain = new DomainEntity(ServiceCategory.Gateway, "domainID", "domainName", "started", "stopped"); // unit.setDomain(testDomain); unit.setDomain(domain); unit.setState(State.CONFIGURING); GlobalIdentification iden = new GlobalIdentification(); iden.addLocalIdentification((new LocalIdentification(ServiceCategory.docker, "me")).hasIdentification("key", "idenItem")); unit.setIdentification(iden); unit.setUuid("myUUID"); System.out.println("\n CHECKING HEALTH >>>>>>>>>>>>>>>>>>>>>>>S"); System.out.println(mng.health()); // System.out.println(mng.getUnitCategory()); System.out.println("\n 1--- SAVING 1 >>>>>>>>>>>>>>>>>>>>>>>"); System.out.println(unit.toJson()); mng.saveUnitInstance(unit); readAndShow(mng); } private static void readAndShow(EliseRepository mng) { System.out.println("\n READING >>>>>>>>>>>>>>>"); System.out.println(mng.readUnitInstance("myUUID").toJson()); } public static class AddressInfo extends ExtensibleModel { String city; String street; public AddressInfo(String city, String street) { super(AddressInfo.class); this.city = city; this.street = street; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } } }