You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/08/11 22:50:34 UTC

svn commit: r803291 - in /tuscany/java/sca/modules: assembly-xsd/src/main/resources/ binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/ contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ definitions-xml/...

Author: rfeng
Date: Tue Aug 11 20:50:34 2009
New Revision: 803291

URL: http://svn.apache.org/viewvc?rev=803291&view=rev
Log:
Fix the schema validation issue for definitions

Modified:
    tuscany/java/sca/modules/assembly-xsd/src/main/resources/sca-policy-1.1-intents-definitions-cd02.xml
    tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-dwr.xsd
    tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-http.xsd
    tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-jsonrpc.xsd
    tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-rmi.xsd
    tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-implementation-osgi.xsd
    tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml
    tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java
    tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java
    tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java
    tuscany/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml
    tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml

Modified: tuscany/java/sca/modules/assembly-xsd/src/main/resources/sca-policy-1.1-intents-definitions-cd02.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xsd/src/main/resources/sca-policy-1.1-intents-definitions-cd02.xml?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xsd/src/main/resources/sca-policy-1.1-intents-definitions-cd02.xml (original)
+++ tuscany/java/sca/modules/assembly-xsd/src/main/resources/sca-policy-1.1-intents-definitions-cd02.xml Tue Aug 11 20:50:34 2009
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Copyright(C) OASIS(R) 2005,2009. All Rights Reserved. 
      OASIS trademark, IPR and other policies apply.  -->
-<sca:definitions xmlns:xml="http://www.w3.org/XML/1998/namespace" 
-    xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903" 
+<definitions xmlns:xml="http://www.w3.org/XML/1998/namespace" 
+    xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+    xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200903">
                  
@@ -98,7 +99,7 @@
 	    </description>
 	</intent>	           
 
-	<intent name="ordered" appliesTo="sca:binding" 
+	<intent name="ordered" constrains="sca:binding" 
 	    intentType="interaction">
 		<description>
 			This intent is used to indicate that all the messages are 
@@ -217,8 +218,8 @@
 		Specifies that the SOAP messaging model is used for delivering 
 		messages.
 		</description>
-		<qualifier name="1_1" default="true"/>
-		<qualifier name="1_2"/>
+		<qualifier name="V1_1" default="true"/>
+		<qualifier name="V1_2"/>
 	</intent>	
 
 	<intent name="JMS" constrains="sca:binding" intentType="interaction">
@@ -240,4 +241,4 @@
 		</description>
 	</intent>	
 	
-</sca:definitions>
+</definitions>

Modified: tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-dwr.xsd
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-dwr.xsd?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-dwr.xsd (original)
+++ tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-dwr.xsd Tue Aug 11 20:50:34 2009
@@ -25,7 +25,7 @@
 
     <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200903" schemaLocation="sca-1.1-cd04.xsd"/>
 
-    <element name="binding.dwr" type="t:DWRBinding"/>
+    <element name="binding.dwr" type="t:DWRBinding" substitutionGroup="sca:binding"/>
     
     <complexType name="DWRBinding">
         <complexContent>

Modified: tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-http.xsd
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-http.xsd?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-http.xsd (original)
+++ tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-http.xsd Tue Aug 11 20:50:34 2009
@@ -25,7 +25,7 @@
 
     <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200903" schemaLocation="sca-1.1-cd04.xsd"/>
 
-    <element name="binding.http" type="t:HTTPBinding"/>
+    <element name="binding.http" type="t:HTTPBinding" substitutionGroup="sca:binding"/>
     
     <complexType name="HTTPBinding">
         <complexContent>

Modified: tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-jsonrpc.xsd
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-jsonrpc.xsd?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-jsonrpc.xsd (original)
+++ tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-jsonrpc.xsd Tue Aug 11 20:50:34 2009
@@ -25,7 +25,7 @@
 
     <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200903" schemaLocation="sca-1.1-cd04.xsd"/>
 
-    <element name="binding.jsonrpc" type="t:JSONRPCBinding"/>
+    <element name="binding.jsonrpc" type="t:JSONRPCBinding" substitutionGroup="sca:binding"/>
     
     <complexType name="JSONRPCBinding">
         <complexContent>

Modified: tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-rmi.xsd
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-rmi.xsd?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-rmi.xsd (original)
+++ tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-binding-rmi.xsd Tue Aug 11 20:50:34 2009
@@ -25,7 +25,7 @@
 
     <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200903" schemaLocation="sca-1.1-cd04.xsd"/>
 
-    <element name="binding.rmi" type="t:RMIBinding"/>
+    <element name="binding.rmi" type="t:RMIBinding" substitutionGroup="sca:binding"/>
     
     <complexType name="RMIBinding">
         <complexContent>

Modified: tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-implementation-osgi.xsd
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-implementation-osgi.xsd?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-implementation-osgi.xsd (original)
+++ tuscany/java/sca/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-implementation-osgi.xsd Tue Aug 11 20:50:34 2009
@@ -25,7 +25,7 @@
 
     <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200903" schemaLocation="sca-1.1-cd04.xsd"/>
 
-    <element name="implementation.osgi" type="t:OSGiImplementation"/>
+    <element name="implementation.osgi" type="t:OSGiImplementation" substitutionGroup="sca:implementation"/>
 
     <complexType name="OSGiImplementation">
         <complexContent>

Modified: tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml (original)
+++ tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml Tue Aug 11 20:50:34 2009
@@ -25,7 +25,7 @@
             xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
             xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1">
             
-    <sca:bindingType type="sca:binding.ws"  mayProvide="SOAP SOAP.1_1 SOAP.1_2 MTOM" alwaysProvides=""/>
+    <sca:bindingType type="sca:binding.ws"  mayProvide="SOAP SOAP.V1_1 SOAP.V1_2 MTOM" alwaysProvides=""/>
 
     <!-- PolicyIntents defined by the SCA Runtime Extension for WS Binding Axis 2 -->
 

Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java Tue Aug 11 20:50:34 2009
@@ -36,7 +36,7 @@
  * @version $Rev$ $Date$
  */
 public class DefaultValidationSchemaExtensionPoint implements ValidationSchemaExtensionPoint {
-    private boolean enabled;
+    private boolean enabled = true;
     private List<String> schemas = new ArrayList<String>();
     private boolean loaded;
 

Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java Tue Aug 11 20:50:34 2009
@@ -24,7 +24,6 @@
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
 import javax.xml.stream.Location;
-import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.util.StreamReaderDelegate;
@@ -154,77 +153,80 @@
             return super.next();
         }
 
-        int event = super.next();
+        int event = super.getEventType();
         try {
-            switch (event) {
-                case XMLStreamConstants.START_DOCUMENT:
-                    handler.startDocument();
-                    break;
-                case XMLStreamConstants.START_ELEMENT:
-                    handleStartElement();
-                    break;
-                case XMLStreamConstants.PROCESSING_INSTRUCTION:
-                    handler.processingInstruction(super.getPITarget(), super.getPIData());
-                    break;
-                case XMLStreamConstants.CHARACTERS:
-                case XMLStreamConstants.CDATA:
-                case XMLStreamConstants.SPACE:
-                case XMLStreamConstants.ENTITY_REFERENCE:
-                    handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength());
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    handleEndElement();
-                    break;
-                case XMLStreamConstants.END_DOCUMENT:
-                    handler.endDocument();
-                    break;
+            if (event == START_DOCUMENT) {
+                // We need to trigger the startDocument()
+                handler.startDocument();
             }
+            event = super.next();
+            validate(event);
         } catch (SAXException e) {
-        	XMLStreamException xse = new XMLStreamException(e.getMessage(), e);
-        	error("XMLStreamException", handler, xse);
+            XMLStreamException xse = new XMLStreamException(e.getMessage(), e);
+            error("XMLStreamException", handler, xse);
             throw xse;
         }
         return event;
     }
+
+    private void validate(int event) throws SAXException {
+        switch (event) {
+            case START_DOCUMENT:
+                handler.startDocument();
+                break;
+            case START_ELEMENT:
+                handleStartElement();
+                break;
+            case PROCESSING_INSTRUCTION:
+                handler.processingInstruction(super.getPITarget(), super.getPIData());
+                break;
+            case CHARACTERS:
+            case CDATA:
+            case SPACE:
+            case ENTITY_REFERENCE:
+                handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength());
+                break;
+            case END_ELEMENT:
+                handleEndElement();
+                break;
+            case END_DOCUMENT:
+                handler.endDocument();
+                break;
+        }
+    }
     
     @Override
     public int nextTag() throws XMLStreamException {
         if (handler == null) {
             return super.nextTag();
         }
-        
-        for (;;) {
+        while (true) {
             int event = super.getEventType();
             try {
-                switch (event) {
-                    case XMLStreamConstants.START_DOCUMENT:
-                        handler.startDocument();
-                        break;
-                    case XMLStreamConstants.START_ELEMENT:
-                        handleStartElement();
-                        return event;
-                    case XMLStreamConstants.PROCESSING_INSTRUCTION:
-                        handler.processingInstruction(super.getPITarget(), super.getPIData());
-                        break;
-                    case XMLStreamConstants.CHARACTERS:
-                    case XMLStreamConstants.CDATA:
-                    case XMLStreamConstants.SPACE:
-                    case XMLStreamConstants.ENTITY_REFERENCE:
-                        handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength());
-                        break;
-                    case XMLStreamConstants.END_ELEMENT:
-                        handleEndElement();
-                        return event;
-                    case XMLStreamConstants.END_DOCUMENT:
-                        handler.endDocument();
-                        return event;
+                if (event == START_DOCUMENT) {
+                    // We need to trigger the startDocument()
+                    handler.startDocument();
                 }
+                event = super.next();
+                validate(event);
             } catch (SAXException e) {
-            	XMLStreamException xse = new XMLStreamException(e);
-            	error("XMLStreamException", handler, xse);
+                XMLStreamException xse = new XMLStreamException(e);
+                error("XMLStreamException", handler, xse);
                 throw xse;
             }
-            super.next();
+
+            if ((event == CHARACTERS && isWhiteSpace()) // skip whitespace
+                || (event == CDATA && isWhiteSpace())
+                // skip whitespace
+                || event == SPACE
+                || event == PROCESSING_INSTRUCTION
+                || event == COMMENT) {
+                continue;
+            }
+            if (event != START_ELEMENT && event != END_ELEMENT) {
+                throw new XMLStreamException("expected start or end tag", getLocation());
+            }
+            return event;
         }
     }
     
@@ -234,7 +236,7 @@
             return super.getElementText();
         }
 
-        if (getEventType() != XMLStreamConstants.START_ELEMENT) {
+        if (getEventType() != START_ELEMENT) {
             return super.getElementText();
         }
         StringBuffer text = new StringBuffer();
@@ -242,11 +244,11 @@
         for (;;) {
             int event = next();
             switch (event) {
-                case XMLStreamConstants.END_ELEMENT:
+                case END_ELEMENT:
                     return text.toString();
                     
-                case XMLStreamConstants.COMMENT:
-                case XMLStreamConstants.PROCESSING_INSTRUCTION:
+                case COMMENT:
+                case PROCESSING_INSTRUCTION:
                     continue;
                     
                 case CHARACTERS:

Modified: tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java (original)
+++ tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java Tue Aug 11 20:50:34 2009
@@ -27,8 +27,6 @@
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.HashSet;
-import java.util.Set;
 
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamConstants;
@@ -39,6 +37,7 @@
 import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
 import org.apache.tuscany.sca.definitions.Definitions;
@@ -47,10 +46,6 @@
 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.BindingType;
-import org.apache.tuscany.sca.policy.ImplementationType;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.PolicySet;
 
 /**
  * A SCA Definitions Document processor.
@@ -89,7 +84,7 @@
                                         StAXArtifactProcessor<Object> staxProcessor,
                                         Monitor monitor) {
         this.extensionProcessor = (StAXArtifactProcessor<Object>)staxProcessor;
-        this.inputFactory = modelFactories.getFactory(XMLInputFactory.class);
+        this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class);
         this.definitionsFactory = modelFactories.getFactory(DefinitionsFactory.class);
         this.monitor = monitor;
     }

Modified: tuscany/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml (original)
+++ tuscany/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml Tue Aug 11 20:50:34 2009
@@ -1,242 +1,245 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
+<!-- Copyright(C) OASIS(R) 2005,2009. All Rights Reserved. 
      OASIS trademark, IPR and other policies apply.  -->
-<sca:definitions xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+<definitions xmlns:xml="http://www.w3.org/XML/1998/namespace" 
+    xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+    xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200903">
-
-        <!-- Security related intents -->
-        <sca:intent name="serverAuthentication" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        Communication through the binding requires that the
-                        server is authenticated by the client
-                </sca:description>
-                <sca:qualifier name="transport" default="true"/>
-                <sca:qualifier name="message"/>
-        </sca:intent>
-
-        <sca:intent name="clientAuthentication" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        Communication through the binding requires that the
-                        client is authenticated by the server
-                </sca:description>
-                <sca:qualifier name="transport" default="true"/>
-                <sca:qualifier name="message"/>
-        </sca:intent>
-
-        <sca:intent name="authentication" requires="sca:clientAuthentication">
-                <sca:description>
-                        A convenience intent to help migration
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="mutualAuthentication"
-                requires="sca:clientAuthentication sca:serverAuthentication">
-                <sca:description>
-                        Communication through the binding requires that the
-                        client and server to authenticate each other
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="confidentiality" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        Communication through the binding prevents unauthorized
-                        users from reading the messages
-                </sca:description>
-                <sca:qualifier name="transport" default="true"/>
-                <sca:qualifier name="message"/>
-        </sca:intent>
-
-        <sca:intent name="integrity" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        Communication through the binding prevents tampering
-                        with the messages sent between the client and the service.
-                </sca:description>
-                <sca:qualifier name="transport" default="true"/>
-                <sca:qualifier name="message"/>
-        </sca:intent>
-
-        <sca:intent name="authorization" constrains="sca:implementation"
-            intentType="implementation">
-                <sca:description>
-                        Ensures clients are authorized to use services.
-                </sca:description>
-                <sca:qualifier name="fineGrain" default="true"/>
-        </sca:intent>
-
-
-        <!-- Reliable messaging related intents -->
-        <sca:intent name="atLeastOnce" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        This intent is used to indicate that a message sent
-                        by a client is always delivered to the component.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="atMostOnce" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        This intent is used to indicate that a message that was
-                        successfully sent by a client is not delivered more than
-                        once to the component.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="exactlyOnce" requires="sca:atLeastOnce sca:atMostOnce"
-            constrains="sca:binding" intentType="interaction">
-                <sca:description>
-                        This profile intent is used to indicate that a message sent
-                        by a client is always delivered to the component. It also
-                        indicates that duplicate messages are not delivered to the
-                        component.
-            </sca:description>
-        </sca:intent>
-
-        <sca:intent name="ordered" appliesTo="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                        This intent is used to indicate that all the messages are
-                        delivered to the component in the order they were sent by
-                        the client.
-                </sca:description>
-        </sca:intent>
-
-        <!-- Transaction related intents -->
-        <sca:intent name="managedTransaction" excludes="sca:noManagedTransaction"
-            mutuallyExclusive="true" constrains="sca:implementation"
-            intentType="implementation">
-                <sca:description>
-                A managed transaction environment is necessary in order to
-                run the component. The specific type of managed transaction
-                needed is not constrained.
-                </sca:description>
-                <sca:qualifier name="global" default="true">
-                        <sca:description>
-                        For a component marked with managedTransaction.global
-                        a global transaction needs to be present before dispatching
-                        any method on the component - using any transaction
-                        propagated from the client or else beginning and completing
-                        a new transaction.
-                        </sca:description>
-                </sca:qualifier>
-                <sca:qualifier name="local">
-                        <sca:description>
-                        A component marked with managedTransaction.local needs to
-                        run within a local transaction containment (LTC) that
-                        is started and ended by the SCA runtime.
-                        </sca:description>
-                </sca:qualifier>
-        </sca:intent>
-
-        <sca:intent name="noManagedTransaction" excludes="sca:managedTransaction"
-            constrains="sca:implementation" intentType="implementation">
-                <sca:description>
-                A component marked with noManagedTransaction needs to run without
-                a managed transaction, under neither a global transaction nor
-                an LTC. A transaction propagated to the hosting SCA runtime
-                is not joined by the hosting runtime on behalf of a
-                component marked with noManagedtransaction.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="transactedOneWay" excludes="sca:immediateOneWay"
-            constrains="sca:binding" intentType="implementation">
-                <sca:description>
-                For a reference marked as transactedOneWay any OneWay invocation
-                messages are transacted as part of a client global
-                transaction.
-                For a service marked as transactedOneWay any OneWay invocation
-                message are received from the transport binding in a
-                transacted fashion, under the service’s global transaction.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="immediateOneWay" excludes="sca:transactedOneWay"
-            constrains="sca:binding" intentType="implementation">
-                <sca:description>
-                For a reference indicates that any OneWay invocation messages
-                are sent immediately regardless of any client transaction.
-                For a service indicates that any OneWay invocation is
-                received immediately regardless of any target service
-                transaction.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="propagatesTransaction" excludes="sca:suspendsTransaction"
-            constrains="sca:binding" intentType="interaction">
-                <sca:description>
-                A service marked with propagatesTransaction is dispatched
-                under any propagated (client) transaction and the service binding
-                needs to be capable     of receiving a transaction context.
-                A reference marked with propagatesTransaction propagates any
-                transaction context under which the client runs when the
-                reference is used for a request-response interaction and the
-                binding of a reference marked with propagatesTransaction needs to
-                be capable of propagating a transaction context.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="suspendsTransaction" excludes="sca:propagatesTransaction"
-            constrains="sca:binding" intentType="interaction">
-                <sca:description>
-                A service marked with suspendsTransaction is not dispatched
-                under any propagated (client) transaction.
-                A reference marked with suspendsTransaction does not propagate
-                any transaction context under which the client runs when the
-                reference is used.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="managedSharedTransaction"
-                requires="sca:managedTransaction.global sca:propagatesTransaction">
-                <sca:description>
-                        Used to indicate that the component requires both the
-                        managedTransaction.global and the propagatesTransactions
-                        intents
-                </sca:description>
-        </sca:intent>
-
-        <!-- Miscellaneous intents -->
-        <sca:intent name="asyncInvocation" constrains="sca:binding"
-                intentType="interaction">
-                <sca:description>
-                        Indicates that request/response operations for the
-                        interface of this wire are "long running" and must be
-                        treated as two separate message transmissions
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="SOAP" constrains="sca:binding" intentType="interaction">
-                <sca:description>
-                Specifies that the SOAP messaging model is used for delivering
-                messages.
-                </sca:description>
-                <sca:qualifier name="1_1" default="true"/>
-                <sca:qualifier name="1_2"/>
-        </sca:intent>
-
-        <sca:intent name="JMS" constrains="sca:binding" intentType="interaction">
-                <sca:description>
-                Requires that the messages are delivered and received via the
-                JMS API.
-                </sca:description>
-        </sca:intent>
-
-        <sca:intent name="noListener" constrains="sca:binding"
-            intentType="interaction">
-                <sca:description>
-                This intent can only be used on a reference. Indicates that the
-                client is not able to handle new inbound connections. The binding
-                and callback binding are configured so that any
-                response or callback comes either through a back channel of the
-                connection from the client to the server or by having the client
-                poll the server for messages.
-                </sca:description>
-        </sca:intent>
-
-</sca:definitions>
+                 
+    <!-- Security related intents -->                 
+    <intent name="serverAuthentication" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            Communication through the binding requires that the 
+            server is authenticated by the client
+        </description>
+        <qualifier name="transport" default="true"/>
+        <qualifier name="message"/>
+    </intent>
+
+    <intent name="clientAuthentication" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            Communication through the binding requires that the 
+            client is authenticated by the server
+        </description>
+        <qualifier name="transport" default="true"/>
+        <qualifier name="message"/>
+    </intent>
+
+    <intent name="authentication" requires="clientAuthentication">
+        <description>
+            A convenience intent to help migration
+        </description>
+    </intent>
+
+    <intent name="mutualAuthentication"
+        requires="clientAuthentication serverAuthentication">
+        <description>
+            Communication through the binding requires that the
+            client and server to authenticate each other
+        </description>
+    </intent>
+
+    <intent name="confidentiality" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            Communication through the binding prevents unauthorized 
+            users from reading the messages
+        </description>
+        <qualifier name="transport" default="true"/>
+        <qualifier name="message"/> 
+    </intent>
+
+    <intent name="integrity" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            Communication through the binding prevents tampering 
+            with the messages sent between the client and the service.
+        </description>
+        <qualifier name="transport" default="true"/>
+        <qualifier name="message"/>
+    </intent> 
+
+    <intent name="authorization" constrains="sca:implementation" 
+        intentType="implementation">
+        <description>
+            Ensures clients are authorized to use services. 
+        </description>
+        <qualifier name="fineGrain" default="true"/>
+    </intent>
+
+    
+    <!-- Reliable messaging related intents -->    
+    <intent name="atLeastOnce" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            This intent is used to indicate that a message sent
+            by a client is always delivered to the component.
+        </description>
+    </intent>
+
+    <intent name="atMostOnce" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            This intent is used to indicate that a message that was 
+            successfully sent by a client is not delivered more than 
+            once to the component.
+        </description>
+    </intent>
+
+    <intent name="exactlyOnce" requires="atLeastOnce atMostOnce" 
+        constrains="sca:binding" intentType="interaction">
+        <description>
+            This profile intent is used to indicate that a message sent 
+            by a client is always delivered to the component. It also 
+            indicates that duplicate messages are not delivered to the 
+            component.
+        </description>
+    </intent>              
+
+    <intent name="ordered" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            This intent is used to indicate that all the messages are 
+            delivered to the component in the order they were sent by 
+            the client.
+        </description>
+    </intent>
+    
+    <!-- Transaction related intents -->
+    <intent name="managedTransaction" excludes="sca:noManagedTransaction" 
+        mutuallyExclusive="true" constrains="sca:implementation" 
+        intentType="implementation">
+        <description>
+        A managed transaction environment is necessary in order to 
+        run the component. The specific type of managed transaction 
+        needed is not constrained.
+        </description>
+        <qualifier name="global" default="true">
+            <description>
+            For a component marked with managedTransaction.global 
+            a global transaction needs to be present before dispatching 
+            any method on the component - using any transaction 
+            propagated from the client or else beginning and completing 
+            a new transaction. 
+            </description>
+        </qualifier>
+        <qualifier name="local">
+            <description>
+            A component marked with managedTransaction.local needs to 
+            run within a local transaction containment (LTC) that 
+            is started and ended by the SCA runtime.
+            </description>
+        </qualifier>        
+    </intent>
+
+    <intent name="noManagedTransaction" excludes="sca:managedTransaction" 
+        constrains="sca:implementation" intentType="implementation">
+        <description>
+        A component marked with noManagedTransaction needs to run without 
+        a managed transaction, under neither a global transaction nor 
+        an LTC. A transaction propagated to the hosting SCA runtime 
+        is not joined by the hosting runtime on behalf of a 
+        component marked with noManagedtransaction.
+        </description>
+    </intent>
+
+    <intent name="transactedOneWay" excludes="sca:immediateOneWay" 
+        constrains="sca:binding" intentType="implementation">
+        <description>
+        For a reference marked as transactedOneWay any OneWay invocation 
+        messages are transacted as part of a client global 
+        transaction.
+        For a service marked as transactedOneWay any OneWay invocation 
+        message are received from the transport binding in a 
+        transacted fashion, under the service’s global transaction.
+        </description>
+    </intent>
+
+    <intent name="immediateOneWay" excludes="transactedOneWay" 
+        constrains="sca:binding" intentType="implementation">
+        <description>
+        For a reference indicates that any OneWay invocation messages 
+        are sent immediately regardless of any client transaction.
+        For a service indicates that any OneWay invocation is 
+        received immediately regardless of any target service 
+        transaction.
+        </description>
+    </intent>
+
+    <intent name="propagatesTransaction" excludes="suspendsTransaction" 
+        constrains="sca:binding" intentType="interaction">
+        <description>
+        A service marked with propagatesTransaction is dispatched 
+        under any propagated (client) transaction and the service binding 
+        needs to be capable of receiving a transaction context.
+        A reference marked with propagatesTransaction propagates any 
+        transaction context under which the client runs when the 
+        reference is used for a request-response interaction and the 
+        binding of a reference marked with propagatesTransaction needs to
+        be capable of propagating a transaction context. 
+        </description>
+    </intent>
+
+    <intent name="suspendsTransaction" excludes="propagatesTransaction" 
+        constrains="sca:binding" intentType="interaction">
+        <description>
+        A service marked with suspendsTransaction is not dispatched 
+        under any propagated (client) transaction.
+        A reference marked with suspendsTransaction does not propagate 
+        any transaction context under which the client runs when the 
+        reference is used.
+        </description>
+    </intent>
+    
+    <intent name="managedSharedTransaction" 
+        requires="managedTransaction.global propagatesTransaction">
+        <description>
+            Used to indicate that the component requires both the 
+            managedTransaction.global and the propagatesTransactions 
+            intents
+        </description>
+    </intent>
+    
+    <!-- Miscellaneous intents -->  
+    <intent name="asyncInvocation" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+            Indicates that request/response operations for the 
+            interface of this wire are "long running" and must be
+            treated as two separate message transmissions
+        </description>
+    </intent>
+    
+    <intent name="SOAP" constrains="sca:binding" intentType="interaction" mutuallyExclusive="true">
+        <description>
+        Specifies that the SOAP messaging model is used for delivering 
+        messages.
+        </description>
+        <!-- [rfeng] 1_1 and 1_2 are not valid NCNames -->
+        <qualifier name="V1_1" default="true"/>
+        <qualifier name="V1_2"/>
+    </intent>   
+
+    <intent name="JMS" constrains="sca:binding" intentType="interaction">
+        <description>
+        Requires that the messages are delivered and received via the 
+        JMS API.
+        </description>
+    </intent>
+
+    <intent name="noListener" constrains="sca:binding" 
+        intentType="interaction">
+        <description>
+        This intent can only be used on a reference. Indicates that the 
+        client is not able to handle new inbound connections. The binding 
+        and callback binding are configured so that any 
+        response or callback comes either through a back channel of the 
+        connection from the client to the server or by having the client 
+        poll the server for messages. 
+        </description>
+    </intent>   
+    
+</definitions>

Modified: tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml?rev=803291&r1=803290&r2=803291&view=diff
==============================================================================
--- tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml (original)
+++ tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml Tue Aug 11 20:50:34 2009
@@ -64,7 +64,7 @@
 
     <policySet name="SecureMessagingPolicies" provides="test:confidentiality" appliesTo="binding.ws"
         xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
-        <intentMap provides="test:confidentiality" default="transport">
+        <intentMap provides="test:confidentiality">
             <qualifier name="transport">
                 <wsp:PolicyAttachment>
                     <!-- policy expression and policy subject for "transport" alternative -->
@@ -81,7 +81,7 @@
 
     <policySet name="SecurityPolicy" provides="test:confidentiality" appliesTo="binding.ws"
         xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
-        <intentMap provides="test:confidentiality" default="message">
+        <intentMap provides="test:confidentiality">
             <qualifier name="message">
                 <wsp:PolicyAttachment>
                     <!-- policy attachment for body encryption -->
@@ -114,7 +114,7 @@
 
     <policySet name="ConfidentialityPolicies" provides="test:confidentiality" appliesTo="binding.ws"
         xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
-        <intentMap provides="test:confidentiality" default="transport">
+        <intentMap provides="test:confidentiality">
             <qualifier name="transport">
                 <wsp:PolicyAttachment>
                     <!-- policy expression and policy subject for "transport"