You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2010/04/08 14:21:20 UTC
svn commit: r931904 - in /tuscany/sca-java-2.x/trunk/modules:
core-spi/src/main/java/org/apache/tuscany/sca/context/
core-spi/src/main/java/org/apache/tuscany/sca/runtime/ core/META-INF/
core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/ node...
Author: slaws
Date: Thu Apr 8 12:21:20 2010
New Revision: 931904
URL: http://svn.apache.org/viewvc?rev=931904&view=rev
Log:
TUSCANY-3529 - update binding matching to turn on code that looks at binding type provided intents
Modified:
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/CompositeContext.java
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeEndpoint.java
tuscany/sca-java-2.x/trunk/modules/core/META-INF/MANIFEST.MF
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java
Modified: tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/CompositeContext.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/CompositeContext.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/CompositeContext.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/CompositeContext.java Thu Apr 8 12:21:20 2010
@@ -23,6 +23,7 @@ import org.apache.tuscany.sca.assembly.C
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.invocation.Message;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
@@ -41,8 +42,9 @@ public class CompositeContext {
protected Composite domainComposite;
protected String nodeURI;
protected String domainURI;
+ protected Definitions systemDefinitions;
- public CompositeContext(ExtensionPointRegistry registry, EndpointRegistry endpointRegistry, Composite domainComposite, String domainURI, String nodeURI) {
+ public CompositeContext(ExtensionPointRegistry registry, EndpointRegistry endpointRegistry, Composite domainComposite, String domainURI, String nodeURI, Definitions systemDefinitions) {
this.extensionPointRegistry = registry;
this.endpointRegistry = endpointRegistry;
ContextFactoryExtensionPoint contextFactories = registry.getExtensionPoint(ContextFactoryExtensionPoint.class);
@@ -50,10 +52,11 @@ public class CompositeContext {
this.domainComposite = domainComposite;
this.domainURI = domainURI;
this.nodeURI = nodeURI;
+ this.systemDefinitions = systemDefinitions;
}
public CompositeContext(ExtensionPointRegistry registry, EndpointRegistry endpointRegistry) {
- this(registry, endpointRegistry, null, "default", "default");
+ this(registry, endpointRegistry, null, "default", "default", null);
}
/**
@@ -136,4 +139,14 @@ public class CompositeContext {
public String getDomainURI() {
return domainURI;
}
+
+ /**
+ * The system definitions that result from starting the runtime.
+ * TODO - these can be null when the SCAClient starts the runtime
+ *
+ * @return systemDefinitions
+ */
+ public Definitions getSystemDefinitions() {
+ return systemDefinitions;
+ }
}
Modified: tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeEndpoint.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeEndpoint.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeEndpoint.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeEndpoint.java Thu Apr 8 12:21:20 2010
@@ -22,6 +22,7 @@ package org.apache.tuscany.sca.runtime;
import java.io.Serializable;
import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.context.CompositeContext;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.provider.ServiceBindingProvider;
@@ -55,4 +56,11 @@ public interface RuntimeEndpoint extends
* @return The target component type service interface contract
*/
InterfaceContract getComponentTypeServiceInterfaceContract();
+
+ /**
+ * Get the composite context for the composite that contains this endpoint. This
+ * is useful for accessing various composite level objects from within the
+ * runtime code
+ */
+ CompositeContext getCompositeContext();
}
Modified: tuscany/sca-java-2.x/trunk/modules/core/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/META-INF/MANIFEST.MF?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/META-INF/MANIFEST.MF (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/META-INF/MANIFEST.MF Thu Apr 8 12:21:20 2010
@@ -47,6 +47,7 @@ Import-Package: javax.security.auth,
org.apache.tuscany.sca.core.factory;version="2.0.0",
org.apache.tuscany.sca.core.invocation;version="2.0.0",
org.apache.tuscany.sca.core.scope;version="2.0.0",
+ org.apache.tuscany.sca.definitions;version="2.0.0",
org.apache.tuscany.sca.extensibility;version="2.0.0",
org.apache.tuscany.sca.interfacedef;version="2.0.0",
org.apache.tuscany.sca.interfacedef.impl;version="2.0.0";resolution:=optional,
Modified: tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java Thu Apr 8 12:21:20 2010
@@ -40,15 +40,19 @@ import org.apache.tuscany.sca.assembly.b
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.core.assembly.impl.RuntimeEndpointImpl;
+import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.policy.BindingType;
import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.IntentMap;
import org.apache.tuscany.sca.policy.PolicySet;
import org.apache.tuscany.sca.policy.Qualifier;
import org.apache.tuscany.sca.runtime.EndpointReferenceBinder;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
+import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
import org.oasisopen.sca.ServiceRuntimeException;
/**
@@ -482,18 +486,26 @@ public class EndpointReferenceBinderImpl
List<Intent> eprIntents = new ArrayList<Intent>();
eprIntents.addAll(endpointReference.getRequiredIntents());
+ // TODO - seems that we should do this loop on a binding by binding basis
+ // rather than each time we do matching
+ BindingType bindingType = null;
+ Definitions systemDefinitions = ((RuntimeEndpoint)endpoint).getCompositeContext().getSystemDefinitions();
+ for (BindingType loopBindingType : systemDefinitions.getBindingTypes()){
+ if (loopBindingType.getType().equals(binding.getType())){
+ bindingType = loopBindingType;
+ break;
+ }
+ }
+
// first check the binding type
- for (Intent intent : endpointReference.getRequiredIntents()){
-/* TODO
- BindingType bindingType = null; //TODO - where to get this?
-
- if (bindingType.getAlwaysProvidedIntents().contains(intent)){
+ for (Intent intent : endpointReference.getRequiredIntents()){
+ if (bindingType != null &&
+ bindingType.getAlwaysProvidedIntents().contains(intent)){
eprIntents.remove(intent);
- } else if (bindingType.getMayProvidedIntents().contains(intent)){
+ } else if (bindingType != null &&
+ bindingType.getMayProvidedIntents().contains(intent)){
eprIntents.remove(intent);
} else {
-
-*/
// TODO - this code also appears in the ComponentPolicyBuilder
// so should rationalize
loop: for (PolicySet policySet : referencePolicySets){
@@ -517,11 +529,8 @@ public class EndpointReferenceBinderImpl
}
}
}
- }
-
-/*
+ }
}
- */
}
// if there are unresolved intents the service and reference don't match
Modified: tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java Thu Apr 8 12:21:20 2010
@@ -471,4 +471,14 @@ public class NodeFactoryImpl extends Nod
super.configure(attributes);
}
+ /**
+ * Added to allow the node access to the deployer in order to get
+ * to the systemContribution and hence set up the CompositeContext so that
+ * the runtime epr matching algorithm can get at the binding types
+ * @return
+ */
+ public Deployer getDeployer() {
+ return deployer;
+ }
+
}
Modified: tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java Thu Apr 8 12:21:20 2010
@@ -128,8 +128,13 @@ public class NodeImpl implements Node {
domainComposite = manager.configureNode(configuration, contributions, context);
this.compositeContext =
- new CompositeContext(manager.registry, endpointRegistry, domainComposite, configuration
- .getDomainURI(), configuration.getURI());
+ new CompositeContext(manager.registry,
+ endpointRegistry,
+ domainComposite,
+ configuration.getDomainURI(),
+ configuration.getURI(),
+ manager.getDeployer().getSystemDefinitions());
+
CompositeContext.setThreadCompositeContext(compositeContext);
} finally {
// Reset the thread context monitor
Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java Thu Apr 8 12:21:20 2010
@@ -93,8 +93,14 @@ public class SCAClientFactoryImpl extend
this.proxyFactory = ExtensibleProxyFactory.getInstance(extensionsRegistry);
String client = "sca.client." + UUID.randomUUID();
+
this.compositeContext =
- new CompositeContext(extensionsRegistry, endpointRegistry, null, domainURI.toString(), client);
+ new CompositeContext(extensionsRegistry,
+ endpointRegistry,
+ null,
+ domainURI.toString(),
+ client,
+ this.nodeFactory.getDeployer().getSystemDefinitions());
}
@Override
Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java?rev=931904&r1=931903&r2=931904&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java Thu Apr 8 12:21:20 2010
@@ -91,7 +91,7 @@ public class SCAClientHandler implements
String client = "sca.client." + UUID.randomUUID();
CompositeContext compositeContext =
- new CompositeContext(extensionsRegistry, endpointRegistry, null, domainURI.toString(), client);
+ new CompositeContext(extensionsRegistry, endpointRegistry, null, domainURI.toString(), client, null);
List<Endpoint> eps = endpointRegistry.findEndpoint(serviceName);
if (eps == null || eps.size() < 1) {