summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
diff options
context:
space:
mode:
authornash <nash@13f79535-47bb-0310-9956-ffa450edef68>2011-12-04 18:10:28 +0000
committernash <nash@13f79535-47bb-0310-9956-ffa450edef68>2011-12-04 18:10:28 +0000
commitd7e5b6bef7f0ea0f062a0b715fdf4281ca65bcd5 (patch)
treed317d71fc9d49fd867d7802a57ca26c7818ffda1 /sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
parentd505f2c08f09cb2feaa3c7be5f55cc05f0556c93 (diff)
TUSCANY-3984: Support binding.ws, interface.wsdl and policySets for serialized service references
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1210165 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java')
-rw-r--r--sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java b/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
index 78b0887482..5a93a4d67b 100644
--- a/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
+++ b/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
@@ -45,6 +45,7 @@ import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.assembly.CompositeActivator;
import org.apache.tuscany.sca.core.invocation.ThreadMessageContext;
import org.apache.tuscany.sca.interfacedef.Interface;
@@ -260,6 +261,34 @@ public class ComponentContextHelper {
return read(streamReader);
}
+ public void resolveInterfaceContract(InterfaceContract interfaceContract, ModelResolver resolver) throws Exception {
+ StAXArtifactProcessor processor = staxProcessors.getProcessor(interfaceContract.getClass());
+ processor.resolve(interfaceContract, resolver);
+ }
+
+ public void resolveBinding(Binding binding, ModelResolver resolver) throws Exception {
+ StAXArtifactProcessor processor = staxProcessors.getProcessor(binding.getClass());
+ processor.resolve(binding, resolver);
+ }
+
+ public Reference createReference(Class<?> businessInterface) throws InvalidInterfaceException {
+ InterfaceContract interfaceContract = createJavaInterfaceContract(businessInterface);
+ Reference reference = assemblyFactory.createReference();
+ reference.setInterfaceContract(interfaceContract);
+ return reference;
+ }
+
+ private InterfaceContract createJavaInterfaceContract(Class<?> businessInterface) throws InvalidInterfaceException {
+ InterfaceContract interfaceContract = javaInterfaceFactory.createJavaInterfaceContract();
+ JavaInterface callInterface = javaInterfaceFactory.createJavaInterface(businessInterface);
+ interfaceContract.setInterface(callInterface);
+ if (callInterface.getCallbackClass() != null) {
+ interfaceContract.setCallbackInterface(javaInterfaceFactory.createJavaInterface(
+ callInterface.getCallbackClass()));
+ }
+ return interfaceContract;
+ }
+
public static RuntimeComponent getCurrentComponent() {
Message message = ThreadMessageContext.getMessageContext();
if (message != null) {