diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2011-10-19 08:37:03 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2011-10-19 08:37:03 +0000 |
commit | cd0530f3d5222a020ac1ffae2956018402d36adf (patch) | |
tree | 27257b651ea8181166cf492f45380e8794fd720f /sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java | |
parent | 3312769c458a55a8420566eff6936957a7c1e645 (diff) |
Add code to read <requires> elements from WSDL and enable the test that ensure that mayProvides intents are matched between references and services. This has implications for existing tests in that we now have to ensure that any mayProvides intent that is considered to be the default (a concept that the spec doesn't consider) is present in the intent list for the policy subject in question.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1186027 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java')
-rw-r--r-- | sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java index fdb562b1b7..354cca8392 100644 --- a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java +++ b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java @@ -103,6 +103,7 @@ public class WSDLModelResolver implements ModelResolver { // ---- SCA Policy WSDL Attachments public static final QName Q_POLICY_ATTRIBUTE_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "requires"); + public static final QName Q_POLICY_ELEMENT_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "requires"); public static final QName Q_POLICY_END_CONVERSATION_ATTRIBUTE_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "endsConversation"); // ---- SCA Callback WSDL Extension public static final QName Q_CALLBACK_ATTRIBUTE_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "callback" ); @@ -134,6 +135,7 @@ public class WSDLModelResolver implements ModelResolver { this.xsdFactory = modelFactories.getFactory(XSDFactory.class); wsdlExtensionRegistry = this.wsdl4jFactory.newPopulatedExtensionRegistry(); + // REVIEW: [rfeng] Disable the schema extension for WSDL4J to avoid aggressive loading ExtensionDeserializer deserializer = new UnknownExtensionDeserializer(); ExtensionSerializer serializer = new UnknownExtensionSerializer(); @@ -141,11 +143,17 @@ public class WSDLModelResolver implements ModelResolver { wsdlExtensionRegistry.registerSerializer(Types.class, schema, serializer); wsdlExtensionRegistry.registerDeserializer(Types.class, schema, deserializer); } + // ---- Policy WSDL Extensions try { wsdlExtensionRegistry.registerExtensionAttributeType(PortType.class, Q_POLICY_ATTRIBUTE_EXTENSION, AttributeExtensible.LIST_OF_QNAMES_TYPE); wsdlExtensionRegistry.registerExtensionAttributeType(Operation.class, Q_POLICY_END_CONVERSATION_ATTRIBUTE_EXTENSION, AttributeExtensible.STRING_TYPE); wsdlExtensionRegistry.registerExtensionAttributeType(PortType.class, Q_CALLBACK_ATTRIBUTE_EXTENSION, AttributeExtensible.QNAME_TYPE); + + serializer = new PolicyExtensionHandler(); + deserializer = new PolicyExtensionHandler(); + wsdlExtensionRegistry.registerSerializer(PortType.class, Q_POLICY_ELEMENT_EXTENSION, serializer); + wsdlExtensionRegistry.registerDeserializer(PortType.class, Q_POLICY_ELEMENT_EXTENSION, deserializer); } catch (NoSuchMethodError e) { // That method does not exist on older WSDL4J levels } |