monitor.pushContext("Composite: " + composite.getName().toString()); for (Component component : composite.getComponents()) { for (Composite included : composite.getIncludes()) { if (included.isLocal() && !composite.isLocal()) { .getName().toString(), included.getName().toString()); return null; for (Component component : merged.getComponents()) { if (component.getAutowire() == null && Boolean.TRUE.equals(merged.getAutowire())) { component.setAutowire(Boolean.TRUE); component.getRequiredIntents().addAll(merged.getRequiredIntents()); component.getPolicySets().addAll(merged.getPolicySets()); for (Service service : merged.getServices()) { service.getRequiredIntents().addAll(merged.getRequiredIntents()); service.getPolicySets().addAll(merged.getPolicySets()); for (Reference reference : merged.getReferences()) { reference.getRequiredIntents().addAll(merged.getRequiredIntents()); reference.getPolicySets().addAll(merged.getPolicySets()); composite.getComponents().addAll(merged.getComponents()); composite.getServices().addAll(merged.getServices()); composite.getReferences().addAll(merged.getReferences());
protected String addDeploymentComposite(ContributionDescription cd, Composite composite) { if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, "addDeploymentComposite" + Arrays.asList(new Object[]{cd, composite})); } if (composite.getURI() == null || composite.getURI().length() < 1) { composite.setURI(composite.getName().getLocalPart() + ".composite"); } composite.setContributionURI(cd.getURI()); cd.getAdditionalDeployables().put(composite.getURI(), Utils.modelToXML(composite, false, extensionPointRegistry)); domainRegistry.updateInstalledContribution(cd); if (logger.isLoggable(quietLogging? Level.FINE : Level.INFO)) logger.log(quietLogging? Level.FINE : Level.INFO, "addDeploymentComposite: " + composite.getURI()); return composite.getURI(); }
public Composite getDomainComposite() { FactoryExtensionPoint factories = registry.getExtensionPoint(FactoryExtensionPoint.class); AssemblyFactory assemblyFactory = factories.getFactory(AssemblyFactory.class); Composite domainComposite = assemblyFactory.createComposite(); domainComposite.setName(new QName(Base.SCA11_TUSCANY_NS, getDomainName())); domainComposite.setAutowire(false); domainComposite.setLocal(false); List<Composite> domainIncludes = domainComposite.getIncludes(); Map<String, List<String>> runningCompositeURIs = getRunningCompositeURIs(); for (String curi : runningCompositeURIs.keySet()) { for (String compositeURI : runningCompositeURIs.get(curi)) { domainIncludes.add(getRunningComposite(curi, compositeURI)); } } return domainComposite; }
private void cloneIncludes(Composite composite) { List<Composite> includes = new ArrayList<Composite>(); for (Composite included : composite.getIncludes()) { try { includes.add((Composite)included.clone()); } catch (CloneNotSupportedException e) { throw new UnsupportedOperationException(e); } } composite.getIncludes().clear(); composite.getIncludes().addAll(includes); }
public void stop(CompositeContext compositeContext, Composite composite) { if (logger.isLoggable(Level.FINE)) { logger.fine("Stopping composite: " + composite.getName()); } for (final Component component : composite.getComponents()) { stop(compositeContext, component); } }
composite.setSpecVersion(Constants.SCA11_NS); if (contribution != null) { composite.setContributionURI(contribution.getURI()); composite.setName(new QName(getURIString(reader, TARGET_NAMESPACE), getString(reader, NAME))); warning(monitor, "NoCompositeNamespace", composite, composite.getName().toString()); composite.setAutowire(getBoolean(reader, AUTOWIRE)); composite.setLocal(getBoolean(reader, LOCAL)); policyProcessor.readPolicies(composite, reader); include.setName(getQName(reader, NAME)); include.setURI(getURIString(reader, URI)); include.setUnresolved(true); composite.getIncludes().add(include); composite.getServices().add(compositeService); policyProcessor.readPolicies(contract, reader); composite.getReferences().add(compositeReference); policyProcessor.readPolicies(contract, reader); composite.getProperties().add(property); composite.getComponents().add(component); policyProcessor.readPolicies(component, reader);
new XAttr(TARGET_NAMESPACE, composite.getName().getNamespaceURI()), new XAttr(NAME, composite.getName().getLocalPart()), new XAttr(LOCAL, composite.isLocal() ? Boolean.TRUE : null), new XAttr(AUTOWIRE, composite.getAutowire()), policyProcessor.writePolicies(composite)); for (Composite include : composite.getIncludes()) { String uri = include.isUnresolved() ? include.getURI() : null; writeStart(writer, INCLUDE, new XAttr(NAME, include.getName()), new XAttr(URI, uri)); for (Service service : composite.getServices()) { CompositeService compositeService = (CompositeService)service; Component promotedComponent = compositeService.getPromotedComponent(); for (Component component : composite.getComponents()) { writeStart(writer, COMPONENT, writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME, ((Composite)implementation).getName()), policyProcessor.writePolicies(implementation)); for (Reference reference : composite.getReferences()) { CompositeReference compositeReference = (CompositeReference)reference; for (Property property : composite.getProperties()) { writeStart(writer, PROPERTY, for (Wire wire : composite.getWires()) { writeStart(writer, WIRE, new XAttr(SOURCE, wire.getSource().getName()), new XAttr(TARGET, wire.getTarget()
monitor.pushContext("Composite: " + composite.getName()); for (int i = 0, n = composite.getIncludes().size(); i < n; i++) { Composite include = composite.getIncludes().get(i); if (include != null) { Composite resolved = resolver.resolveModel(Composite.class, include, context); if (!resolved.isUnresolved()) { if ((composite.isLocal() && resolved.isLocal()) || (!composite.isLocal() && !resolved.isLocal())) { composite.getIncludes().set(i, resolved); } else { String message = context.getMonitor().getMessageString(CompositeProcessor.class.getName(), Messages.RESOURCE_BUNDLE, "LocalAttibuteMissmatch"); message = message.replace("{0}", composite.getName().toString()); ContributionResolveException ce = new ContributionResolveException(message); error(monitor, "ContributionResolveException", include, ce); Messages.RESOURCE_BUNDLE, "CompositeNotFound"); message = message.replace("{0}", include.getName().toString()); ContributionResolveException ce = new ContributionResolveException(message); error(monitor, "ContributionResolveException", include, ce); for (Object extension : composite.getExtensions()) { if (extension != null) { extensionProcessor.resolve(extension, resolver, context); resolveContracts(composite, composite.getServices(), resolver, context); resolveContracts(composite, composite.getReferences(), resolver, context);
builtComposite.setName(composite.getName()); builtComposite.setURI(composite.getURI()); builtComposite.setContributionURI(composite.getContributionURI());
private Composite wrap(EndpointReference endpointReference) { try { Composite composite = assemblyFactory.createComposite(); composite.setName(ENDPOINT_REFERENCE_QNAME); composite.setLocal(false); Component component = (Component)endpointReference.getComponent().clone(); composite.getComponents().add(component); component.getReferences().clear(); component.getServices().clear(); ComponentReference reference = (ComponentReference)endpointReference.getReference().clone(); component.getReferences().add(reference); reference.getBindings().clear(); Binding binding = (Binding)endpointReference.getBinding().clone(); reference.getBindings().add(binding); //reference.setInterfaceContract(endpointReference.getInterfaceContract()); if (endpointReference.getStatus() != EndpointReference.Status.RESOLVED_BINDING){ ComponentService service = assemblyFactory.createComponentService(); service.setName(endpointReference.getTargetEndpoint().getURI()); reference.getTargets().clear(); reference.getTargets().add(service); } return composite; } catch (CloneNotSupportedException e) { return null; } }
public Object removeModel(Object resolved, ProcessorContext context) { return map.remove(((Composite)resolved).getName()); }
Monitor monitor) throws CompositeBuilderException { monitor.pushContext("Composite: " + composite.getName().toString()); try { for (Service service : composite.getServices()) { constructBindingNames(service, monitor); for (Reference reference : composite.getReferences()) { constructBindingNames(reference, monitor); for (Component component : composite.getComponents()) {
monitor.pushContext("Composite: " + composite.getName().toString()); for (Component component : composite.getComponents()) { if (component != composite.getComponent(component.getName())) { Monitor.error(monitor, this, Messages.ASSEMBLY_VALIDATION, "DuplicateComponentName", composite.getName().toString(), component.getName()); component.setAutowire(composite.getAutowire());
monitor.pushContext("Composite: " + composite.getName().toString()); if ( composite.getPolicySets().isEmpty() ) { for (Component component : composite.getComponents()) { if ( component.getPolicySets().isEmpty() ) { Implementation impl = component.getImplementation();
/** * Get the service endpoints in this Node * TODO: needs review, works for the very simple testcase but i expect there are * other endpoints to be included */ public List<Endpoint> getServiceEndpoints() { List<Endpoint> endpoints = new ArrayList<Endpoint>(); if (compositeActivator != null) { if (domainComposite != null) { for (Component component : domainComposite.getComponents()) { for (Service service : component.getServices()) { // MJE 28/05/2009 - changed to RuntimeComponentService from RuntimeComponentServiceImpl // - no need to access the Impl directly here if (service instanceof RuntimeComponentService) { endpoints.addAll(((RuntimeComponentService)service).getEndpoints()); } } } } } return endpoints; }
for (Reference reference : composite.getReferences()) { CompositeReference compositeReference = (CompositeReference)reference; if (compositeReference.getPromotedReferences().contains(componentReference)) { Messages.ASSEMBLY_VALIDATION, "ReferenceWithoutTargets", composite.getName().toString(), componentReference.getName());
public String getURI() { return composite.getURI(); }
protected boolean compositeUses(Composite c, String contributionURI, String compositeURI) { if (contributionURI.equals(c.getContributionURI()) && compositeURI.equals(c.getURI())) { return true; } for (Composite include : ((CompositeImpl)c).getFusedIncludes()) { if (compositeUses(include, contributionURI, compositeURI)) { return true; } } for (Component comp : c.getComponents()) { if (comp.getImplementation() instanceof Composite) { if (compositeUses((Composite)comp.getImplementation(), contributionURI, compositeURI)) { return true; } } } return false; } }
domainComposite.setName(Composite.DOMAIN_COMPOSITE); domainComposite.setURI(Base.SCA11_NS); composite = (Composite)composite.clone(); } catch (CloneNotSupportedException ex){ domainComposite.getIncludes().add(composite);
public Composite build(Composite composite, BuilderContext context) throws CompositeBuilderException { if (Composite.DOMAIN_COMPOSITE.equals(composite.getName())) { // Try to avoid clone for top-level composites that are added to the domain composite for (Composite included : composite.getIncludes()) { cloneIncludes(included); cloneCompositeImplementations(included); } } else { // Clone the includes cloneIncludes(composite); cloneCompositeImplementations(composite); } return composite; }