You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2008/10/30 14:10:20 UTC

svn commit: r709156 [2/2] - in /tuscany/branches/sca-java-1.3.3: itest/validation/src/main/resources/contribution/xml/MultipleCompositeErrors/ itest/validation/src/test/java/binding/jms/ itest/validation/src/test/java/contribution/xml/ itest/validation...

Modified: tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java Thu Oct 30 06:10:19 2008
@@ -77,7 +77,7 @@
               modelFactories.getFactory(PolicyFactory.class), extensionProcessor, monitor);
     }
     
-    public ConstrainingType read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public ConstrainingType read(XMLStreamReader reader) throws ContributionReadException {
         ConstrainingType constrainingType = null;
         AbstractService abstractService = null;
         AbstractReference abstractReference = null;
@@ -85,100 +85,107 @@
         AbstractContract abstractContract = null;
         QName name = null;
         
-        // Read the constrainingType document
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-
-                case START_ELEMENT:
-                    name = reader.getName();
-                    
-                    // Read a <constrainingType>
-                    if (Constants.CONSTRAINING_TYPE_QNAME.equals(name)) {
-                        constrainingType = assemblyFactory.createConstrainingType();
-                        constrainingType.setName(new QName(getString(reader, TARGET_NAMESPACE), getString(reader, NAME)));
-                        policyProcessor.readPolicies(constrainingType, reader);
-
-                    } else if (Constants.SERVICE_QNAME.equals(name)) {
-                        
-                        // Read a <service>
-                        abstractService = assemblyFactory.createAbstractService();
-                        abstractContract = abstractService;
-                        abstractService.setName(getString(reader, Constants.NAME));
-                        constrainingType.getServices().add(abstractService);
-                        policyProcessor.readPolicies(abstractService, reader);
-
-                    } else if (Constants.REFERENCE_QNAME.equals(name)) {
-                        
-                        // Read a <reference>
-                        abstractReference = assemblyFactory.createAbstractReference();
-                        abstractContract = abstractReference;
-                        abstractReference.setName(getString(reader, Constants.NAME));
-                        readMultiplicity(abstractReference, reader);
-                        constrainingType.getReferences().add(abstractReference);
-                        policyProcessor.readPolicies(abstractReference, reader);
-
-                    } else if (Constants.PROPERTY_QNAME.equals(name)) {
-                        
-                        // Read a <property>
-                        abstractProperty = assemblyFactory.createAbstractProperty();
-                        readAbstractProperty(abstractProperty, reader);
-                        
-                        // Read the property value
-                        Document value = readPropertyValue(abstractProperty.getXSDElement(), abstractProperty.getXSDType(), reader);
-                        abstractProperty.setValue(value);
-                        
-                        constrainingType.getProperties().add(abstractProperty);
-                        policyProcessor.readPolicies(abstractProperty, reader);
-                        
-                    } else if (OPERATION_QNAME.equals(name)) {
-
-                        // Read an <operation>
-                        Operation operation = new OperationImpl();
-                        operation.setName(getString(reader, NAME));
-                        operation.setUnresolved(true);
-                        policyProcessor.readPolicies(abstractContract, operation, reader);
+        try {
+            // Read the constrainingType document
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+    
+                    case START_ELEMENT:
+                        name = reader.getName();
                         
-                    } else {
-
-                        // Read an extension element
-                        Object extension = extensionProcessor.read(reader);
-                        if (extension instanceof InterfaceContract) {
+                        // Read a <constrainingType>
+                        if (Constants.CONSTRAINING_TYPE_QNAME.equals(name)) {
+                            constrainingType = assemblyFactory.createConstrainingType();
+                            constrainingType.setName(new QName(getString(reader, TARGET_NAMESPACE), getString(reader, NAME)));
+                            policyProcessor.readPolicies(constrainingType, reader);
+    
+                        } else if (Constants.SERVICE_QNAME.equals(name)) {
+                            
+                            // Read a <service>
+                            abstractService = assemblyFactory.createAbstractService();
+                            abstractContract = abstractService;
+                            abstractService.setName(getString(reader, Constants.NAME));
+                            constrainingType.getServices().add(abstractService);
+                            policyProcessor.readPolicies(abstractService, reader);
+    
+                        } else if (Constants.REFERENCE_QNAME.equals(name)) {
+                            
+                            // Read a <reference>
+                            abstractReference = assemblyFactory.createAbstractReference();
+                            abstractContract = abstractReference;
+                            abstractReference.setName(getString(reader, Constants.NAME));
+                            readMultiplicity(abstractReference, reader);
+                            constrainingType.getReferences().add(abstractReference);
+                            policyProcessor.readPolicies(abstractReference, reader);
+    
+                        } else if (Constants.PROPERTY_QNAME.equals(name)) {
+                            
+                            // Read a <property>
+                            abstractProperty = assemblyFactory.createAbstractProperty();
+                            readAbstractProperty(abstractProperty, reader);
+                            
+                            // Read the property value
+                            Document value = readPropertyValue(abstractProperty.getXSDElement(), abstractProperty.getXSDType(), reader);
+                            abstractProperty.setValue(value);
+                            
+                            constrainingType.getProperties().add(abstractProperty);
+                            policyProcessor.readPolicies(abstractProperty, reader);
+                            
+                        } else if (OPERATION_QNAME.equals(name)) {
+    
+                            // Read an <operation>
+                            Operation operation = new OperationImpl();
+                            operation.setName(getString(reader, NAME));
+                            operation.setUnresolved(true);
+                            policyProcessor.readPolicies(abstractContract, operation, reader);
                             
-                            // <service><interface> and <reference><interface>
-                            abstractContract.setInterfaceContract((InterfaceContract)extension);
                         } else {
-
-                            // Add the extension element to the current element
-                            if (abstractContract != null) {
-                                abstractContract.getExtensions().add(extension);
+    
+                            // Read an extension element
+                            Object extension = extensionProcessor.read(reader);
+                            if (extension instanceof InterfaceContract) {
+                                
+                                // <service><interface> and <reference><interface>
+                                abstractContract.setInterfaceContract((InterfaceContract)extension);
                             } else {
-                                constrainingType.getExtensions().add(extension);
+    
+                                // Add the extension element to the current element
+                                if (abstractContract != null) {
+                                    abstractContract.getExtensions().add(extension);
+                                } else {
+                                    constrainingType.getExtensions().add(extension);
+                                }
+                                
                             }
-                            
                         }
-                    }
-                    break;
-
-                case END_ELEMENT:
-                    name = reader.getName();
-
-                    // Clear current state when reading reaching end element
-                    if (SERVICE_QNAME.equals(name)) {
-                        abstractService = null;
-                        abstractContract = null;
-                    } else if (REFERENCE_QNAME.equals(name)) {
-                        abstractReference = null;
-                        abstractContract = null;
-                    } else if (PROPERTY_QNAME.equals(name)) {
-                        abstractProperty = null;
-                    }
-                    break;
-            }
-            if (reader.hasNext()) {
-                reader.next();
+                        break;
+    
+                    case END_ELEMENT:
+                        name = reader.getName();
+    
+                        // Clear current state when reading reaching end element
+                        if (SERVICE_QNAME.equals(name)) {
+                            abstractService = null;
+                            abstractContract = null;
+                        } else if (REFERENCE_QNAME.equals(name)) {
+                            abstractReference = null;
+                            abstractContract = null;
+                        } else if (PROPERTY_QNAME.equals(name)) {
+                            abstractProperty = null;
+                        }
+                        break;
+                }
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
+        
         return constrainingType;
     }
     

Modified: tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties (original)
+++ tuscany/branches/sca-java-1.3.3/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties Thu Oct 30 06:10:19 2008
@@ -26,4 +26,4 @@
 PolicyServiceValidationException = PolicyValidation exceptions when processing service/reference {0} in {1}. Error is {2}
 ContributionReadException = ContributionReadException occured due to : {0}
 ContributionWriteException = ContributionWriteException occured due to : {0}
-
+XMLStreamException = XMLStreamException occured due to : {0}

Added: tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd?rev=709156&view=auto
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd (added)
+++ tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd Thu Oct 30 06:10:19 2008
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2007 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+        xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+        elementFormDefault="qualified">
+       
+    <include schemaLocation="sca-core.xsd"/>
+       
+    <element name="contribution" type="sca:ContributionType"/>        
+    <complexType name="ContributionType">
+         <sequence>
+             <element name="deployable" type="sca:DeployableType" minOccurs="1" maxOccurs="unbounded"/>
+             <element name="import" type="sca:ImportType" minOccurs="0" maxOccurs="unbounded"/>
+             <element name="export" type="sca:ExportType" minOccurs="0" maxOccurs="unbounded"/>
+             <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <anyAttribute namespace="##other" processContents="lax"/>
+    </complexType>        
+
+    <complexType name="DeployableType">
+         <sequence>
+             <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="composite" type="QName" use="required"/>
+        <anyAttribute namespace="##other" processContents="lax"/>
+    </complexType>        
+
+    <complexType name="ImportType">
+         <sequence>
+             <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="namespace" type="string" use="required"/>
+        <attribute name="location" type="anyURI" use="required"/>
+        <anyAttribute namespace="##other" processContents="lax"/>
+    </complexType>        
+
+    <complexType name="ExportType">
+         <sequence>
+             <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="namespace" type="string" use="required"/>
+        <anyAttribute namespace="##other" processContents="lax"/>
+    </complexType>           
+</schema> 
\ No newline at end of file

Propchange: tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca.xsd
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca.xsd?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca.xsd (original)
+++ tuscany/branches/sca-java-1.3.3/modules/assembly-xsd/src/main/resources/sca.xsd Thu Oct 30 06:10:19 2008
@@ -16,6 +16,8 @@
     <include schemaLocation="sca-binding-jms.xsd"/>
     <include schemaLocation="sca-binding-sca.xsd"/>
     
+    <include schemaLocation="sca-contributions.xsd"/>
+    
     <include schemaLocation="sca-definitions.xsd"/>
     <include schemaLocation="sca-policy.xsd"/>
     

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java Thu Oct 30 06:10:19 2008
@@ -74,6 +74,20 @@
 	        monitor.problem(problem);
     	 }
      }
+     
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-java-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
 
     public QName getArtifactType() {
         return EXPORT_JAVA;
@@ -86,38 +100,44 @@
     /**
      * Process <export package=""/>
      */
-    public JavaExport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public JavaExport read(XMLStreamReader reader) throws ContributionReadException {
         JavaExport javaExport = this.factory.createJavaExport();
         QName element = null;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    element = reader.getName();
-                    
-                    // Read <export.java>
-                    if (EXPORT_JAVA.equals(element)) {
-                        String packageName = reader.getAttributeValue(null, PACKAGE);
-                        if (packageName == null) {
-                        	error("AttributePackageMissing", reader);
-                            //throw new ContributionReadException("Attribute 'package' is missing");
-                        } else                        
-                            javaExport.setPackage(packageName);
-                    }
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    if (EXPORT_JAVA.equals(reader.getName())) {
-                        return javaExport;
-                    }
-                    break;        
-            }
-            
-            //Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        element = reader.getName();
+                        
+                        // Read <export.java>
+                        if (EXPORT_JAVA.equals(element)) {
+                            String packageName = reader.getAttributeValue(null, PACKAGE);
+                            if (packageName == null) {
+                            	error("AttributePackageMissing", reader);
+                                //throw new ContributionReadException("Attribute 'package' is missing");
+                            } else                        
+                                javaExport.setPackage(packageName);
+                        }
+                        break;
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (EXPORT_JAVA.equals(reader.getName())) {
+                            return javaExport;
+                        }
+                        break;        
+                }
+                
+                //Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return javaExport;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java Thu Oct 30 06:10:19 2008
@@ -75,6 +75,20 @@
 	        monitor.problem(problem);
     	 }
      }
+     
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-java-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
     
     public QName getArtifactType() {
         return IMPORT_JAVA;
@@ -87,41 +101,47 @@
     /**
      * Process <import.java package="" location=""/>
      */
-    public JavaImport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public JavaImport read(XMLStreamReader reader) throws ContributionReadException {
         JavaImport javaImport = this.factory.createJavaImport();
         QName element = null;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    element = reader.getName();
-
-                    // Read <import.java>
-                    if (IMPORT_JAVA.equals(element)) {
-                        String packageName = reader.getAttributeValue(null, PACKAGE);
-                        if (packageName == null) {
-                        	error("AttributePackageMissing", reader);
-                            //throw new ContributionReadException("Attribute 'package' is missing");
-                        } else
-                        	javaImport.setPackage(packageName);
-                        
-                        String location = reader.getAttributeValue(null, LOCATION);                        
-                        javaImport.setLocation(location);
-                    }
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    if (IMPORT_JAVA.equals(reader.getName())) {
-                        return javaImport;
-                    }
-                    break;        
-            }
-            
-            // Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        element = reader.getName();
+    
+                        // Read <import.java>
+                        if (IMPORT_JAVA.equals(element)) {
+                            String packageName = reader.getAttributeValue(null, PACKAGE);
+                            if (packageName == null) {
+                            	error("AttributePackageMissing", reader);
+                                //throw new ContributionReadException("Attribute 'package' is missing");
+                            } else
+                            	javaImport.setPackage(packageName);
+                            
+                            String location = reader.getAttributeValue(null, LOCATION);                        
+                            javaImport.setLocation(location);
+                        }
+                        break;
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (IMPORT_JAVA.equals(reader.getName())) {
+                            return javaImport;
+                        }
+                        break;        
+                }
+                
+                // Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return javaImport;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties Thu Oct 30 06:10:19 2008
@@ -19,4 +19,5 @@
 #
 #
 AttributePackageMissing = Attribute 'package' is missing
+XMLStreamException = XMLStreamException occured due to : {0}
 

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java Thu Oct 30 06:10:19 2008
@@ -72,6 +72,20 @@
 	        monitor.problem(problem);
     	 }
      }
+     
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
 
     public QName getArtifactType() {
         return EXPORT;
@@ -84,39 +98,45 @@
     /**
      * Process <export namespace=""/>
      */
-    public NamespaceExport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public NamespaceExport read(XMLStreamReader reader) throws ContributionReadException {
         NamespaceExport namespaceExport = this.factory.createNamespaceExport();
         QName element = null;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    element = reader.getName();
-                    
-                    // Read <export>
-                    if (EXPORT.equals(element)) {
-                        String ns = reader.getAttributeValue(null, NAMESPACE);
-                        if (ns == null) {
-                        	error("AttributeNameSpaceMissing", reader);
-                            //throw new ContributionReadException("Attribute 'namespace' is missing");
-                        } else
-                            namespaceExport.setNamespace(ns);
-                    } 
-                    
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    if (EXPORT.equals(reader.getName())) {
-                        return namespaceExport;
-                    }
-                    break;        
-            }
-            
-            // Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        element = reader.getName();
+                        
+                        // Read <export>
+                        if (EXPORT.equals(element)) {
+                            String ns = reader.getAttributeValue(null, NAMESPACE);
+                            if (ns == null) {
+                            	error("AttributeNameSpaceMissing", reader);
+                                //throw new ContributionReadException("Attribute 'namespace' is missing");
+                            } else
+                                namespaceExport.setNamespace(ns);
+                        } 
+                        
+                        break;
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (EXPORT.equals(reader.getName())) {
+                            return namespaceExport;
+                        }
+                        break;        
+                }
+                
+                // Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return namespaceExport;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java Thu Oct 30 06:10:19 2008
@@ -75,6 +75,20 @@
     	 }
      }
     
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
+    
     public QName getArtifactType() {
         return IMPORT;
     }
@@ -86,43 +100,49 @@
     /**
      * Process <import namespace="" location=""/>
      */
-    public NamespaceImport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public NamespaceImport read(XMLStreamReader reader) throws ContributionReadException {
         NamespaceImport namespaceImport = this.factory.createNamespaceImport();
         QName element;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    element = reader.getName();
-
-                    // Read <import>
-                    if (IMPORT.equals(element)) {
-                        String ns = reader.getAttributeValue(null, NAMESPACE);
-                        if (ns == null) {
-                        	error("AttributeNameSpaceMissing", reader);
-                            //throw new ContributionReadException("Attribute 'namespace' is missing");
-                        } else 
-                            namespaceImport.setNamespace(ns);
-
-                        String location = reader.getAttributeValue(null, LOCATION);
-                        if (location != null) {
-                            namespaceImport.setLocation(location);
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        element = reader.getName();
+    
+                        // Read <import>
+                        if (IMPORT.equals(element)) {
+                            String ns = reader.getAttributeValue(null, NAMESPACE);
+                            if (ns == null) {
+                            	error("AttributeNameSpaceMissing", reader);
+                                //throw new ContributionReadException("Attribute 'namespace' is missing");
+                            } else 
+                                namespaceImport.setNamespace(ns);
+    
+                            String location = reader.getAttributeValue(null, LOCATION);
+                            if (location != null) {
+                                namespaceImport.setLocation(location);
+                            }
                         }
-                    }
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    if (IMPORT.equals(reader.getName())) {
-                        return namespaceImport;
-                    }
-                    break;        
-            }
-            
-            // Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+                        break;
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (IMPORT.equals(reader.getName())) {
+                            return namespaceImport;
+                        }
+                        break;        
+                }
+                
+                // Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return namespaceImport;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties Thu Oct 30 06:10:19 2008
@@ -19,4 +19,5 @@
 #
 #
 AttributeNameSpaceMissing = Attribute 'namespace' is missing
+XMLStreamException = XMLStreamException occured due to : {0}
 

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java Thu Oct 30 06:10:19 2008
@@ -68,10 +68,24 @@
      */
      private void error(String message, Object model, Object... messageParameters) {
     	 if (monitor != null) {
-	        Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
-	        monitor.problem(problem);
+            Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
+            monitor.problem(problem);
     	 }
      }
+     
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
 
     public QName getArtifactType() {
         return EXPORT_RESOURCE;
@@ -84,39 +98,45 @@
     /**
      * Process <export.resource uri=""/>
      */
-    public ResourceExport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public ResourceExport read(XMLStreamReader reader) throws ContributionReadException {
     	ResourceExport resourceExport = this.factory.createResourceExport();
         QName element = null;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    element = reader.getName();
-                    
-                    // Read <export.resource>
-                    if (EXPORT_RESOURCE.equals(element)) {
-                        String uri = reader.getAttributeValue(null, URI);
-                        if (uri == null) {
-                        	error("AttributeURIMissing", reader);
-                            //throw new ContributionReadException("Attribute 'uri' is missing");
-                        } else
-                            resourceExport.setURI(uri);
-                    } 
-                    
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    if (EXPORT_RESOURCE.equals(reader.getName())) {
-                        return resourceExport;
-                    }
-                    break;        
-            }
-            
-            // Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        element = reader.getName();
+                        
+                        // Read <export.resource>
+                        if (EXPORT_RESOURCE.equals(element)) {
+                            String uri = reader.getAttributeValue(null, URI);
+                            if (uri == null) {
+                            	error("AttributeURIMissing", reader);
+                                //throw new ContributionReadException("Attribute 'uri' is missing");
+                            } else
+                                resourceExport.setURI(uri);
+                        } 
+                        
+                        break;
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (EXPORT_RESOURCE.equals(reader.getName())) {
+                            return resourceExport;
+                        }
+                        break;        
+                }
+                
+                // Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return resourceExport;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java Thu Oct 30 06:10:19 2008
@@ -74,6 +74,20 @@
 	        monitor.problem(problem);
     	 }
      }
+     
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
     
     public QName getArtifactType() {
         return IMPORT_RESOURCE;
@@ -86,43 +100,49 @@
     /**
      * Process <import.resource uri="" location=""/>
      */
-    public ResourceImport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public ResourceImport read(XMLStreamReader reader) throws ContributionReadException {
     	ResourceImport resourceImport = this.factory.createResourceImport();
         QName element;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    element = reader.getName();
-
-                    // Read <import>
-                    if (IMPORT_RESOURCE.equals(element)) {
-                        String uri = reader.getAttributeValue(null, URI);
-                        if (uri == null) {
-                        	error("AttributeURIMissing", reader);
-                            //throw new ContributionReadException("Attribute 'uri' is missing");
-                        } else
-                            resourceImport.setURI(uri);
-
-                        String location = reader.getAttributeValue(null, LOCATION);
-                        if (location != null) {
-                            resourceImport.setLocation(location);
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        element = reader.getName();
+    
+                        // Read <import>
+                        if (IMPORT_RESOURCE.equals(element)) {
+                            String uri = reader.getAttributeValue(null, URI);
+                            if (uri == null) {
+                            	error("AttributeURIMissing", reader);
+                                //throw new ContributionReadException("Attribute 'uri' is missing");
+                            } else
+                                resourceImport.setURI(uri);
+    
+                            String location = reader.getAttributeValue(null, LOCATION);
+                            if (location != null) {
+                                resourceImport.setLocation(location);
+                            }
                         }
-                    }
-                    break;
-                case XMLStreamConstants.END_ELEMENT:
-                    if (IMPORT_RESOURCE.equals(reader.getName())) {
-                        return resourceImport;
-                    }
-                    break;        
-            }
-            
-            // Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+                        break;
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (IMPORT_RESOURCE.equals(reader.getName())) {
+                            return resourceImport;
+                        }
+                        break;        
+                }
+                
+                // Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return resourceImport;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties Thu Oct 30 06:10:19 2008
@@ -19,4 +19,5 @@
 #
 #
 AttributeURIMissing = Attribute 'uri' is missing
+XMLStreamException = XMLStreamException occured due to : {0}
 

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java Thu Oct 30 06:10:19 2008
@@ -33,6 +33,7 @@
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.contribution.service.ContributionReadException;
 import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
@@ -61,7 +62,7 @@
     public ContributionMetadataDocumentProcessor(ModelFactoryExtensionPoint modelFactories, 
     											 StAXArtifactProcessor staxProcessor,
     											 Monitor monitor) {
-        this.inputFactory = modelFactories.getFactory(XMLInputFactory.class);
+        this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class);
         this.staxProcessor = staxProcessor;
         this.monitor = monitor;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java Thu Oct 30 06:10:19 2008
@@ -88,6 +88,20 @@
     	 }
      }
      
+     /**
+      * Report a exception.
+      * 
+      * @param problems
+      * @param message
+      * @param model
+      */
+     private void error(String message, Object model, Exception ex) {
+         if (monitor != null) {
+             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-xml-validation-messages", Severity.ERROR, model, message, ex);
+             monitor.problem(problem);
+         }
+     }
+     
     public ContributionMetadataProcessor(ModelFactoryExtensionPoint modelFactories, 
     									 StAXArtifactProcessor<Object> extensionProcessor,
     									 Monitor monitor) {
@@ -106,63 +120,69 @@
         return ContributionMetadata.class;
     }
 
-    public ContributionMetadata read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public ContributionMetadata read(XMLStreamReader reader) throws ContributionReadException {
         ContributionMetadata contribution = null;
         QName name = null;
         
-        while (reader.hasNext()) {
-            int event = reader.getEventType();
-            switch (event) {
-                case START_ELEMENT:
-                    name = reader.getName();
-                    
-                    if (CONTRIBUTION_QNAME.equals(name)) {
-
-                        // Read <contribution>
-                        contribution = this.contributionFactory.createContributionMetadata();
-                        contribution.setUnresolved(true);
+        try {
+            while (reader.hasNext()) {
+                int event = reader.getEventType();
+                switch (event) {
+                    case START_ELEMENT:
+                        name = reader.getName();
                         
-                    } else if (DEPLOYABLE_QNAME.equals(name)) {                        
-                        
-                        // Read <deployable>
-                        QName compositeName = getQName(reader, "composite");
-                        if (compositeName == null) {
-                        	error("AttributeCompositeMissing", reader);
-                            //throw new ContributionReadException("Attribute 'composite' is missing");
+                        if (CONTRIBUTION_QNAME.equals(name)) {
+    
+                            // Read <contribution>
+                            contribution = this.contributionFactory.createContributionMetadata();
+                            contribution.setUnresolved(true);
+                            
+                        } else if (DEPLOYABLE_QNAME.equals(name)) {                        
+                            
+                            // Read <deployable>
+                            QName compositeName = getQName(reader, "composite");
+                            if (compositeName == null) {
+                            	error("AttributeCompositeMissing", reader);
+                                //throw new ContributionReadException("Attribute 'composite' is missing");
+                            } else {
+                                if (contribution != null) {
+                                    Composite composite = assemblyFactory.createComposite();
+                                    composite.setName(compositeName);
+                                    composite.setUnresolved(true);
+                                    contribution.getDeployables().add(composite);                         
+                                }
+                            }
                         } else {
-                            if (contribution != null) {
-                                Composite composite = assemblyFactory.createComposite();
-                                composite.setName(compositeName);
-                                composite.setUnresolved(true);
-                                contribution.getDeployables().add(composite);                         
+    
+                            // Read an extension element
+                            Object extension = extensionProcessor.read(reader);
+                            if (extension != null && contribution != null) {
+                                if (extension instanceof Import) {
+                                    contribution.getImports().add((Import)extension);
+                                } else if (extension instanceof Export) {
+                                    contribution.getExports().add((Export)extension);
+                                }
                             }
                         }
-                    } else {
-
-                        // Read an extension element
-                        Object extension = extensionProcessor.read(reader);
-                        if (extension != null && contribution != null) {
-                            if (extension instanceof Import) {
-                                contribution.getImports().add((Import)extension);
-                            } else if (extension instanceof Export) {
-                                contribution.getExports().add((Export)extension);
-                            }
+                        break;
+                        
+                    case XMLStreamConstants.END_ELEMENT:
+                        if (CONTRIBUTION_QNAME.equals(reader.getName())) {
+                            return contribution;
                         }
-                    }
-                    break;
-                    
-                case XMLStreamConstants.END_ELEMENT:
-                    if (CONTRIBUTION_QNAME.equals(reader.getName())) {
-                        return contribution;
-                    }
-                    break;        
-            }
-            
-            //Read the next element
-            if (reader.hasNext()) {
-                reader.next();
+                        break;        
+                }
+                
+                //Read the next element
+                if (reader.hasNext()) {
+                    reader.next();
+                }
             }
         }
+        catch (XMLStreamException e) {
+            ContributionReadException ex = new ContributionReadException(e);
+            error("XMLStreamException", reader, ex);
+        }
         
         return contribution;
     }

Modified: tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties?rev=709156&r1=709155&r2=709156&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties (original)
+++ tuscany/branches/sca-java-1.3.3/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties Thu Oct 30 06:10:19 2008
@@ -18,6 +18,7 @@
 #    under the License.
 #
 #
-XMLStreamException = XMLStreamException occured due to:
-IOException = IOException occured due to:
-AttributeCompositeMissing = Attribute 'composite' is missing
\ No newline at end of file
+XMLStreamException = XMLStreamException occured due to : {0}
+IOException = IOException occured due to : {0}
+AttributeCompositeMissing = Attribute 'composite' is missing
+