use of org.eclipse.winery.common.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class DriverInjectionTest method injectDriver.
@Test
public void injectDriver() throws Exception {
setRevisionTo("d8ee55deecf37f5052d27807df691a7b70ec50f2");
ServiceTemplateId id = new ServiceTemplateId("http://winery.opentosca.org/test/servicetemplates/ponyuniverse/daspecifier", "DASpecificationTest", false);
TTopologyTemplate topologyTemplate = this.repository.getElement(id).getTopologyTemplate();
TTopologyTemplate tTopologyTemplate = DriverInjection.injectDriver(topologyTemplate);
TNodeTemplate nodeTemplateWithAbstractDA = tTopologyTemplate.getNodeTemplate("shetland_pony");
List<TDeploymentArtifact> deploymentArtifacts = nodeTemplateWithAbstractDA.getDeploymentArtifacts().getDeploymentArtifact();
List<String> deploymentArtifactNames = new ArrayList<>();
deploymentArtifacts.stream().forEach(da -> deploymentArtifactNames.add(da.getName()));
TRelationshipTemplate relationshipTemplate = tTopologyTemplate.getRelationshipTemplate("con_71");
assertEquals(2, deploymentArtifacts.size());
assertTrue(deploymentArtifactNames.contains("WesternEquipment_Pony"));
assertTrue(deploymentArtifactNames.contains("DressageEquipment_Pony"));
assertEquals("org.test.dressagedriver", ModelUtilities.getPropertiesKV(relationshipTemplate).get("Driver"));
}
use of org.eclipse.winery.common.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class DriverInjectionTest method setDriverProperty.
@Test
public void setDriverProperty() throws Exception {
setRevisionTo("d8ee55deecf37f5052d27807df691a7b70ec50f2");
ServiceTemplateId id = new ServiceTemplateId("http://winery.opentosca.org/test/servicetemplates/ponyuniverse/daspecifier", "DASpecificationTest", false);
TTopologyTemplate topologyTemplate = this.repository.getElement(id).getTopologyTemplate();
TRelationshipTemplate relationshipTemplate = topologyTemplate.getRelationshipTemplate("con_71");
TDeploymentArtifact deploymentArtifact = topologyTemplate.getNodeTemplate("dressageequipment").getDeploymentArtifacts().getDeploymentArtifact().stream().filter(da -> da.getName().equalsIgnoreCase("DressageEquipment_Pony")).findFirst().get();
DriverInjection.setDriverProperty(relationshipTemplate, deploymentArtifact);
assertEquals("org.test.dressagedriver", ModelUtilities.getPropertiesKV(relationshipTemplate).get("Driver"));
}
use of org.eclipse.winery.common.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class SplittingTest method initialize.
@Before
public void initialize() throws Exception {
ServiceTemplateId id = new ServiceTemplateId("http://www.example.org", "ST", false);
ServiceTemplateId id2 = new ServiceTemplateId("http://opentosca.org/servicetemplates", "FlinkApp_Demo_Small_On_OpenStack", false);
assertTrue(RepositoryFactory.getRepository().exists(id));
assertTrue(RepositoryFactory.getRepository().exists(id2));
final TServiceTemplate serviceTemplate = this.repository.getElement(id);
topologyTemplate = serviceTemplate.getTopologyTemplate();
topologyTemplate2 = serviceTemplate.getTopologyTemplate();
}
use of org.eclipse.winery.common.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class SplittingTest method testmatchingofSplittingTopology.
@Test
public void testmatchingofSplittingTopology() throws Exception {
ServiceTemplateId serviceTemplateId = new ServiceTemplateId("http://opentosca.org/servicetemplates", "Abstract_PHPApp_MySQLDB_MotivatingScenario_Splitting-split", false);
assertTrue(this.repository.exists(serviceTemplateId));
final TServiceTemplate serviceTemplate = repository.getElement(serviceTemplateId);
TTopologyTemplate topologyTemplateMatching = serviceTemplate.getTopologyTemplate();
List<String> expectedIds = Arrays.asList("PHP-5-WebApplication", "Java7", "MySQL-DB", "PHP-5-Module", "Apache-2.4", "Ubuntu-14.04-VM-OnPremiseIAAS", "OpenStack-Liberty-12-OnPremiseIAAS", "AmazonBeanstalk", "AmazonRDS");
List<TNodeTemplate> NodeTemplates = splitting.hostMatchingWithDefaultHostSelection(topologyTemplateMatching).getNodeTemplateOrRelationshipTemplate().stream().filter(t -> t instanceof TNodeTemplate).map(TNodeTemplate.class::cast).collect(Collectors.toList());
List<String> Ids = new ArrayList<>();
for (TNodeTemplate nodeTemplate : NodeTemplates) {
Ids.add(nodeTemplate.getId());
}
assertEquals(expectedIds, Ids);
}
use of org.eclipse.winery.common.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class ServiceTemplatesResource method getXaaSPackageTemplates.
private Collection<ServiceTemplateId> getXaaSPackageTemplates() {
Collection<AbstractComponentInstanceResource> templates = this.getAll();
Collection<ServiceTemplateId> xaasPackages = new ArrayList<ServiceTemplateId>();
for (AbstractComponentInstanceResource resource : templates) {
if (resource instanceof ServiceTemplateResource) {
ServiceTemplateResource stRes = (ServiceTemplateResource) resource;
TTags tags = stRes.getServiceTemplate().getTags();
if (tags == null) {
continue;
}
int check = 0;
for (TTag tag : tags.getTag()) {
switch(tag.getName()) {
case "xaasPackageNode":
case "xaasPackageArtifactType":
case "xaasPackageDeploymentArtifact":
check++;
break;
default:
break;
}
}
if (check == 3) {
xaasPackages.add((ServiceTemplateId) stRes.getId());
}
}
}
return xaasPackages;
}
Aggregations