private void validateRequiredEnd(Report report) { if (!requiredEnd.getType().equals(type.getRequiredEnd())) { final String message = String.format( "illegal relationship '%s' instance that does not match its type (required port found '%s' but expected '%s')", getName(), requiredEnd.getType().getName(), type.getRequiredEnd().getName()); report.addError(message); } }
private RequiredPortInstance createClientPort() { return new RequiredPortInstance(clientPort, new RequiredPort("required port type")); }
@Override public boolean remove(Object o) { if (o instanceof RequiredPort) { RequiredPort port = (RequiredPort) o; port.getOwner().discard(); } return super.remove(o); //To change body of generated methods, choose Tools | Templates. }
public void convertAndAddRequiredPorts(List<RequiredPort> ports, net.cloudml.core.InternalComponent kic) { checkNull(ports, "Cannot iterate on null!"); for (RequiredPort rp: ports) { checkNull(rp, "cannot convert null!"); net.cloudml.core.RequiredPort krp = factory.createRequiredPort(); krp.setName(rp.getName()); convertProperties(rp, krp, factory); krp.setPortNumber(rp.getPortNumber()); krp.setIsLocal(rp.isLocal()); krp.setIsMandatory(rp.isMandatory()); kic.addRequiredPorts(krp); krp.setComponent(kic); requiredPorts.put(calculatePortIdentifier(rp), krp); } assert requiredPorts.size() >= ports.size(); assert kic.getRequiredPorts().size() == ports.size(); }
@Override public void validate(Report report) { if (requiredEnd != null && providedEnd != null) { if (requiredEnd.isLocal() && providedEnd.isRemote()) { final String message = String.format( "Illegal relationship (%s) between a local client (%s) and a remote server (%s)", getName(), requiredEnd.getQualifiedName(), providedEnd.getQualifiedName() ); report.addError(message); } if (requiredEnd.isRemote() && providedEnd.isLocal()) { final String message = String.format( "Illegal relationship (%s) between a remote client (%s) and a local server (%s)", getName(), requiredEnd.getQualifiedName(), providedEnd.getQualifiedName()); report.addError(message); } } }
public void convertAndAddRequiredPortsToPOJO(List<net.cloudml.core.RequiredPort> rps, InternalComponent ic) { for (net.cloudml.core.RequiredPort krp: rps) { RequiredPort rp = new RequiredPort(krp.getName(), krp.getIsLocal(), !krp.getIsMandatory()); rp.getOwner().set(ic); convertProperties(krp, rp); rp.setPortNumber(krp.getPortNumber()); ic.getRequiredPorts().add(rp); requiredPorts.put(calculatePortIdentifier(krp), rp); } if (!(requiredPorts.size() >= rps.size())) { throw new IllegalArgumentException("All required ports have not been cloned!"); } assert ic.getRequiredPorts().size() == rps.size(); }
public RequiredPortInstance ofType(RequiredPort type) { for (RequiredPortInstance port: this) { if (port.getType().equals(type)) { return port; } } return null; }
public void integrateIn(InternalComponent container) { RequiredPort result = new RequiredPort(getName(), isLocal(), optional); prepare(result); result.getOwner().set(container); container.getRequiredPorts().add(result); } }
public RequiredPortInstance withTypeNamed(String name){ for (RequiredPortInstance port: this) { if (port.getType().getName().equals(name)) { return port; } } return null; }
private void unconfigureRelationship(RelationshipInstance b) { if (!b.getRequiredEnd().getType().isLocal()) { RequiredPortInstance client = b.getRequiredEnd(); ProvidedPortInstance server = b.getProvidedEnd(); Resource clientResource = b.getType().getClientResource(); Resource serverResource = b.getType().getServerResource(); //client resources unconfigureWithIP(clientResource, client); //server resources unconfigureWithIP(serverResource, server); } }
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); } }
ExternalComponentInstance<ExternalComponent> exclienti = ((ExternalComponentInstance) clienti); ipAddress = exclienti.getPublicAddress(); port = String.valueOf(bi.getRequiredEnd().getType().getPortNumber()); port = String.valueOf(bi.getRequiredEnd().getType().getPortNumber()); coordinator.updateStatus(serveri.getName(), ComponentInstance.State.RUNNING, CloudAppDeployer.class.getName()); else if (bi.getRequiredEnd().getType().isRemote()) { RequiredPortInstance client = bi.getRequiredEnd(); ProvidedPortInstance server = bi.getProvidedEnd();
@Override public String toString() { return "ClientTypePort " + getQualifiedName(); } }
private boolean isRelevant(RequiredPortInstance requiredPort, Relationship relationship) { return relationship.getRequiredEnd().equals(requiredPort.getType()) && !isExcluded(relationship); }
@Override public boolean equals(Object other) { if (other == null) { return false; } if (other instanceof Relationship) { Relationship relationship = (Relationship) other; return (requiredEnd.getName().equals(relationship.getRequiredEnd().getName()) && providedEnd.getName().equals(relationship.getProvidedEnd().getName())); } return false; } }
/** * Find the destination of an ComponentInstance * * @param a an instance of component * @return a VMInstance */ private ExternalComponentInstance findDestinationWhenNoRequiredExecutionPlatformSpecified(InternalComponentInstance a) { if (getDestination(a) != null) { return getDestination(a); } else { for (RelationshipInstance b : currentModel.getRelationshipInstances()) { if (a.getRequiredPorts().contains(b.getRequiredEnd()) && b.getRequiredEnd().getType().isLocal()) { return getDestination(b.getProvidedEnd().getOwner().get()); } if (a.getProvidedPorts().contains(b.getProvidedEnd()) && b.getProvidedEnd().getType().isLocal()) { return getDestination(b.getRequiredEnd().getOwner().get()); } } return null; } }
if (bi.getRequiredEnd().getType().isMandatory() && x.getRequiredPorts().contains(bi.getRequiredEnd())) { final ComponentInstance<? extends Component> serverComponent = bi.getServerComponent(); if( getDestination(serverComponent).isVM()){
@Override protected void handleLackOfCandidate(Deployment deployment, List<Relationship> candidates) { final String message = String.format( "Unable to find any relevant relationship type for client port '%s' of type '%s'", requiredPort.getQualifiedName(), requiredPort.getType().getQualifiedName()); throw new IllegalStateException(message); }
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 RequiredPortInstance instantiate() { return new RequiredPortInstance(ModelUtils.generateUniqueName(getName()), this); }