ComponentInstance serveri = bi.getProvidedEnd().getOwner().get(); ComponentInstance clienti = bi.getRequiredEnd().getOwner().get(); if (serveri.isExternal() && "database".equals(((ExternalComponentInstance<ExternalComponent>) serveri).getType().getServiceType())) { //For DB for (Resource res : bi.getType().getResources()) { valet.config(); else if(res.hasProperty("db-binding-alias")){ coordinator.updateStatus(bi.getProvidedEnd().getOwner().get().getName(), ComponentInstance.State.PENDING, CloudAppDeployer.class.getName()); try{ Provider p = ((ExternalComponent) bi.getProvidedEnd().getOwner().get().getType()).getProvider(); PaaSConnector connector = ConnectorFactory.createPaaSConnector(p); String alias = res.getProperties().valueOf("db-binding-alias"); connector.bindDbToApp(bi.getRequiredEnd().getOwner().getName(), bi.getProvidedEnd().getOwner().getName(), alias); coordinator.updateStatus(bi.getProvidedEnd().getOwner().get().getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); }catch(Exception ex){ ex.printStackTrace(); VMInstance ownerVMClient = (VMInstance) getDestination(clientInternal.getOwner().get()); VM VMClient = ownerVMClient.getType(); jcClient = ConnectorFactory.createIaaSConnector(VMClient.getProvider()); String destinationIpAddress = getDestination(server.getOwner().get()).getPublicAddress(); int destinationPortNumber = server.getType().getPortNumber(); String ipAddress = getDestination(clientInternal.getOwner().get()).getPublicAddress(); if(clientResource == null) return; // ignore configuration if there is no resource at all ComponentInstance s=bi.getProvidedEnd().getOwner().get().asInternal(); ExternalComponentInstance serveri2 = bi.getProvidedEnd().getOwner().get().asInternal().externalHost();
@Override public void validate(Report report) { if (owner.isUndefined()) { final String error = String.format("no owner for execution platform '%s'", getQualifiedName()); report.addError(error); } }
public void convertAndAddProvidedPortInstances(List<net.cloudml.core.ProvidedPortInstance> ppi, ComponentInstance ai) { ProvidedPortInstanceGroup ppig=new ProvidedPortInstanceGroup(); for (net.cloudml.core.ProvidedPortInstance kapi: ppi) { ProvidedPortInstance api = new ProvidedPortInstance(kapi.getName(), providedPorts.get(ai.getType().getName() + "_" + kapi.getType().getName())); api.getOwner().set(ai); convertProperties(kapi, api); //ai.getProvidedPorts().add(api); ppig.add(api); providedPortInstances.put(api.getName(), api); } ai.setProvidedPorts(ppig); }
public void drawEdgesFromDeploymentModel(Deployment dm, ArrayList<Vertex> v) { for (ComponentInstance x : dm.getComponentInstances()) { if (x instanceof InternalComponentInstance) { InternalComponentInstance ix = (InternalComponentInstance) x; if (ix.getRequiredExecutionPlatform() != null) { Vertex v1 = findVertex(ix.getName(), v); Vertex v2 = findVertex(ix.getRequiredExecutionPlatform().getName(), v); Edge e = new Edge("dest" + ix.getName(), "destination"); createEdge(e, v1, v2); } }//TODO else } for (RelationshipInstance bi : dm.getRelationshipInstances()) { Vertex v1 = findVertex(bi.getRequiredEnd().getOwner().getName(), v); Vertex v2 = findVertex(bi.getProvidedEnd().getOwner().getName(), v); Edge e; if (!bi.getRequiredEnd().getType().isMandatory()) { e = new Edge(bi.getName(), "optional", bi); } else { e = new Edge(bi.getName(), "mandatory", bi); } createEdge(e, v1, v2); } }
public String selectServerPortInstance(RelationshipInstance bi) { JPanel panel = new JPanel(); panel.add(new JLabel("Please make a selection:")); DefaultComboBoxModel model = new DefaultComboBoxModel(); for (ComponentInstance ai : dm.getComponentInstances()) { Iterator<ProvidedPortInstance> it = ai.getProvidedPorts().iterator(); while (it.hasNext()) {//TODO: check issue with foreach on list<ProvidedPortInstances> ProvidedPortInstance ci = it.next(); if (ci.getType().equals(bi.getType().getProvidedEnd())) { model.addElement(ci); } } } JComboBox comboBox = new JComboBox(model); panel.add(comboBox); int result = JOptionPane.showConfirmDialog(null, panel, "ProvidedPort", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); switch (result) { case JOptionPane.OK_OPTION: bi.setProvidedEnd((ProvidedPortInstance) comboBox.getSelectedItem()); return ((ProvidedPortInstance) comboBox.getSelectedItem()).getOwner().getName(); } return ""; } }
public String selectClientPortInstance(RelationshipInstance bi) { JPanel panel = new JPanel(); panel.add(new JLabel("Please make a selection:")); DefaultComboBoxModel model = new DefaultComboBoxModel(); for (ComponentInstance ai : dm.getComponentInstances()) { if (ai instanceof InternalComponentInstance) { for (RequiredPortInstance ci : ((InternalComponentInstance) ai).getRequiredPorts()) { System.out.println(bi.getType().getRequiredEnd() + " #### " + ci.getType()); if (ci.getType().equals(bi.getType().getRequiredEnd())) { model.addElement(ci); } } } } JComboBox comboBox = new JComboBox(model); panel.add(comboBox); int result = JOptionPane.showConfirmDialog(null, panel, "RequiredPort", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); switch (result) { case JOptionPane.OK_OPTION: bi.setRequiredEnd((RequiredPortInstance) comboBox.getSelectedItem()); return ((RequiredPortInstance) comboBox.getSelectedItem()).getOwner().getName(); } return ""; }
@Override public Void applyTo(Deployment deployment) { if (!clientPort.isBound()) { final Relationship bindingType = getLibrary().findRelationshipFor(deployment, clientPort); final String name = getLibrary().createUniqueRelationshipInstanceName(deployment, bindingType); final ProvidedPortInstance serverPort = getLibrary().findProvidedPortFor(deployment, bindingType); if(bindingType == null){ throw new IllegalStateException("No type of relationship found for the client port: "+clientPort.getQualifiedName()); } if(serverPort == null){ throw new IllegalStateException("No Server port for the client port: "+clientPort.getQualifiedName()); } aRelationshipInstance() .named(name) .from(clientPort.getOwner().getName(), clientPort.getType().getName()) .to(serverPort.getOwner().getName(), serverPort.getType().getName()) .ofType(bindingType.getName()) .integrateIn(deployment); } return NOTHING; }
private String escapePortInstanceName(PortInstance portInstance) { return String.format("%s_%s", portInstance.getOwner().getName(), portInstance.getName()); }
public String calculateExecutionPlatformIdentifier(ExecutionPlatformInstance<? extends ExecutionPlatform> epi) { return String.format("%s-%s", epi.getOwner().get().getName(), epi.getName()); }
@Override public Deployment getDeployment() { return owner.get(); }
@Override public Deployment getDeployment() { return getOwner().get(); }
@Override public Deployment getDeployment() { return getOwner().get(); }
@Override public Deployment getDeployment() { return getOwner().get().getDeployment(); }
@Override public boolean remove(Object o) { if (o instanceof Component) { final Component component = (Component) o; if (component.isUsed()) { final String error = String.format("Unable to remove the component '%s' as it is still in use!", component.getQualifiedName()); throw new IllegalStateException(error); } component.getOwner().discard(); } return super.remove(o); } }
@Override public boolean remove(Object o) { if (o instanceof Provider) { final Provider provider = (Provider) o; if (provider.isUsed()) { final String error = String.format("Unable to remove provider '5s' as it is still in use", provider.getName()); throw new IllegalStateException(error); } provider.getOwner().discard(); } return super.remove(o); } }
@Override public String getQualifiedName() { return String.format("%s%s%s", getOwner().getName(), CONTAINED, getName()); }
public ExecutionPlatform(String name) { super(name); this.owner = new OptionalOwner<Component>(); }
@Override public final Deployment getDeployment() { return getOwner().get().getDeployment(); }
@Override public Deployment getDeployment() { return getOwner().get(); }
@Override public Deployment getDeployment() { return getOwner().get().getDeployment(); }