@Override protected void handleLackOfCandidate(Deployment deployment, List<InternalComponent> candidates) { final String string = String.format( "Unable to find a component type matching the provided end of relationship type '%s' (port '%s')", relationshipType.getName(), relationshipType.getProvidedEnd().getQualifiedName()); throw new IllegalStateException(string); }
private boolean isCandidate(InternalComponent component) { return component.getProvidedPorts().contains(relationshipType.getProvidedEnd()); }
private boolean isCandidate(Relationship bindingType, ProvidedPortInstance serverPort) { return bindingType.getProvidedEnd().equals(serverPort.getType()); }
@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; } }
private void validateProvidedEnd(Report report) { if (!providedEnd.getType().equals(type.getProvidedEnd())) { final String message = String.format( "illegal relationship instance '%s' that does not match its type (provided port found '%s' but expected '%s')", getName(), providedEnd.getType().getQualifiedName(), type.getProvidedEnd().getQualifiedName()); report.addError(message); } }
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 ""; } }
@Override protected void handleLackOfCandidate(Deployment deployment, List<ProvidedPortInstance> candidates) { final Component component = getLibrary().findComponentProviding(deployment, bindingType); final ComponentInstance<? extends Component> instance = getLibrary().provision(deployment, component); final ProvidedPortInstance serverPort = instance.getProvidedPorts().withTypeNamed(bindingType.getProvidedEnd().getName()); candidates.add(serverPort); }
/** * Find all the component that can be used as service providers for the * given required port * * @param requiredPort the port for which a provider is needed * @return the list of candidates service providers */ private List<ComponentInstance<?>> findAllCandidateProviders(RequiredPortInstance requiredPort) { assert requiredPort != null: "Unable to find service providers for 'null'"; final List<ComponentInstance<?>> candidates = new LinkedList<ComponentInstance<?>>(); final Deployment deployment = requiredPort.getDeployment(); for (Relationship eachRelationship: deployment.getRelationships()) { if (eachRelationship.getRequiredEnd().equals(requiredPort.getType())) { final ProvidedPort serverType = eachRelationship.getProvidedEnd(); for (ComponentInstance<?> eachComponent: deployment.getComponentInstances()) { if (eachComponent.getType().canProvide(serverType)) { candidates.add(eachComponent); } } } } return candidates; }
assert krelationship.getRequiredPort() != null; ProvidedPort pp = relationship.getProvidedEnd(); checkValidPort(pp); krelationship.setProvidedPort(providedPorts.get(calculatePortIdentifier(pp)));