You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2008/07/09 01:04:16 UTC

svn commit: r675018 - in /tuscany/java/sca: itest/policy/src/main/resources/ itest/policy/src/main/resources/META-INF/services/ itest/policy/src/test/java/org/apache/tuscany/sca/itest/ itest/validation/src/main/resources/impl/osgi/MissingComponentTypeF...

Author: lresende
Date: Tue Jul  8 16:04:16 2008
New Revision: 675018

URL: http://svn.apache.org/viewvc?rev=675018&view=rev
Log:
TUSCANY-2354 - Applying a slightly modified version of Ram's patch to get a sucessful build

Added:
    tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
    tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java   (with props)
    tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java   (with props)
Modified:
    tuscany/java/sca/itest/policy/src/main/resources/definitions.xml
    tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar
    tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar
    tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml
    tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite
    tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml
    tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
    tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml
    tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java
    tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
    tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties
    tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java
    tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml
    tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml
    tuscany/java/sca/tools/eclipse/plugins/core/.classpath

Added: tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor?rev=675018&view=auto
==============================================================================
--- tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor (added)
+++ tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor Tue Jul  8 16:04:16 2008
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License. 
+
+# Implementation class for the artifact processor extension
+org.apache.tuscany.sca.itest.TestPolicyProcessor;qname=http://schemas.xmlsoap.org/ws/2004/09/policy#Policy,model=org.apache.tuscany.sca.itest.Policy

Modified: tuscany/java/sca/itest/policy/src/main/resources/definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/main/resources/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/itest/policy/src/main/resources/definitions.xml (original)
+++ tuscany/java/sca/itest/policy/src/main/resources/definitions.xml Tue Jul  8 16:04:16 2008
@@ -44,8 +44,7 @@
     </sca:intent>
 
     <sca:intent name="TestIntent_1.Qualifier_1" />
-
-
+    <sca:intent name="TestIntent_4.Qualifier_1" />
 
     <!-- PolicySets -->
     <sca:policySet name="TestPolicySet_1_implementation" provides="ip:TestIntent_1"

Added: tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java?rev=675018&view=auto
==============================================================================
--- tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java (added)
+++ tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java Tue Jul  8 16:04:16 2008
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.itest;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Interface that will abstract various types of policy specifications
+ * and attachments for example WS-Policy
+ *
+ * @version $Rev$ $Date$
+ */
+public interface Policy {
+    QName getSchemaName();
+    void setUnresolved(boolean unresolved);
+    boolean isUnresolved();
+}

Propchange: tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java?rev=675018&view=auto
==============================================================================
--- tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java (added)
+++ tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java Tue Jul  8 16:04:16 2008
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.itest;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.policy.Policy;
+import org.apache.tuscany.sca.policy.PolicyFactory;
+
+/**
+ * A PolicyProcessor used for testing.
+ *
+ * @version $Rev$ $Date$
+ */
+public class TestPolicyProcessor implements StAXArtifactProcessor<Policy> {
+    
+    public TestPolicyProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
+        
+    }
+
+    public QName getArtifactType() {
+        return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "Policy");
+    }
+
+    public Policy read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
+        return new MockPolicyImplOne();
+    }
+
+    public void write(Policy arg0, XMLStreamWriter arg1) throws ContributionWriteException,
+                                                        XMLStreamException {
+    }
+
+    public Class<Policy> getModelType() {
+        // TODO Auto-generated method stub
+        return Policy.class;
+    }
+
+    public void resolve(Policy arg0, ModelResolver arg1) throws ContributionResolveException {
+
+    }
+
+    
+    public class MockPolicyImplOne implements Policy {
+        public QName getSchemaName() {
+            return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "Policy");
+        }
+
+        public boolean isUnresolved() {
+            return false;
+        }
+
+        public void setUnresolved(boolean unresolved) {
+        }
+        
+    }
+}

Propchange: tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
Binary files - no diff available.

Modified: tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
Binary files - no diff available.

Modified: tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml (original)
+++ tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml Tue Jul  8 16:04:16 2008
@@ -23,15 +23,6 @@
  			xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
 
  <!-- WS Security POLICY SETS -->
- <!-- A policyset that uses WS Policy -->
- <sca:intent name="wsAuthentication" 
- 			 constrains="sca:binding.ws">
- 			 <description>
- 			 Communitcation thro this binding required Authentication.
- 			 </description>
- </sca:intent>	
- 
- <!-- WS Security POLICY SETS -->
   <sca:policySet name="wsAuthenticationPolicy"
  	provides="sca:authentication"
  	appliesTo="//sca:binding.ws"

Modified: tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite (original)
+++ tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite Tue Jul  8 16:04:16 2008
@@ -27,7 +27,7 @@
     so for this composite the service is: http://localhost:8085/myExplicitURI 
     -->      
 
-    <service name="helloWorld" promote="HelloWorldService" policySets="tuscany:wsSecurityPolicyForAuthentication">
+    <service name="helloWorld" promote="HelloWorldService" policySets="tuscany:wsAuthenticationPolicy">
         <interface.wsdl interface="http://helloworld-om-uri#wsdl.interface(HelloWorld)" />
         <binding.ws wsdlElement="http://helloworld-om-uri#wsdl.port(HelloWorldService/HelloWorldSoapPort)" />
     </service>
@@ -41,7 +41,7 @@
         <reference name="helloWorldWS" />
     </component>
 
-    <reference name="helloWorldWS" promote="HelloWorldComponent/helloWorldWS" policySets="tuscany:wsSecurityPolicyForAuthentication">
+    <reference name="helloWorldWS" promote="HelloWorldComponent/helloWorldWS" policySets="tuscany:wsAuthenticationPolicy">
         <interface.wsdl interface="http://helloworld-om-uri#wsdl.interface(HelloWorld)" />
         <binding.ws wsdlElement="http://helloworld-om-uri#wsdl.binding(HelloWorldSoapBinding)"
                     uri="http://localhost:8085/myExplicitURI"/>

Modified: tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml (original)
+++ tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml Tue Jul  8 16:04:16 2008
@@ -21,20 +21,12 @@
  			targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
  			xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
  			xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
-
- <sca:intent name="wsAuthentication" 
- 			 constrains="sca:binding.ws">
- 			 <description>
- 			 Communitcation thro this binding required Authentication.
- 			 </description>
- </sca:intent>	
  
  <!-- WS Security POLICY SETS -->
  <!-- A policyset that uses WS Policy -->
- <sca:policySet name="wsSecurityPolicyForAuthentication"
+ <sca:policySet name="wsAuthenticationPolicy"
  	provides="sca:authentication"
- 	appliesTo="sca:binding.ws"
- 	>
+ 	appliesTo="sca:binding.ws">
  	<wsp:Policy wsu:Id="UTOverTransport" 
  		xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
  		xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">

Modified: tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java (original)
+++ tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java Tue Jul  8 16:04:16 2008
@@ -22,6 +22,9 @@
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
 
+import java.util.List;
+import java.util.ArrayList;
+
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
@@ -40,6 +43,7 @@
 import org.apache.tuscany.sca.policy.Intent;
 import org.apache.tuscany.sca.policy.IntentAttachPointType;
 import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.ProfileIntent;
 import org.apache.tuscany.sca.policy.QualifiedIntent;
 import org.apache.tuscany.sca.monitor.Monitor;
 
@@ -173,12 +177,28 @@
         // start by adding all of the top level artifacts into the resolver as there
         // are many cross artifact references in a definitions file and we don't want
         // to be dependent on the order things appear
+    	
+    	List<Intent> simpleIntents = new ArrayList<Intent>();
+    	List<ProfileIntent> profileIntents = new ArrayList<ProfileIntent>();
+    	List<QualifiedIntent> qualifiedIntents = new ArrayList<QualifiedIntent>();
+        List<PolicySet> simplePolicySets = new ArrayList<PolicySet>();
+        List<PolicySet> referredPolicySets = new ArrayList<PolicySet>();
         
         for (Intent policyIntent : scaDefns.getPolicyIntents()) {
-            resolver.addModel(policyIntent);
-        }
+        	if (policyIntent instanceof ProfileIntent)
+        	    profileIntents.add((ProfileIntent)policyIntent);
+        	else if (policyIntent instanceof QualifiedIntent)
+        	    qualifiedIntents.add((QualifiedIntent)policyIntent);
+        	else simpleIntents.add(policyIntent);
+        	
+        	resolver.addModel(policyIntent);
+        }        
         
         for (PolicySet policySet : scaDefns.getPolicySets()) {
+            if (policySet.getReferencedPolicySets().isEmpty())
+                simplePolicySets.add(policySet);
+            else referredPolicySets.add(policySet);
+            
             resolver.addModel(policySet);
         }
         
@@ -193,15 +213,20 @@
         // now resolve everything to ensure that any references between
         // artifacts are satisfied
         
-        for (int count = 0, size = scaDefns.getPolicyIntents().size(); count < size; count++) {
-            Intent intent = scaDefns.getPolicyIntents().get(count);
-            extensionProcessor.resolve(intent, resolver);
-        }
+        for (Intent policyIntent : simpleIntents)
+            extensionProcessor.resolve(policyIntent, resolver);
         
-        for (int count = 0, size = scaDefns.getPolicySets().size(); count < size; count++) {
-            PolicySet policySet = scaDefns.getPolicySets().get(count);
+        for (ProfileIntent policyIntent : profileIntents)
+            extensionProcessor.resolve(policyIntent, resolver);
+        
+        for (QualifiedIntent policyIntent : qualifiedIntents)
+            extensionProcessor.resolve(policyIntent, resolver);
+        
+        for (PolicySet policySet : simplePolicySets)
             extensionProcessor.resolve(policySet, resolver);
-        }
+        
+        for (PolicySet policySet : referredPolicySets) 
+            extensionProcessor.resolve(policySet, resolver);        
         
         for (int count = 0, size = scaDefns.getBindingTypes().size(); count < size; count++) {
             IntentAttachPointType bindingType = scaDefns.getBindingTypes().get(count);

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=675018&r1=675017&r2=675018&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 Jul  8 16:04:16 2008
@@ -30,8 +30,7 @@
 					
 <!-- Intents and Policysets to assume targetnamespace -->									
 <intent name="TestIntentOne" 
- 			 constrains="sca:binding"
- 			 >
+ 			 constrains="sca:binding">
  			 <description>
  			 	Test Intent
  			 </description>
@@ -39,7 +38,7 @@
  
   <intent name="TestIntentTwo" 
  			 constrains="sca:binding"
- 			 requires="TestIntentOne">
+ 			 requires="test:TestIntentOne">
  			 <description>
  			 	Protect messages from unauthorized reading or modification
  			 </description>

Modified: tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java (original)
+++ tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java Tue Jul  8 16:04:16 2008
@@ -247,10 +247,24 @@
             for (Intent requiredIntent : policyIntent.getRequiredIntents()) {
                 if (requiredIntent.isUnresolved()) {
                     Intent resolvedRequiredIntent = resolver.resolveModel(Intent.class, requiredIntent);
-                    if (resolvedRequiredIntent != null) {
+                    // At this point, when the required intent is not resolved, it does not mean 
+                    // its undeclared, chances are that their dependency are not resolved yet. 
+                    // Lets try to resolve them first.
+                    if (resolvedRequiredIntent.isUnresolved()) {
+                        if (resolvedRequiredIntent instanceof ProfileIntent) {
+                            if ((((ProfileIntent)resolvedRequiredIntent).getRequiredIntents()).contains(policyIntent)) {
+                                error("CyclicReferenceFound", resolver, requiredIntent, policyIntent);
+                                return;
+                            }
+                            resolveDependent(resolvedRequiredIntent, resolver);
+                        }
+                    }
+                
+                    if (!resolvedRequiredIntent.isUnresolved()) {
                         requiredIntents.add(resolvedRequiredIntent);
                     } else {
                     	error("RequiredIntentNotFound", resolver, requiredIntent, policyIntent);
+                    	return;
                         //throw new ContributionResolveException("Required Intent - " + requiredIntent
                                                     //+ " not found for ProfileIntent " + policyIntent);
                     }
@@ -270,19 +284,36 @@
             Intent qualifiableIntent = policyIntent.getQualifiableIntent();
             if (qualifiableIntent.isUnresolved()) {
                 Intent resolvedQualifiableIntent = resolver.resolveModel(Intent.class, qualifiableIntent);
-    
-                if (resolvedQualifiableIntent != null) {
+                // At this point, when the qualifiable intent is not resolved, it does not mean 
+                // its undeclared, chances are that their dependency are not resolved yet. 
+                // Lets try to resolve them first.
+                if (resolvedQualifiableIntent.isUnresolved()) {
+                    if (resolvedQualifiableIntent instanceof QualifiedIntent) {
+                        resolveDependent(resolvedQualifiableIntent, resolver);
+                    }
+                }
+                
+                if (!resolvedQualifiableIntent.isUnresolved()) {
                     policyIntent.setQualifiableIntent(resolvedQualifiableIntent);
                 } else {
                 	error("QualifiableIntentNotFound", resolver, qualifiableIntent, policyIntent);
                     //throw new ContributionResolveException("Qualifiable Intent - " + qualifiableIntent
                                                     //+ " not found for QualifiedIntent " + policyIntent);
-                }
-    
+                }    
             }
         }
     }
     
+    public void resolveDependent(Intent policyIntent, ModelResolver resolver) throws ContributionResolveException {
+        if (policyIntent instanceof ProfileIntent)
+            resolveProfileIntent((ProfileIntent)policyIntent, resolver);
+        
+        if (policyIntent instanceof QualifiedIntent)
+            resolveQualifiedIntent((QualifiedIntent)policyIntent, resolver);
+        
+        resolveContrainedArtifacts(policyIntent, resolver);
+    }
+    
     public void resolve(T policyIntent, ModelResolver resolver) throws ContributionResolveException {
         if (policyIntent instanceof ProfileIntent) {
             resolveProfileIntent((ProfileIntent)policyIntent, resolver);
@@ -360,11 +391,12 @@
             List<Intent> excludedIntents = new ArrayList<Intent>();
             for (Intent excludedIntent : policyIntent.getExcludedIntents()) {
                 if (excludedIntent.isUnresolved()) {
-                    Intent resolvedExcludedIntent = resolver.resolveModel(Intent.class, excludedIntent);
-                    if (resolvedExcludedIntent != null) {
+                    Intent resolvedExcludedIntent = resolver.resolveModel(Intent.class, excludedIntent);                                     
+                    if (!resolvedExcludedIntent.isUnresolved()) {
                         excludedIntents.add(resolvedExcludedIntent);
                     } else {
                     	error("ExcludedIntentNotFound", resolver, excludedIntent, policyIntent);
+                    	return;
                         //throw new ContributionResolveException("Excluded Intent " + excludedIntent
                                                          //+ " not found for intent " + policyIntent);
                     }

Modified: tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java (original)
+++ tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java Tue Jul  8 16:04:16 2008
@@ -371,13 +371,13 @@
             for (Intent providedIntent : policySet.getProvidedIntents()) {
                 if (providedIntent.isUnresolved()) {
                     Intent resolvedProvidedIntent = resolver.resolveModel(Intent.class, providedIntent);
-                    if (resolvedProvidedIntent != null) {
+                    if (!resolvedProvidedIntent.isUnresolved()) {
                         providedIntents.add(resolvedProvidedIntent);
                     } else {
                     	error("ProvidedIntentNotFound", policySet, providedIntent, policySet);
+                    	return;
                         //throw new ContributionResolveException("Provided Intent - " + providedIntent
                                                            //+ " not found for PolicySet " + policySet);
-
                     }
                 } else {
                     providedIntents.add(providedIntent);
@@ -394,11 +394,11 @@
             Intent mappedIntent = entry.getKey();
             if (mappedIntent.isUnresolved()) {
                 Intent resolvedMappedIntent = resolver.resolveModel(Intent.class, mappedIntent);
-    
-                if (resolvedMappedIntent != null) {
+                if (!resolvedMappedIntent.isUnresolved()) {
                     mappedPolicies.put(resolvedMappedIntent, entry.getValue());
                 } else {
                 	error("MappedIntentNotFound", policySet, mappedIntent, policySet);
+                	return;
                     //throw new ContributionResolveException("Mapped Intent - " + mappedIntent
                                                    //+ " not found for PolicySet " + policySet);    
                 }
@@ -417,10 +417,11 @@
         for (PolicySet referredPolicySet : policySet.getReferencedPolicySets()) {
             if (referredPolicySet.isUnresolved()) {
                 PolicySet resolvedReferredPolicySet = resolver.resolveModel(PolicySet.class, referredPolicySet);
-                if (resolvedReferredPolicySet != null) {
+                if (!resolvedReferredPolicySet.isUnresolved()) {
                     referredPolicySets.add(resolvedReferredPolicySet);
                 } else {
                 	error("ReferredPolicySetNotFound", policySet, referredPolicySet, policySet);
+                	return;
                     //throw new ContributionResolveException("Referred PolicySet - " + referredPolicySet
                                                              //+ "not found for PolicySet - " + policySet);
                 }
@@ -453,9 +454,9 @@
             //resolve the policy attachments
             resolvePolicies(policySet, resolver);
              
-            if ( !policySet.isUnresolved() ) {
+            /*if ( !policySet.isUnresolved() ) {
                  resolver.addModel(policySet);
-            }
+            }*/
         }
      }   
  }

Modified: tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties (original)
+++ tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties Tue Jul  8 16:04:16 2008
@@ -33,4 +33,5 @@
 RequiredAttributeMissing = Required attribute {0} missing from BindingType Definition
 AlwaysProvidedIntentNotFound = Always Provided Intent - {0} not found for ExtensionType {1}
 MayProvideIntentNotFound = May Provide Intent - {0} not found for ExtensionType {1}
-ContributionReadException = ContributionReadException occured due to: {0}
\ No newline at end of file
+ContributionReadException = ContributionReadException occured due to: {0}
+CyclicReferenceFound = Cyclic reference detected in required attributes of ProfileIntents {0} and {1}
\ No newline at end of file

Modified: tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java (original)
+++ tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java Tue Jul  8 16:04:16 2008
@@ -23,7 +23,9 @@
 
 import java.io.InputStream;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Hashtable;
+import java.util.List;
 import java.util.Map;
 
 import javax.xml.namespace.QName;
@@ -38,6 +40,10 @@
 import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl;
 import org.apache.tuscany.sca.policy.Intent;
 import org.apache.tuscany.sca.policy.IntentAttachPointType;
 import org.apache.tuscany.sca.policy.PolicySet;
@@ -55,7 +61,7 @@
 
     private ModelResolver resolver;
     private StAXArtifactProcessor<Object> staxProcessor;
-    
+    private Monitor monitor;
         
     private Map<QName, Intent> intentTable = new Hashtable<QName, Intent>();
     private Map<QName, PolicySet> policySetTable = new Hashtable<QName, PolicySet>();
@@ -82,8 +88,15 @@
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
         resolver = new DefaultModelResolver();
         XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+        // Create a monitor
+        UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+        MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl();  
+        if (monitorFactory != null) {
+            monitor = monitorFactory.createMonitor();
+            utilities.addUtility(monitorFactory);
+        }
         StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor);
         staxProcessors.addArtifactProcessor(new TestPolicyProcessor());
         
         URL url = getClass().getResource("test_definitions.xml");
@@ -187,12 +200,35 @@
         assertNull(javaImplType.getAlwaysProvidedIntents().get(0).getDescription());
         assertNull(javaImplType.getMayProvideIntents().get(0).getDescription());
         
-        for ( Intent intent : intentTable.values() ) {
+        List<Intent> simpleIntents = new ArrayList<Intent>();
+        List<ProfileIntent> profileIntents = new ArrayList<ProfileIntent>();
+        List<QualifiedIntent> qualifiedIntents = new ArrayList<QualifiedIntent>();
+        
+        for (Intent intent : intentTable.values()) {
+            if (intent instanceof ProfileIntent)
+                profileIntents.add((ProfileIntent)intent);
+            else if (intent instanceof QualifiedIntent)
+                qualifiedIntents.add((QualifiedIntent)intent);
+            else simpleIntents.add(intent);
+        }
+        
+        for (Intent intent : simpleIntents)
+            staxProcessor.resolve(intent, resolver);
+        
+        for (ProfileIntent intent : profileIntents)
             staxProcessor.resolve(intent, resolver);
+        
+        for (QualifiedIntent intent : qualifiedIntents)
+            staxProcessor.resolve(intent, resolver);
+        
+        for ( PolicySet policySet : policySetTable.values() ) {
+            if (policySet.getReferencedPolicySets().isEmpty())
+                staxProcessor.resolve(policySet, resolver);
         }
         
         for ( PolicySet policySet : policySetTable.values() ) {
-            staxProcessor.resolve(policySet, resolver);
+            if (!policySet.getReferencedPolicySets().isEmpty())
+                staxProcessor.resolve(policySet, resolver);
         }
         
         for (  IntentAttachPointType bindingType : bindingTypesTable.values() ) {
@@ -203,8 +239,6 @@
             staxProcessor.resolve(implType, resolver);
         }
         
-        
-        
         //testing if policy intents have been linked have property been linked up 
         assertNotNull(profileIntent.getRequiredIntents().get(0).getDescription());
         assertNotNull(qualifiedIntent.getQualifiableIntent().getDescription());

Modified: tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml (original)
+++ tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml Tue Jul  8 16:04:16 2008
@@ -30,8 +30,7 @@
 					
 <!-- Intents and Policysets to assume targetnamespace -->									
 <intent name="TestIntentOne" 
- 			 constrains="sca:binding"
- 			 >
+ 			 constrains="sca:binding">
  			 <description>
  			 	Test Intent
  			 </description>
@@ -39,7 +38,7 @@
  
   <intent name="TestIntentTwo" 
  			 constrains="sca:binding"
- 			 requires="TestIntentOne">
+ 			 requires="test:TestIntentOne">
  			 <description>
  			 	Protect messages from unauthorized reading or modification
  			 </description>

Modified: tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml (original)
+++ tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml Tue Jul  8 16:04:16 2008
@@ -24,9 +24,16 @@
             xmlns:p="http://sample/policy">
     <!-- POLICY SETS -->
     <sca:policySet name="EncryptionPolicy"
-       provides="sca:confidentiality"
-       appliesTo="e:binding.echo"
-       >
+       provides="confidentiality"
+       appliesTo="e:binding.echo">
         <p:echoBindingPolicy name="Encryption" strategy="echo.provider.policy.ReverseEncryptionStrategy" />
-    </sca:policySet>
+    </sca:policySet>
+	
+	<sca:intent name="confidentiality"
+ 	   constrains="sca:binding">
+ 	   <description>
+ 	   Communitcation thro this binding must prevent
+ 	   unauthorized users from reading the messages.
+ 	   </description>
+    </sca:intent>
 </sca:definitions>
\ No newline at end of file

Modified: tuscany/java/sca/tools/eclipse/plugins/core/.classpath
URL: http://svn.apache.org/viewvc/tuscany/java/sca/tools/eclipse/plugins/core/.classpath?rev=675018&r1=675017&r2=675018&view=diff
==============================================================================
--- tuscany/java/sca/tools/eclipse/plugins/core/.classpath (original)
+++ tuscany/java/sca/tools/eclipse/plugins/core/.classpath Tue Jul  8 16:04:16 2008
@@ -2,55 +2,55 @@
   <classpathentry kind="src" path="."/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/debug/ui/3.2.100-v20070531-1800/ui-3.2.100-v20070531-1800.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/ide/3.3.0-I20070531-1800/ide-3.3.0-I20070531-1800.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/resources/3.3.0-v20070530/resources-3.3.0-v20070530.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/expressions/3.3.0-v20070531-1300/expressions-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/runtime/3.3.100-v20070530/runtime-3.3.100-v20070530.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/osgi/3.3.0-v20070530/osgi-3.3.0-v20070530.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/app/1.0.0-v20070423/app-1.0.0-v20070423.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/commands/3.3.0-I20070523-1500/commands-3.3.0-I20070523-1500.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/common/3.3.0-v20070426/common-3.3.0-v20070426.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/jobs/3.3.0-v20070423/jobs-3.3.0-v20070423.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/registry/3.3.0-v20070522/registry-3.3.0-v20070522.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/preferences/3.2.100-v20070522/preferences-3.2.100-v20070522.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/compare/3.3.0-I20070528/compare-3.3.0-I20070528.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/update/configurator/3.2.100-v20070507/configurator-3.2.100-v20070507.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/console/3.2.0-v20070530/console-3.2.0-v20070530.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/core/contenttype/3.2.100-v20070319/contenttype-3.2.100-v20070319.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/app/1.0.0-v20070423/app-1.0.0-v20070423.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/debug/core/3.3.0-v20070531-1800/core-3.3.0-v20070531-1800.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.3.0-v_768/core-3.3.0-v_768.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/team/core/3.2.100-I20070531/core-3.2.100-I20070531.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/update/core/3.2.100-v20070522/core-3.2.100-v20070522.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/databinding/1.0.0-I20070530-0100/databinding-1.0.0-I20070530-0100.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jface/databinding/1.1.0-I20070530-0100/databinding-1.1.0-I20070530-0100.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/debug/3.3.0-v20070530a/debug-3.3.0-v20070530a.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/editors/3.3.0-v20070531-1300/editors-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/expressions/3.3.0-v20070531-1300/expressions-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/filebuffers/3.3.0-v20070531-1300/filebuffers-3.3.0-v20070531-1300.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/core/filesystem/1.1.0-v20070510/filesystem-1.1.0-v20070510.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/forms/3.3.0-v20070511/forms-3.3.0-v20070511.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/help/3.3.0-v20070524/help-3.3.0-v20070524.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/3.3.0-I20070601-1200/ui-3.3.0-I20070601-1200.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/swt/3.3.0-v3345b/swt-3.3.0-v3345b.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/ide/3.3.0-I20070531-1800/ide-3.3.0-I20070531-1800.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jface/3.3.0-I20070601-1200/jface-3.3.0-I20070601-1200.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/commands/3.3.0-I20070523-1500/commands-3.3.0-I20070523-1500.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/workbench/3.3.0-I20070601-0010/workbench-3.3.0-I20070601-0010.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jface/databinding/1.1.0-I20070530-0100/databinding-1.1.0-I20070530-0100.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/databinding/1.0.0-I20070530-0100/databinding-1.0.0-I20070530-0100.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/views/3.2.100-I20070319-0010/views-3.2.100-I20070319-0010.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/update/configurator/3.2.100-v20070507/configurator-3.2.100-v20070507.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/update/core/3.2.100-v20070522/core-3.2.100-v20070522.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/jobs/3.3.0-v20070423/jobs-3.3.0-v20070423.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/launching/3.3.0-v20070510/launching-3.3.0-v20070510.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/manipulation/1.1.0-v20070531-1300/manipulation-1.1.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/navigator/3.3.0-I20070531-1800/navigator-3.3.0-I20070531-1800.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/core/net/1.0.0-I20070531/net-1.0.0-I20070531.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/update/ui/3.2.100-v20070601a/ui-3.2.100-v20070601a.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/forms/3.3.0-v20070511/forms-3.3.0-v20070511.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jface/text/3.3.0-v20070531-1300/text-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/osgi/3.3.0-v20070530/osgi-3.3.0-v20070530.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/preferences/3.2.100-v20070522/preferences-3.2.100-v20070522.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ltk/core/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ltk/ui/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/equinox/registry/3.3.0-v20070522/registry-3.3.0-v20070522.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/resources/3.3.0-v20070530/resources-3.3.0-v20070530.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/navigator/resources/3.2.100-I20070530-0100/resources-3.2.100-I20070530-0100.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/runtime/3.3.100-v20070530/runtime-3.3.100-v20070530.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/search/3.3.0-v20070531-1300/search-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/swt/3.3.0-v3345b/swt-3.3.0-v3345b.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/views/properties/tabbed/3.2.100-I20070424-0010/tabbed-3.2.100-I20070424-0010.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/text/3.3.0-v20070531-1300/text-3.3.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jface/text/3.3.0-v20070531-1300/text-3.3.0-v20070531-1300.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/workbench/texteditor/3.3.0-v20070531-1300/texteditor-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/editors/3.3.0-v20070531-1300/editors-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/filebuffers/3.3.0-v20070531-1300/filebuffers-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/variables/3.2.0-v20070426/variables-3.2.0-v20070426.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.3.0-v_768/core-3.3.0-v_768.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/3.3.0-I20070601-1200/ui-3.3.0-I20070601-1200.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/debug/ui/3.3.0-v20070531-1800/ui-3.3.0-v20070531-1800.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/console/3.2.0-v20070530/console-3.2.0-v20070530.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/debug/core/3.3.0-v20070531-1800/core-3.3.0-v20070531-1800.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/debug/3.3.0-v20070530a/debug-3.3.0-v20070530a.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/launching/3.3.0-v20070510/launching-3.3.0-v20070510.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/ui/3.3.0-v20070531-1300/ui-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/search/3.3.0-v20070531-1300/search-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/compare/3.3.0-I20070528/compare-3.3.0-I20070528.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/debug/ui/3.2.100-v20070531-1800/ui-3.2.100-v20070531-1800.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/team/ui/3.3.0-I20070524/ui-3.3.0-I20070524.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/team/core/3.2.100-I20070531/core-3.2.100-I20070531.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/navigator/3.3.0-I20070531-1800/navigator-3.3.0-I20070531-1800.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/navigator/resources/3.2.100-I20070530-0100/resources-3.2.100-I20070530-0100.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/views/properties/tabbed/3.2.100-I20070424-0010/tabbed-3.2.100-I20070424-0010.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ltk/core/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/ltk/ui/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/manipulation/1.1.0-v20070531-1300/manipulation-1.1.0-v20070531-1300.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/update/ui/3.2.100-v20070601a/ui-3.2.100-v20070601a.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/core/variables/3.2.0-v20070426/variables-3.2.0-v20070426.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/views/3.2.100-I20070319-0010/views-3.2.100-I20070319-0010.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/ui/workbench/3.3.0-I20070601-0010/workbench-3.3.0-I20070601-0010.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/swt/win32/win32/x86/3.3.0-v3346/x86-3.3.0-v3346.jar"/>
 </classpath>
\ No newline at end of file



Re: svn commit: r675018 - in /tuscany/java/sca: itest/policy/src/main/resources/ itest/policy/src/main/resources/META-INF/services/ itest/policy/src/test/java/org/apache/tuscany/sca/itest/ itest/validation/src/main/resources/impl/osgi/MissingComponentTypeF

Posted by Raymond Feng <en...@gmail.com>.
Hi,

This commit breaks the build on Linux. It changed the following files and 
caused a conflict against [1]:

> 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite
> 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml

It seems that all definitions.xml in the contribution will be used for 
resolving the policySets. As a result, depending on which file is loaded 
first, the 
org.apache.tuscany.sca.binding.ws.axis2.itests.policy.wspolicy.WSSecurityAuthenticationTestCase 
may fail.

Thanks,
Raymond

[1] 
/tuscany-binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml


--------------------------------------------------
From: <lr...@apache.org>
Sent: Tuesday, July 08, 2008 4:04 PM
To: <co...@tuscany.apache.org>
Subject: svn commit: r675018 - in /tuscany/java/sca: 
itest/policy/src/main/resources/ 
itest/policy/src/main/resources/META-INF/services/ 
itest/policy/src/test/java/org/apache/tuscany/sca/itest/ 
itest/validation/src/main/resources/impl/osgi/MissingComponentTypeF...

> Author: lresende
> Date: Tue Jul  8 16:04:16 2008
> New Revision: 675018
>
> URL: http://svn.apache.org/viewvc?rev=675018&view=rev
> Log:
> TUSCANY-2354 - Applying a slightly modified version of Ram's patch to get 
> a sucessful build
>
> Added:
> 
> tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
> 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java 
> (with props)
> 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java 
> (with props)
> Modified:
>    tuscany/java/sca/itest/policy/src/main/resources/definitions.xml
> 
> tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar
> 
> tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar
> 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml
> 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite
> 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml
> 
> tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
> 
> tuscany/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml
> 
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java
> 
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
> 
> tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties
> 
> tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java
> 
> tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml
> 
> tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml
>    tuscany/java/sca/tools/eclipse/plugins/core/.classpath
>
> Added: 
> tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor?rev=675018&view=auto
> ==============================================================================
> ---  
> tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor 
> (added)
> +++ 
> tuscany/java/sca/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor 
> Tue Jul  8 16:04:16 2008
> @@ -0,0 +1,19 @@
> +# Licensed to the Apache Software Foundation (ASF) under one
> +# or more contributor license agreements.  See the NOTICE file
> +# distributed with this work for additional information
> +# regarding copyright ownership.  The ASF licenses this file
> +# to you under the Apache License, Version 2.0 (the
> +# "License"); you may not use this file except in compliance
> +# with the License.  You may obtain a copy of the License at
> +#
> +#   http://www.apache.org/licenses/LICENSE-2.0
> +#
> +# Unless required by applicable law or agreed to in writing,
> +# software distributed under the License is distributed on an
> +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +# KIND, either express or implied.  See the License for the
> +# specific language governing permissions and limitations
> +# under the License.
> +
> +# Implementation class for the artifact processor extension
> +org.apache.tuscany.sca.itest.TestPolicyProcessor;qname=http://schemas.xmlsoap.org/ws/2004/09/policy#Policy,model=org.apache.tuscany.sca.itest.Policy
>
> Modified: tuscany/java/sca/itest/policy/src/main/resources/definitions.xml
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/main/resources/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> --- tuscany/java/sca/itest/policy/src/main/resources/definitions.xml 
> (original)
> +++ tuscany/java/sca/itest/policy/src/main/resources/definitions.xml Tue 
> Jul  8 16:04:16 2008
> @@ -44,8 +44,7 @@
>     </sca:intent>
>
>     <sca:intent name="TestIntent_1.Qualifier_1" />
> -
> -
> +    <sca:intent name="TestIntent_4.Qualifier_1" />
>
>     <!-- PolicySets -->
>     <sca:policySet name="TestPolicySet_1_implementation" 
> provides="ip:TestIntent_1"
>
> Added: 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java?rev=675018&view=auto
> ==============================================================================
> ---  
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java 
> (added)
> +++ 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java 
> Tue Jul  8 16:04:16 2008
> @@ -0,0 +1,33 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *   http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.tuscany.sca.itest;
> +
> +import javax.xml.namespace.QName;
> +
> +/**
> + * Interface that will abstract various types of policy specifications
> + * and attachments for example WS-Policy
> + *
> + * @version $Rev$ $Date$
> + */
> +public interface Policy {
> +    QName getSchemaName();
> +    void setUnresolved(boolean unresolved);
> +    boolean isUnresolved();
> +}
>
> Propchange: 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Propchange: 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/Policy.java
> ------------------------------------------------------------------------------
>    svn:keywords = Rev Date
>
> Added: 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java?rev=675018&view=auto
> ==============================================================================
> ---  
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java 
> (added)
> +++ 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java 
> Tue Jul  8 16:04:16 2008
> @@ -0,0 +1,82 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *   http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.tuscany.sca.itest;
> +
> +import javax.xml.namespace.QName;
> +import javax.xml.stream.XMLStreamException;
> +import javax.xml.stream.XMLStreamReader;
> +import javax.xml.stream.XMLStreamWriter;
> +
> +import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
> +import 
> org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
> +import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
> +import 
> org.apache.tuscany.sca.contribution.service.ContributionReadException;
> +import 
> org.apache.tuscany.sca.contribution.service.ContributionResolveException;
> +import 
> org.apache.tuscany.sca.contribution.service.ContributionWriteException;
> +import org.apache.tuscany.sca.monitor.Monitor;
> +import org.apache.tuscany.sca.policy.Policy;
> +import org.apache.tuscany.sca.policy.PolicyFactory;
> +
> +/**
> + * A PolicyProcessor used for testing.
> + *
> + * @version $Rev$ $Date$
> + */
> +public class TestPolicyProcessor implements StAXArtifactProcessor<Policy> 
> {
> +
> +    public TestPolicyProcessor(ModelFactoryExtensionPoint modelFactories, 
> Monitor monitor) {
> +
> +    }
> +
> +    public QName getArtifactType() {
> +        return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", 
> "Policy");
> +    }
> +
> +    public Policy read(XMLStreamReader arg0) throws 
> ContributionReadException, XMLStreamException {
> +        return new MockPolicyImplOne();
> +    }
> +
> +    public void write(Policy arg0, XMLStreamWriter arg1) throws 
> ContributionWriteException,
> + 
> XMLStreamException {
> +    }
> +
> +    public Class<Policy> getModelType() {
> +        // TODO Auto-generated method stub
> +        return Policy.class;
> +    }
> +
> +    public void resolve(Policy arg0, ModelResolver arg1) throws 
> ContributionResolveException {
> +
> +    }
> +
> +
> +    public class MockPolicyImplOne implements Policy {
> +        public QName getSchemaName() {
> +            return new 
> QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "Policy");
> +        }
> +
> +        public boolean isUnresolved() {
> +            return false;
> +        }
> +
> +        public void setUnresolved(boolean unresolved) {
> +        }
> +
> +    }
> +}
>
> Propchange: 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Propchange: 
> tuscany/java/sca/itest/policy/src/test/java/org/apache/tuscany/sca/itest/TestPolicyProcessor.java
> ------------------------------------------------------------------------------
>    svn:keywords = Rev Date
>
> Modified: 
> tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> Binary files - no diff available.
>
> Modified: 
> tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> Binary files - no diff available.
>
> Modified: 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml 
> (original)
> +++ 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml 
> Tue Jul  8 16:04:16 2008
> @@ -23,15 +23,6 @@
>  xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
>
>  <!-- WS Security POLICY SETS -->
> - <!-- A policyset that uses WS Policy -->
> - <sca:intent name="wsAuthentication"
> - constrains="sca:binding.ws">
> - <description>
> - Communitcation thro this binding required Authentication.
> - </description>
> - </sca:intent>
> -
> - <!-- WS Security POLICY SETS -->
>   <sca:policySet name="wsAuthenticationPolicy"
>  provides="sca:authentication"
>  appliesTo="//sca:binding.ws"
>
> Modified: 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite 
> (original)
> +++ 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite 
> Tue Jul  8 16:04:16 2008
> @@ -27,7 +27,7 @@
>     so for this composite the service is: 
> http://localhost:8085/myExplicitURI
>     -->
>
> -    <service name="helloWorld" promote="HelloWorldService" 
> policySets="tuscany:wsSecurityPolicyForAuthentication">
> +    <service name="helloWorld" promote="HelloWorldService" 
> policySets="tuscany:wsAuthenticationPolicy">
>         <interface.wsdl 
> interface="http://helloworld-om-uri#wsdl.interface(HelloWorld)" />
>         <binding.ws 
> wsdlElement="http://helloworld-om-uri#wsdl.port(HelloWorldService/HelloWorldSoapPort)" 
> />
>     </service>
> @@ -41,7 +41,7 @@
>         <reference name="helloWorldWS" />
>     </component>
>
> -    <reference name="helloWorldWS" 
> promote="HelloWorldComponent/helloWorldWS" 
> policySets="tuscany:wsSecurityPolicyForAuthentication">
> +    <reference name="helloWorldWS" 
> promote="HelloWorldComponent/helloWorldWS" 
> policySets="tuscany:wsAuthenticationPolicy">
>         <interface.wsdl 
> interface="http://helloworld-om-uri#wsdl.interface(HelloWorld)" />
>         <binding.ws 
> wsdlElement="http://helloworld-om-uri#wsdl.binding(HelloWorldSoapBinding)"
>                     uri="http://localhost:8085/myExplicitURI"/>
>
> Modified: 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml 
> (original)
> +++ 
> tuscany/java/sca/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml 
> Tue Jul  8 16:04:16 2008
> @@ -21,20 +21,12 @@
>  targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
>  xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
>  xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
> -
> - <sca:intent name="wsAuthentication"
> - constrains="sca:binding.ws">
> - <description>
> - Communitcation thro this binding required Authentication.
> - </description>
> - </sca:intent>
>
>  <!-- WS Security POLICY SETS -->
>  <!-- A policyset that uses WS Policy -->
> - <sca:policySet name="wsSecurityPolicyForAuthentication"
> + <sca:policySet name="wsAuthenticationPolicy"
>  provides="sca:authentication"
> - appliesTo="sca:binding.ws"
> - >
> + appliesTo="sca:binding.ws">
>  <wsp:Policy wsu:Id="UTOverTransport"
> 
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
>
> Modified: 
> tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java 
> (original)
> +++ 
> tuscany/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java 
> Tue Jul  8 16:04:16 2008
> @@ -22,6 +22,9 @@
> import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
> import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
>
> +import java.util.List;
> +import java.util.ArrayList;
> +
> import javax.xml.namespace.QName;
> import javax.xml.stream.XMLStreamConstants;
> import javax.xml.stream.XMLStreamException;
> @@ -40,6 +43,7 @@
> import org.apache.tuscany.sca.policy.Intent;
> import org.apache.tuscany.sca.policy.IntentAttachPointType;
> import org.apache.tuscany.sca.policy.PolicySet;
> +import org.apache.tuscany.sca.policy.ProfileIntent;
> import org.apache.tuscany.sca.policy.QualifiedIntent;
> import org.apache.tuscany.sca.monitor.Monitor;
>
> @@ -173,12 +177,28 @@
>         // start by adding all of the top level artifacts into the 
> resolver as there
>         // are many cross artifact references in a definitions file and we 
> don't want
>         // to be dependent on the order things appear
> +
> +    List<Intent> simpleIntents = new ArrayList<Intent>();
> +    List<ProfileIntent> profileIntents = new ArrayList<ProfileIntent>();
> +    List<QualifiedIntent> qualifiedIntents = new 
> ArrayList<QualifiedIntent>();
> +        List<PolicySet> simplePolicySets = new ArrayList<PolicySet>();
> +        List<PolicySet> referredPolicySets = new ArrayList<PolicySet>();
>
>         for (Intent policyIntent : scaDefns.getPolicyIntents()) {
> -            resolver.addModel(policyIntent);
> -        }
> +        if (policyIntent instanceof ProfileIntent)
> +            profileIntents.add((ProfileIntent)policyIntent);
> +        else if (policyIntent instanceof QualifiedIntent)
> +            qualifiedIntents.add((QualifiedIntent)policyIntent);
> +        else simpleIntents.add(policyIntent);
> +
> +        resolver.addModel(policyIntent);
> +        }
>
>         for (PolicySet policySet : scaDefns.getPolicySets()) {
> +            if (policySet.getReferencedPolicySets().isEmpty())
> +                simplePolicySets.add(policySet);
> +            else referredPolicySets.add(policySet);
> +
>             resolver.addModel(policySet);
>         }
>
> @@ -193,15 +213,20 @@
>         // now resolve everything to ensure that any references between
>         // artifacts are satisfied
>
> -        for (int count = 0, size = scaDefns.getPolicyIntents().size(); 
> count < size; count++) {
> -            Intent intent = scaDefns.getPolicyIntents().get(count);
> -            extensionProcessor.resolve(intent, resolver);
> -        }
> +        for (Intent policyIntent : simpleIntents)
> +            extensionProcessor.resolve(policyIntent, resolver);
>
> -        for (int count = 0, size = scaDefns.getPolicySets().size(); count 
> < size; count++) {
> -            PolicySet policySet = scaDefns.getPolicySets().get(count);
> +        for (ProfileIntent policyIntent : profileIntents)
> +            extensionProcessor.resolve(policyIntent, resolver);
> +
> +        for (QualifiedIntent policyIntent : qualifiedIntents)
> +            extensionProcessor.resolve(policyIntent, resolver);
> +
> +        for (PolicySet policySet : simplePolicySets)
>             extensionProcessor.resolve(policySet, resolver);
> -        }
> +
> +        for (PolicySet policySet : referredPolicySets)
> +            extensionProcessor.resolve(policySet, resolver);
>
>         for (int count = 0, size = scaDefns.getBindingTypes().size(); 
> count < size; count++) {
>             IntentAttachPointType bindingType = 
> scaDefns.getBindingTypes().get(count);
>
> 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=675018&r1=675017&r2=675018&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 Jul  8 16:04:16 2008
> @@ -30,8 +30,7 @@
>
> <!-- Intents and Policysets to assume targetnamespace -->
> <intent name="TestIntentOne"
> - constrains="sca:binding"
> - >
> + constrains="sca:binding">
>  <description>
>  Test Intent
>  </description>
> @@ -39,7 +38,7 @@
>
>   <intent name="TestIntentTwo"
>  constrains="sca:binding"
> - requires="TestIntentOne">
> + requires="test:TestIntentOne">
>  <description>
>  Protect messages from unauthorized reading or modification
>  </description>
>
> Modified: 
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java 
> (original)
> +++ 
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java 
> Tue Jul  8 16:04:16 2008
> @@ -247,10 +247,24 @@
>             for (Intent requiredIntent : 
> policyIntent.getRequiredIntents()) {
>                 if (requiredIntent.isUnresolved()) {
>                     Intent resolvedRequiredIntent = 
> resolver.resolveModel(Intent.class, requiredIntent);
> -                    if (resolvedRequiredIntent != null) {
> +                    // At this point, when the required intent is not 
> resolved, it does not mean
> +                    // its undeclared, chances are that their dependency 
> are not resolved yet.
> +                    // Lets try to resolve them first.
> +                    if (resolvedRequiredIntent.isUnresolved()) {
> +                        if (resolvedRequiredIntent instanceof 
> ProfileIntent) {
> +                            if 
> ((((ProfileIntent)resolvedRequiredIntent).getRequiredIntents()).contains(policyIntent)) 
> {
> +                                error("CyclicReferenceFound", resolver, 
> requiredIntent, policyIntent);
> +                                return;
> +                            }
> +                            resolveDependent(resolvedRequiredIntent, 
> resolver);
> +                        }
> +                    }
> +
> +                    if (!resolvedRequiredIntent.isUnresolved()) {
>                         requiredIntents.add(resolvedRequiredIntent);
>                     } else {
>                     error("RequiredIntentNotFound", resolver, 
> requiredIntent, policyIntent);
>+                    return;
>                         //throw new ContributionResolveException("Required 
> Intent - " + requiredIntent
>                                                     //+ " not found for 
> ProfileIntent " + policyIntent);
>                     }
> @@ -270,19 +284,36 @@
>             Intent qualifiableIntent = 
> policyIntent.getQualifiableIntent();
>             if (qualifiableIntent.isUnresolved()) {
>                 Intent resolvedQualifiableIntent = 
> resolver.resolveModel(Intent.class, qualifiableIntent);
> -
> -                if (resolvedQualifiableIntent != null) {
> +                // At this point, when the qualifiable intent is not 
> resolved, it does not mean
> +                // its undeclared, chances are that their dependency are 
> not resolved yet.
> +                // Lets try to resolve them first.
> +                if (resolvedQualifiableIntent.isUnresolved()) {
> +                    if (resolvedQualifiableIntent instanceof 
> QualifiedIntent) {
> +                        resolveDependent(resolvedQualifiableIntent, 
> resolver);
> +                    }
> +                }
> +
> +                if (!resolvedQualifiableIntent.isUnresolved()) {
> 
> policyIntent.setQualifiableIntent(resolvedQualifiableIntent);
>                 } else {
>                 error("QualifiableIntentNotFound", resolver, 
> qualifiableIntent, policyIntent);
>                     //throw new ContributionResolveException("Qualifiable 
> Intent - " + qualifiableIntent
>                                                     //+ " not found for 
> QualifiedIntent " + policyIntent);
> -                }
> -
> +                }
>             }
>         }
>     }
>
> +    public void resolveDependent(Intent policyIntent, ModelResolver 
> resolver) throws ContributionResolveException {
> +        if (policyIntent instanceof ProfileIntent)
> +            resolveProfileIntent((ProfileIntent)policyIntent, resolver);
> +
> +        if (policyIntent instanceof QualifiedIntent)
> +            resolveQualifiedIntent((QualifiedIntent)policyIntent, 
> resolver);
> +
> +        resolveContrainedArtifacts(policyIntent, resolver);
> +    }
> +
>     public void resolve(T policyIntent, ModelResolver resolver) throws 
> ContributionResolveException {
>         if (policyIntent instanceof ProfileIntent) {
>             resolveProfileIntent((ProfileIntent)policyIntent, resolver);
> @@ -360,11 +391,12 @@
>             List<Intent> excludedIntents = new ArrayList<Intent>();
>             for (Intent excludedIntent : 
> policyIntent.getExcludedIntents()) {
>                 if (excludedIntent.isUnresolved()) {
> -                    Intent resolvedExcludedIntent = 
> resolver.resolveModel(Intent.class, excludedIntent);
> -                    if (resolvedExcludedIntent != null) {
> +                    Intent resolvedExcludedIntent = 
> resolver.resolveModel(Intent.class, excludedIntent);
> +                    if (!resolvedExcludedIntent.isUnresolved()) {
>                         excludedIntents.add(resolvedExcludedIntent);
>                     } else {
>                     error("ExcludedIntentNotFound", resolver, 
> excludedIntent, policyIntent);
> +                    return;
>                         //throw new ContributionResolveException("Excluded 
> Intent " + excludedIntent
>                                                          //+ " not found 
> for intent " + policyIntent);
>                     }
>
> Modified: 
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java 
> (original)
> +++ 
> tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java 
> Tue Jul  8 16:04:16 2008
> @@ -371,13 +371,13 @@
>             for (Intent providedIntent : policySet.getProvidedIntents()) {
>                 if (providedIntent.isUnresolved()) {
>                     Intent resolvedProvidedIntent = 
> resolver.resolveModel(Intent.class, providedIntent);
> -                    if (resolvedProvidedIntent != null) {
> +                    if (!resolvedProvidedIntent.isUnresolved()) {
>                         providedIntents.add(resolvedProvidedIntent);
>                     } else {
>                     error("ProvidedIntentNotFound", policySet, 
> providedIntent, policySet);
> +                    return;
>                         //throw new ContributionResolveException("Provided 
> Intent - " + providedIntent
>                                                            //+ " not found 
> for PolicySet " + policySet);
> -
>                     }
>                 } else {
>                     providedIntents.add(providedIntent);
> @@ -394,11 +394,11 @@
>             Intent mappedIntent = entry.getKey();
>             if (mappedIntent.isUnresolved()) {
>                 Intent resolvedMappedIntent = 
> resolver.resolveModel(Intent.class, mappedIntent);
> -
> -                if (resolvedMappedIntent != null) {
> +                if (!resolvedMappedIntent.isUnresolved()) {
>                     mappedPolicies.put(resolvedMappedIntent, 
> entry.getValue());
>                 } else {
>                 error("MappedIntentNotFound", policySet, mappedIntent, 
> policySet);
> +                return;
>                     //throw new ContributionResolveException("Mapped 
> Intent - " + mappedIntent
>                                                    //+ " not found for 
> PolicySet " + policySet);
>                 }
> @@ -417,10 +417,11 @@
>         for (PolicySet referredPolicySet : 
> policySet.getReferencedPolicySets()) {
>             if (referredPolicySet.isUnresolved()) {
>                 PolicySet resolvedReferredPolicySet = 
> resolver.resolveModel(PolicySet.class, referredPolicySet);
> -                if (resolvedReferredPolicySet != null) {
> +                if (!resolvedReferredPolicySet.isUnresolved()) {
>                     referredPolicySets.add(resolvedReferredPolicySet);
>                 } else {
>                 error("ReferredPolicySetNotFound", policySet, 
> referredPolicySet, policySet);
> +                return;
>                     //throw new ContributionResolveException("Referred 
> PolicySet - " + referredPolicySet
>                                                              //+ "not 
> found for PolicySet - " + policySet);
>                 }
> @@ -453,9 +454,9 @@
>             //resolve the policy attachments
>             resolvePolicies(policySet, resolver);
>
> -            if ( !policySet.isUnresolved() ) {
> +            /*if ( !policySet.isUnresolved() ) {
>                  resolver.addModel(policySet);
> -            }
> +            }*/
>         }
>      }
>  }
>
> Modified: 
> tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties 
> (original)
> +++ 
> tuscany/java/sca/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties 
> Tue Jul  8 16:04:16 2008
> @@ -33,4 +33,5 @@
> RequiredAttributeMissing = Required attribute {0} missing from BindingType 
> Definition
> AlwaysProvidedIntentNotFound = Always Provided Intent - {0} not found for 
> ExtensionType {1}
> MayProvideIntentNotFound = May Provide Intent - {0} not found for 
> ExtensionType {1}
> -ContributionReadException = ContributionReadException occured due to: {0}
> \ No newline at end of file
> +ContributionReadException = ContributionReadException occured due to: {0}
> +CyclicReferenceFound = Cyclic reference detected in required attributes 
> of ProfileIntents {0} and {1}
> \ No newline at end of file
>
> Modified: 
> tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java 
> (original)
> +++ 
> tuscany/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java 
> Tue Jul  8 16:04:16 2008
> @@ -23,7 +23,9 @@
>
> import java.io.InputStream;
> import java.net.URL;
> +import java.util.ArrayList;
> import java.util.Hashtable;
> +import java.util.List;
> import java.util.Map;
>
> import javax.xml.namespace.QName;
> @@ -38,6 +40,10 @@
> import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
> import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
> import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
> +import org.apache.tuscany.sca.core.UtilityExtensionPoint;
> +import org.apache.tuscany.sca.monitor.MonitorFactory;
> +import org.apache.tuscany.sca.monitor.Monitor;
> +import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl;
> import org.apache.tuscany.sca.policy.Intent;
> import org.apache.tuscany.sca.policy.IntentAttachPointType;
> import org.apache.tuscany.sca.policy.PolicySet;
> @@ -55,7 +61,7 @@
>
>     private ModelResolver resolver;
>     private StAXArtifactProcessor<Object> staxProcessor;
> -
> +    private Monitor monitor;
>
>     private Map<QName, Intent> intentTable = new Hashtable<QName, 
> Intent>();
>     private Map<QName, PolicySet> policySetTable = new Hashtable<QName, 
> PolicySet>();
> @@ -82,8 +88,15 @@
>         DefaultExtensionPointRegistry extensionPoints = new 
> DefaultExtensionPointRegistry();
>         resolver = new DefaultModelResolver();
>         XMLInputFactory inputFactory = XMLInputFactory.newInstance();
> +        // Create a monitor
> +        UtilityExtensionPoint utilities = 
> extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
> +        MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl();
> +        if (monitorFactory != null) {
> +            monitor = monitorFactory.createMonitor();
> +            utilities.addUtility(monitorFactory);
> +        }
>         StAXArtifactProcessorExtensionPoint staxProcessors = 
> extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
> -        staxProcessor = new 
> ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
> +        staxProcessor = new 
> ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, 
> monitor);
>         staxProcessors.addArtifactProcessor(new TestPolicyProcessor());
>
>         URL url = getClass().getResource("test_definitions.xml");
> @@ -187,12 +200,35 @@
> 
> assertNull(javaImplType.getAlwaysProvidedIntents().get(0).getDescription());
> 
> assertNull(javaImplType.getMayProvideIntents().get(0).getDescription());
>
> -        for ( Intent intent : intentTable.values() ) {
> +        List<Intent> simpleIntents = new ArrayList<Intent>();
> +        List<ProfileIntent> profileIntents = new 
> ArrayList<ProfileIntent>();
> +        List<QualifiedIntent> qualifiedIntents = new 
> ArrayList<QualifiedIntent>();
> +
> +        for (Intent intent : intentTable.values()) {
> +            if (intent instanceof ProfileIntent)
> +                profileIntents.add((ProfileIntent)intent);
> +            else if (intent instanceof QualifiedIntent)
> +                qualifiedIntents.add((QualifiedIntent)intent);
> +            else simpleIntents.add(intent);
> +        }
> +
> +        for (Intent intent : simpleIntents)
> +            staxProcessor.resolve(intent, resolver);
> +
> +        for (ProfileIntent intent : profileIntents)
>             staxProcessor.resolve(intent, resolver);
> +
> +        for (QualifiedIntent intent : qualifiedIntents)
> +            staxProcessor.resolve(intent, resolver);
> +
> +        for ( PolicySet policySet : policySetTable.values() ) {
> +            if (policySet.getReferencedPolicySets().isEmpty())
> +                staxProcessor.resolve(policySet, resolver);
>         }
>
>         for ( PolicySet policySet : policySetTable.values() ) {
> -            staxProcessor.resolve(policySet, resolver);
> +            if (!policySet.getReferencedPolicySets().isEmpty())
> +                staxProcessor.resolve(policySet, resolver);
>         }
>
>         for (  IntentAttachPointType bindingType : 
> bindingTypesTable.values() ) {
> @@ -203,8 +239,6 @@
>             staxProcessor.resolve(implType, resolver);
>         }
>
> -
> -
>         //testing if policy intents have been linked have property been 
> linked up
> 
> assertNotNull(profileIntent.getRequiredIntents().get(0).getDescription());
> 
> assertNotNull(qualifiedIntent.getQualifiableIntent().getDescription());
>
> Modified: 
> tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml 
> (original)
> +++ 
> tuscany/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml 
> Tue Jul  8 16:04:16 2008
> @@ -30,8 +30,7 @@
>
> <!-- Intents and Policysets to assume targetnamespace -->
> <intent name="TestIntentOne"
> - constrains="sca:binding"
> - >
> + constrains="sca:binding">
>  <description>
>  Test Intent
>  </description>
> @@ -39,7 +38,7 @@
>
>   <intent name="TestIntentTwo"
>  constrains="sca:binding"
> - requires="TestIntentOne">
> + requires="test:TestIntentOne">
>  <description>
>  Protect messages from unauthorized reading or modification
>  </description>
>
> Modified: 
> tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml 
> (original)
> +++ 
> tuscany/java/sca/samples/binding-echo-extension/src/test/resources/definitions.xml 
> Tue Jul  8 16:04:16 2008
> @@ -24,9 +24,16 @@
>             xmlns:p="http://sample/policy">
>     <!-- POLICY SETS -->
>     <sca:policySet name="EncryptionPolicy"
> -       provides="sca:confidentiality"
> -       appliesTo="e:binding.echo"
> -       >
> +       provides="confidentiality"
> +       appliesTo="e:binding.echo">
>         <p:echoBindingPolicy name="Encryption" 
> strategy="echo.provider.policy.ReverseEncryptionStrategy" />
> -    </sca:policySet>
> +    </sca:policySet>
> +
> + <sca:intent name="confidentiality"
> +    constrains="sca:binding">
> +    <description>
> +    Communitcation thro this binding must prevent
> +    unauthorized users from reading the messages.
> +    </description>
> +    </sca:intent>
> </sca:definitions>
> \ No newline at end of file
>
> Modified: tuscany/java/sca/tools/eclipse/plugins/core/.classpath
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/tools/eclipse/plugins/core/.classpath?rev=675018&r1=675017&r2=675018&view=diff
> ==============================================================================
> --- tuscany/java/sca/tools/eclipse/plugins/core/.classpath (original)
> +++ tuscany/java/sca/tools/eclipse/plugins/core/.classpath Tue Jul  8 
> 16:04:16 2008
> @@ -2,55 +2,55 @@
>   <classpathentry kind="src" path="."/>
>   <classpathentry kind="output" path="target/classes"/>
>   <classpathentry kind="con" 
> path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/debug/ui/3.2.100-v20070531-1800/ui-3.2.100-v20070531-1800.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/ide/3.3.0-I20070531-1800/ide-3.3.0-I20070531-1800.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/resources/3.3.0-v20070530/resources-3.3.0-v20070530.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/expressions/3.3.0-v20070531-1300/expressions-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/runtime/3.3.100-v20070530/runtime-3.3.100-v20070530.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/osgi/3.3.0-v20070530/osgi-3.3.0-v20070530.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/app/1.0.0-v20070423/app-1.0.0-v20070423.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/commands/3.3.0-I20070523-1500/commands-3.3.0-I20070523-1500.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/common/3.3.0-v20070426/common-3.3.0-v20070426.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/jobs/3.3.0-v20070423/jobs-3.3.0-v20070423.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/registry/3.3.0-v20070522/registry-3.3.0-v20070522.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/preferences/3.2.100-v20070522/preferences-3.2.100-v20070522.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/compare/3.3.0-I20070528/compare-3.3.0-I20070528.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/update/configurator/3.2.100-v20070507/configurator-3.2.100-v20070507.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/console/3.2.0-v20070530/console-3.2.0-v20070530.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/contenttype/3.2.100-v20070319/contenttype-3.2.100-v20070319.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/app/1.0.0-v20070423/app-1.0.0-v20070423.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/debug/core/3.3.0-v20070531-1800/core-3.3.0-v20070531-1800.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/core/3.3.0-v_768/core-3.3.0-v_768.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/team/core/3.2.100-I20070531/core-3.2.100-I20070531.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/update/core/3.2.100-v20070522/core-3.2.100-v20070522.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/databinding/1.0.0-I20070530-0100/databinding-1.0.0-I20070530-0100.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jface/databinding/1.1.0-I20070530-0100/databinding-1.1.0-I20070530-0100.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/debug/3.3.0-v20070530a/debug-3.3.0-v20070530a.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/editors/3.3.0-v20070531-1300/editors-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/expressions/3.3.0-v20070531-1300/expressions-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/filebuffers/3.3.0-v20070531-1300/filebuffers-3.3.0-v20070531-1300.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/filesystem/1.1.0-v20070510/filesystem-1.1.0-v20070510.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/forms/3.3.0-v20070511/forms-3.3.0-v20070511.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/help/3.3.0-v20070524/help-3.3.0-v20070524.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/3.3.0-I20070601-1200/ui-3.3.0-I20070601-1200.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/swt/3.3.0-v3345b/swt-3.3.0-v3345b.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/ide/3.3.0-I20070531-1800/ide-3.3.0-I20070531-1800.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jface/3.3.0-I20070601-1200/jface-3.3.0-I20070601-1200.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/commands/3.3.0-I20070523-1500/commands-3.3.0-I20070523-1500.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/workbench/3.3.0-I20070601-0010/workbench-3.3.0-I20070601-0010.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jface/databinding/1.1.0-I20070530-0100/databinding-1.1.0-I20070530-0100.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/databinding/1.0.0-I20070530-0100/databinding-1.0.0-I20070530-0100.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/views/3.2.100-I20070319-0010/views-3.2.100-I20070319-0010.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/update/configurator/3.2.100-v20070507/configurator-3.2.100-v20070507.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/update/core/3.2.100-v20070522/core-3.2.100-v20070522.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/jobs/3.3.0-v20070423/jobs-3.3.0-v20070423.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/launching/3.3.0-v20070510/launching-3.3.0-v20070510.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/core/manipulation/1.1.0-v20070531-1300/manipulation-1.1.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/navigator/3.3.0-I20070531-1800/navigator-3.3.0-I20070531-1800.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/net/1.0.0-I20070531/net-1.0.0-I20070531.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/update/ui/3.2.100-v20070601a/ui-3.2.100-v20070601a.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/forms/3.3.0-v20070511/forms-3.3.0-v20070511.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jface/text/3.3.0-v20070531-1300/text-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/osgi/3.3.0-v20070530/osgi-3.3.0-v20070530.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/preferences/3.2.100-v20070522/preferences-3.2.100-v20070522.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ltk/core/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ltk/ui/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/equinox/registry/3.3.0-v20070522/registry-3.3.0-v20070522.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/resources/3.3.0-v20070530/resources-3.3.0-v20070530.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/navigator/resources/3.2.100-I20070530-0100/resources-3.2.100-I20070530-0100.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/runtime/3.3.100-v20070530/runtime-3.3.100-v20070530.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/search/3.3.0-v20070531-1300/search-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/swt/3.3.0-v3345b/swt-3.3.0-v3345b.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/views/properties/tabbed/3.2.100-I20070424-0010/tabbed-3.2.100-I20070424-0010.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/text/3.3.0-v20070531-1300/text-3.3.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jface/text/3.3.0-v20070531-1300/text-3.3.0-v20070531-1300.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/workbench/texteditor/3.3.0-v20070531-1300/texteditor-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/editors/3.3.0-v20070531-1300/editors-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/filebuffers/3.3.0-v20070531-1300/filebuffers-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/variables/3.2.0-v20070426/variables-3.2.0-v20070426.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/core/3.3.0-v_768/core-3.3.0-v_768.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/3.3.0-I20070601-1200/ui-3.3.0-I20070601-1200.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/debug/ui/3.3.0-v20070531-1800/ui-3.3.0-v20070531-1800.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/console/3.2.0-v20070530/console-3.2.0-v20070530.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/debug/core/3.3.0-v20070531-1800/core-3.3.0-v20070531-1800.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/debug/3.3.0-v20070530a/debug-3.3.0-v20070530a.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/launching/3.3.0-v20070510/launching-3.3.0-v20070510.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/ui/3.3.0-v20070531-1300/ui-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/search/3.3.0-v20070531-1300/search-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/compare/3.3.0-I20070528/compare-3.3.0-I20070528.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/debug/ui/3.2.100-v20070531-1800/ui-3.2.100-v20070531-1800.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/team/ui/3.3.0-I20070524/ui-3.3.0-I20070524.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/team/core/3.2.100-I20070531/core-3.2.100-I20070531.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/navigator/3.3.0-I20070531-1800/navigator-3.3.0-I20070531-1800.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/navigator/resources/3.2.100-I20070530-0100/resources-3.2.100-I20070530-0100.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/views/properties/tabbed/3.2.100-I20070424-0010/tabbed-3.2.100-I20070424-0010.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ltk/core/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ltk/ui/refactoring/3.3.0-v20070531-1300/refactoring-3.3.0-v20070531-1300.jar"/>
> -  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/jdt/core/manipulation/1.1.0-v20070531-1300/manipulation-1.1.0-v20070531-1300.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/update/ui/3.2.100-v20070601a/ui-3.2.100-v20070601a.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/core/variables/3.2.0-v20070426/variables-3.2.0-v20070426.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/views/3.2.100-I20070319-0010/views-3.2.100-I20070319-0010.jar"/>
> +  <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/ui/workbench/3.3.0-I20070601-0010/workbench-3.3.0-I20070601-0010.jar"/>
>   <classpathentry kind="var" 
> path="M2_REPO/org/eclipse/swt/win32/win32/x86/3.3.0-v3346/x86-3.3.0-v3346.jar"/>
> </classpath>
> \ No newline at end of file
>
>