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/01/20 17:00:10 UTC
svn commit: r901251 - in /tuscany/sca-java-2.x/trunk/modules:
interface-java/META-INF/
interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/
interface-java/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/
interface-...
Author: slaws
Date: Wed Jan 20 16:00:09 2010
New Revision: 901251
URL: http://svn.apache.org/viewvc?rev=901251&view=rev
Log:
TUSCANY-3426 read/write/resolve requires and policySets attributes that appear in interface.java and interface.wsdl elements.
Modified:
tuscany/sca-java-2.x/trunk/modules/interface-java/META-INF/MANIFEST.MF
tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java
tuscany/sca-java-2.x/trunk/modules/interface-java/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite
tuscany/sca-java-2.x/trunk/modules/interface-wsdl/META-INF/MANIFEST.MF
tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java
tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java/META-INF/MANIFEST.MF?rev=901251&r1=901250&r2=901251&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java/META-INF/MANIFEST.MF (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java/META-INF/MANIFEST.MF Wed Jan 20 16:00:09 2010
@@ -22,6 +22,7 @@
Import-Package: javax.xml.namespace,
javax.xml.stream,
org.apache.tuscany.sca.assembly;version="2.0.0",
+ org.apache.tuscany.sca.assembly.xml;version="2.0.0",
org.apache.tuscany.sca.contribution.processor;version="2.0.0",
org.apache.tuscany.sca.contribution.resolver;version="2.0.0",
org.apache.tuscany.sca.core;version="2.0.0",
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java?rev=901251&r1=901250&r2=901251&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java Wed Jan 20 16:00:09 2010
@@ -32,6 +32,7 @@
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.tuscany.sca.assembly.xml.PolicySubjectProcessor;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
@@ -39,6 +40,7 @@
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ClassReference;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
@@ -47,6 +49,7 @@
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
+import org.apache.tuscany.sca.policy.PolicyFactory;
import org.oasisopen.sca.annotation.AllowsPassByReference;
import org.oasisopen.sca.annotation.Callback;
import org.oasisopen.sca.annotation.ComponentName;
@@ -68,10 +71,17 @@
*/
public class JavaInterfaceProcessor implements StAXArtifactProcessor<JavaInterfaceContract>, JavaConstants {
private static final String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200912";
- private JavaInterfaceFactory javaFactory;
-
- public JavaInterfaceProcessor(FactoryExtensionPoint modelFactories) {
+ private JavaInterfaceFactory javaFactory;
+ private ExtensionPointRegistry extensionPoints;
+ private PolicyFactory policyFactory;
+ private PolicySubjectProcessor policyProcessor;
+
+ public JavaInterfaceProcessor(ExtensionPointRegistry extensionPoints) {
+ this.extensionPoints = extensionPoints;
+ FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
+ this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
+ this.policyProcessor = new PolicySubjectProcessor(policyFactory);
this.javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
}
@@ -142,8 +152,10 @@
if (remotable != null) {
javaInterfaceContract.getInterface().setRemotable(Boolean.parseBoolean(remotable));
}
-
+ // Read intents and policy sets
+ policyProcessor.readPolicies(javaInterfaceContract.getInterface(), reader);
+
// Skip to end element
while (reader.hasNext()) {
if (reader.next() == END_ELEMENT && INTERFACE_JAVA_QNAME.equals(reader.getName())) {
@@ -168,6 +180,8 @@
writer.writeAttribute(CALLBACK_INTERFACE, javaCallbackInterface.getName());
}
+ policyProcessor.writePolicyAttributes(javaInterface, writer);
+
writer.writeEndElement();
}
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite?rev=901251&r1=901250&r2=901251&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite Wed Jan 20 16:00:09 2010
@@ -23,7 +23,7 @@
name="Calculator">
<service name="CalculatorService" promote="CalculatorServiceComponent">
- <interface.java interface="calculator.CalculatorService"/>
+ <interface.java interface="calculator.CalculatorService" requires="calc:intent1" policySets="calc:policySet1" />
</service>
<component name="CalculatorServiceComponent">
Modified: tuscany/sca-java-2.x/trunk/modules/interface-wsdl/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-wsdl/META-INF/MANIFEST.MF?rev=901251&r1=901250&r2=901251&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-wsdl/META-INF/MANIFEST.MF (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-wsdl/META-INF/MANIFEST.MF Wed Jan 20 16:00:09 2010
@@ -21,6 +21,7 @@
javax.xml.namespace,
javax.xml.stream,
org.apache.tuscany.sca.assembly;version="2.0.0",
+ org.apache.tuscany.sca.assembly.xml;version="2.0.0",
org.apache.tuscany.sca.common.java.io;version="2.0.0",
org.apache.tuscany.sca.common.xml;version="2.0.0",
org.apache.tuscany.sca.common.xml.stax;version="2.0.0",
Modified: tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java?rev=901251&r1=901250&r2=901251&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java Wed Jan 20 16:00:09 2010
@@ -27,6 +27,7 @@
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.tuscany.sca.assembly.xml.PolicySubjectProcessor;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
@@ -38,6 +39,7 @@
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
@@ -46,6 +48,7 @@
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
+import org.apache.tuscany.sca.policy.PolicyFactory;
/**
* Handles a <interface.wsdl ... /> element in a SCDL file
@@ -54,8 +57,9 @@
public class WSDLInterfaceProcessor implements StAXArtifactProcessor<WSDLInterfaceContract>, WSDLConstants {
private WSDLFactory wsdlFactory;
-
private InterfaceContractMapper interfaceContractMapper;
+ private PolicyFactory policyFactory;
+ private PolicySubjectProcessor policyProcessor;
public WSDLInterfaceProcessor(ExtensionPointRegistry registry) {
FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
@@ -63,6 +67,9 @@
registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(InterfaceContractMapper.class);
this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
+
+ this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
+ this.policyProcessor = new PolicySubjectProcessor(policyFactory);
}
/**
* Report a warning.
@@ -195,6 +202,9 @@
((WSDLInterface)wsdlInterfaceContract.getInterface()).getName().toString(),
remotable);
}
+
+ // Read intents and policy sets
+ policyProcessor.readPolicies(wsdlInterfaceContract.getInterface(), reader);
// Skip to end element
while (reader.hasNext()) {
@@ -229,6 +239,8 @@
writer.writeAttribute(WSDLI_NS, WSDL_LOCATION, wsdlInterfaceContract.getLocation());
}
+ policyProcessor.writePolicyAttributes(wsdlInterface, writer);
+
writer.writeEndElement();
}
@@ -259,9 +271,12 @@
// WSDLInterface to the resolver
try {
wsdlDefinition.setDefinition(portType.getDefinition());
- wsdlInterface = wsdlFactory.createWSDLInterface(portType.getElement(), wsdlDefinition, resolver, monitor);
- wsdlInterface.setWsdlDefinition(wsdlDefinition);
- resolver.addModel(wsdlInterface, context);
+ WSDLInterface newWSDLInterface = wsdlFactory.createWSDLInterface(portType.getElement(), wsdlDefinition, resolver, monitor);
+ newWSDLInterface.setWsdlDefinition(wsdlDefinition);
+ newWSDLInterface.getRequiredIntents().addAll(wsdlInterface.getRequiredIntents());
+ newWSDLInterface.getPolicySets().addAll(wsdlInterface.getPolicySets());
+ resolver.addModel(newWSDLInterface, context);
+ wsdlInterface = newWSDLInterface;
} catch (InvalidInterfaceException e) {
ContributionResolveException ce = new ContributionResolveException("Invalid interface when resolving " +
portType.toString(), e);
Modified: tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite?rev=901251&r1=901250&r2=901251&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite Wed Jan 20 16:00:09 2010
@@ -25,7 +25,7 @@
<service name="CalculatorService" promote="CalculatorServiceComponent">
<interface.wsdl interface="http://sample/calculator#wsdl.interface(Calculator)"
- wsdli:wsdlLocation="http://tempuri.org"/>
+ wsdli:wsdlLocation="http://tempuri.org" requires="calc:intent1" policySets="calc:policySet1"/>
</service>
<component name="CalculatorServiceComponent">