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"