diff options
author | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2011-12-04 18:10:28 +0000 |
---|---|---|
committer | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2011-12-04 18:10:28 +0000 |
commit | d7e5b6bef7f0ea0f062a0b715fdf4281ca65bcd5 (patch) | |
tree | d317d71fc9d49fd867d7802a57ca26c7818ffda1 /sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java | |
parent | d505f2c08f09cb2feaa3c7be5f55cc05f0556c93 (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.java | 29 |
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) { |