You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/04/01 04:13:37 UTC

svn commit: r524509 - in /incubator/tuscany/java/sca/scdl4j/stax: ./ src/main/java/org/apache/tuscany/scdl/stax/ src/main/java/org/apache/tuscany/scdl/stax/impl/ src/test/java/org/apache/tuscany/scdl/stax/impl/

Author: jsdelfino
Date: Sat Mar 31 19:13:36 2007
New Revision: 524509

URL: http://svn.apache.org/viewvc?view=rev&rev=524509
Log:
Some cleanup: Simplified reading of policies and added reading of <operation> elements. Simplified load method and removed dependency on o.a.t.assembly.Base. Removed dependency on the tuscany kernel api. Added comments to CompositeLoader.

Modified:
    incubator/tuscany/java/sca/scdl4j/stax/pom.xml
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Constants.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/InvalidConfigurationException.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Loader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/LoaderException.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/UnrecognizedElementException.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/BaseLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java
    incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java
    incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java

Modified: incubator/tuscany/java/sca/scdl4j/stax/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/pom.xml?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/pom.xml (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/pom.xml Sat Mar 31 19:13:36 2007
@@ -33,13 +33,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.tuscany.sca.kernel</groupId>
-            <artifactId>tuscany-api</artifactId>
-            <version>2.0-alpha2-incubating-SNAPSHOT</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-scdl4j-assembly</artifactId>
             <version>0.1-incubating-SNAPSHOT</version>

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Constants.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Constants.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Constants.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Constants.java Sat Mar 31 19:13:36 2007
@@ -48,6 +48,7 @@
     String REQUIRES = "requires";
     String POLICY_SETS = "policySets";
     String OPERATION = "operation";
+    QName OPERATION_QNAME = new QName(SCA10_NS, OPERATION);
     String CALLBACK = "callback";
     QName CALLBACK_QNAME = new QName(SCA10_NS, CALLBACK);
     String PROMOTE = "promote";

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/InvalidConfigurationException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/InvalidConfigurationException.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/InvalidConfigurationException.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/InvalidConfigurationException.java Sat Mar 31 19:13:36 2007
@@ -26,12 +26,8 @@
 public class InvalidConfigurationException extends LoaderException {
     private static final long serialVersionUID = -4312958640212000366L;
 
-    public InvalidConfigurationException(String message) {
-        super(message);
-    }
-
-    public InvalidConfigurationException(String message, String identifier, Throwable cause) {
-        super(message, identifier, cause);
-    }
-
+	public InvalidConfigurationException(String message, Throwable cause) {
+		super(message, cause);
+	}
+    
 }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Loader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Loader.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Loader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/Loader.java Sat Mar 31 19:13:36 2007
@@ -21,13 +21,11 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
-import org.apache.tuscany.assembly.model.Base;
-
 /**
  * A content handler for SCDL implementation elements.
  * 
  * @version $Rev$ $Date$
  */
 public interface Loader<T> {
-    T load(Base parent, XMLStreamReader reader) throws XMLStreamException;
+    T load(XMLStreamReader reader) throws XMLStreamException;
 }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/LoaderException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/LoaderException.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/LoaderException.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/LoaderException.java Sat Mar 31 19:13:36 2007
@@ -18,7 +18,6 @@
  */
 package org.apache.tuscany.scdl.stax;
 
-import org.apache.tuscany.api.TuscanyException;
 
 /**
  * Base class for Exceptions raised during the loading process. Loader implementations should throw a subclass of this
@@ -26,36 +25,25 @@
  *
  * @version $Rev$ $Date$
  */
-public class LoaderException extends TuscanyException {
+public class LoaderException extends RuntimeException {
     public static final int UNDEFINED = -1;
     private static final long serialVersionUID = -7459051598906813461L;
     private String resourceURI;
     private int line = UNDEFINED;
     private int column = UNDEFINED;
 
-    public LoaderException() {
-    }
-
     public LoaderException(String message) {
         super(message);
     }
 
-    public LoaderException(String message, String identifier) {
-        super(message, identifier);
-    }
-
     public LoaderException(String message, Throwable cause) {
         super(message, cause);
     }
 
-    public LoaderException(String message, String identifier, Throwable cause) {
-        super(message, identifier, cause);
-    }
-
     public LoaderException(Throwable cause) {
         super(cause);
     }
-
+    
     /**
      * Returns the location of the resource that was being loaded.
      *

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/UnrecognizedElementException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/UnrecognizedElementException.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/UnrecognizedElementException.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/UnrecognizedElementException.java Sat Mar 31 19:13:36 2007
@@ -30,16 +30,18 @@
     private final QName element;
 
     /**
-     * Constructor that indicates which resource could not be found. The supplied parameter is also returned as the
-     * message.
-     *
+     * Constructor that indicates which element could not be handled.
      * @param element the element that could not be handled
      */
     public UnrecognizedElementException(QName element) {
-        super("Unrecognized element", element.toString());
+        super("Unrecognized element: " + element.toString());
         this.element = element;
     }
 
+    /**
+     * Returns the element that could not be handled.
+     * @return the element that could not be handled.
+     */
     public QName getElement() {
         return element;
     }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/BaseLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/BaseLoader.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/BaseLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/BaseLoader.java Sat Mar 31 19:13:36 2007
@@ -31,6 +31,7 @@
 
 import org.apache.tuscany.assembly.model.AbstractProperty;
 import org.apache.tuscany.assembly.model.AssemblyFactory;
+import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.ConstrainingType;
 import org.apache.tuscany.assembly.model.Property;
 import org.apache.tuscany.policy.model.Intent;
@@ -38,7 +39,9 @@
 import org.apache.tuscany.policy.model.PolicyFactory;
 import org.apache.tuscany.policy.model.PolicySet;
 import org.apache.tuscany.policy.model.PolicySetAttachPoint;
+import org.apache.tuscany.sca.idl.Operation;
 import org.apache.tuscany.scdl.stax.Constants;
+import org.apache.tuscany.scdl.stax.Loader;
 import org.apache.tuscany.scdl.stax.LoaderRegistry;
 
 /**
@@ -102,7 +105,11 @@
         }
     }
 
-    protected void readRequiredIntents(IntentAttachPoint attachPoint, XMLStreamReader reader) {
+    protected void readIntents(IntentAttachPoint attachPoint, XMLStreamReader reader) {
+    	readIntents(attachPoint, null, reader);
+    }
+    
+    protected void readIntents(IntentAttachPoint attachPoint, Operation operation, XMLStreamReader reader) {
         String value = reader.getAttributeValue(null, Constants.REQUIRES);
         if (value != null) {
             List<Intent> requiredIntents = attachPoint.getRequiredIntents();
@@ -110,12 +117,21 @@
                 QName qname = getQNameValue(reader, tokens.nextToken());
                 Intent intent = policyFactory.createIntent();
                 intent.setName(qname);
+    			if (operation != null) {
+    				intent.getOperations().add(operation);
+    			}
                 requiredIntents.add(intent);
             }
         }
     }
 
-    protected void readPolicySets(PolicySetAttachPoint attachPoint, XMLStreamReader reader) {
+    protected void readPolicies(PolicySetAttachPoint attachPoint, XMLStreamReader reader) {
+    	readPolicies(attachPoint, null, reader);
+    }
+
+    protected void readPolicies(PolicySetAttachPoint attachPoint, Operation operation, XMLStreamReader reader) {
+    	readIntents(attachPoint, operation, reader);
+    	
         String value = reader.getAttributeValue(null, Constants.POLICY_SETS);
         if (value != null) {
             List<PolicySet> policySets = attachPoint.getPolicySets();
@@ -123,6 +139,9 @@
                 QName qname = getQNameValue(reader, tokens.nextToken());
                 PolicySet policySet = policyFactory.createPolicySet();
                 policySet.setName(qname);
+    			if (operation != null) {
+    				policySet.getOperations().add(operation);
+    			}
                 policySets.add(policySet);
             }
         }
@@ -146,7 +165,6 @@
         prop.setMustSupply(getBoolean(reader, "mustSupply"));
         prop.setXSDElement(getQName(reader, "element"));
         prop.setXSDType(getQName(reader, "type"));
-        // TODO handle default value
     }
 
     protected void readProperty(Property prop, XMLStreamReader reader) {

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java Sat Mar 31 19:13:36 2007
@@ -26,7 +26,6 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.assembly.model.AssemblyFactory;
-import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.Callback;
 import org.apache.tuscany.assembly.model.ComponentService;
 import org.apache.tuscany.assembly.model.ComponentType;
@@ -50,7 +49,7 @@
         super(factory, policyFactory, registry);
     }
 
-    public ComponentType load(Base parent, XMLStreamReader reader) throws XMLStreamException {
+    public ComponentType load(XMLStreamReader reader) throws XMLStreamException {
         ComponentType componentType = null;
         Service service = null;
         Reference reference = null;
@@ -66,16 +65,14 @@
                     if (Constants.COMPONENT_TYPE_QNAME.equals(name)) {
                         componentType = factory.createComponentType();
                         componentType.setConstrainingType(getConstrainingType(reader));
-                        readRequiredIntents(componentType, reader);
-                        readPolicySets(componentType, reader);
+                        readPolicies(componentType, reader);
 
                     } else if (Constants.SERVICE_QNAME.equals(name)) {
                         service = factory.createService();
                         contract = service;
                         service.setName(getString(reader, Constants.NAME));
                         componentType.getServices().add(service);
-                        readRequiredIntents(service, reader);
-                        readPolicySets(service, reader);
+                        readPolicies(service, reader);
 
                     } else if (Constants.REFERENCE_QNAME.equals(name)) {
                         reference = factory.createReference();
@@ -89,21 +86,18 @@
                         reference.getTargets().add(target);
 
                         componentType.getReferences().add(reference);
-                        readRequiredIntents(reference, reader);
-                        readPolicySets(reference, reader);
+                        readPolicies(reference, reader);
 
                     } else if (Constants.PROPERTY_QNAME.equals(name)) {
                         property = factory.createProperty();
                         readProperty(property, reader);
                         componentType.getProperties().add(property);
-                        readRequiredIntents(property, reader);
-                        readPolicySets(property, reader);
+                        readPolicies(property, reader);
 
                     } else if (Constants.CALLBACK_QNAME.equals(name)) {
                         callback = factory.createCallback();
                         contract.setCallback(callback);
-                        readRequiredIntents(callback, reader);
-                        readPolicySets(callback, reader);
+                        readPolicies(callback, reader);
 
                     }
             }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java Sat Mar 31 19:13:36 2007
@@ -28,7 +28,6 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.assembly.model.AssemblyFactory;
-import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.Callback;
 import org.apache.tuscany.assembly.model.Component;
 import org.apache.tuscany.assembly.model.ComponentProperty;
@@ -41,7 +40,7 @@
 import org.apache.tuscany.assembly.model.Property;
 import org.apache.tuscany.assembly.model.Wire;
 import org.apache.tuscany.policy.model.PolicyFactory;
-import org.apache.tuscany.scdl.stax.Constants;
+import org.apache.tuscany.sca.idl.Operation;
 import org.apache.tuscany.scdl.stax.Loader;
 import org.apache.tuscany.scdl.stax.LoaderRegistry;
 
@@ -52,11 +51,23 @@
  */
 public class CompositeLoader extends BaseLoader implements Loader<Composite> {
 
-    public CompositeLoader(AssemblyFactory factory, PolicyFactory policyFactory, LoaderRegistry registry) {
-        super(factory, policyFactory, registry);
+	/**
+	 * Construct a new composite loader
+	 * @param assemblyFactory 
+	 * @param policyFactory
+	 * @param registry
+	 */
+    public CompositeLoader(AssemblyFactory assemblyFactory, PolicyFactory policyFactory, LoaderRegistry registry) {
+        super(assemblyFactory, policyFactory, registry);
     }
 
-    public Composite load(Base parent, XMLStreamReader reader) throws XMLStreamException {
+    /**
+     * Read an SCA composite
+     * @param reader
+     * @return a composite model
+     * @throws XMLStreamException
+     */
+    public Composite load(XMLStreamReader reader) throws XMLStreamException {
         Composite composite = null;
         Composite include = null;
         Component component = null;
@@ -70,37 +81,43 @@
         Wire wire = null;
         Callback callback = null;
         QName name = null;
+
+        // Read the composite document
         while (reader.hasNext()) {
             int event = reader.getEventType();
             switch (event) {
                 case START_ELEMENT:
                     name = reader.getName();
+                    
                     if (COMPOSITE_QNAME.equals(name)) {
+                    	
+                    	// Read a <composite>
                         composite = factory.createComposite();
                         composite.setName(getQName(reader, NAME));
                         composite.setAutowire(getBoolean(reader, AUTOWIRE));
                         composite.setLocal(getBoolean(reader, LOCAL));
                         composite.setConstrainingType(getConstrainingType(reader));
-                        readRequiredIntents(composite, reader);
-                        readPolicySets(composite, reader);
+                        readPolicies(composite, reader);
+                        
                     } else if (INCLUDE_QNAME.equals(name)) {
+                    	
+                    	// Read an <include> 
                         include = factory.createComposite();
                         include.setUnresolved(true);
                         composite.getIncludes().add(include);
+                        
                     } else if (SERVICE_QNAME.equals(name)) {
                         if (component != null) {
+                        	
+                        	// Read a <component><service>
                             componentService = factory.createComponentService();
                             contract = componentService;
                             componentService.setName(getString(reader, NAME));
-                            readRequiredIntents(componentService, reader);
-                            readPolicySets(componentService, reader);
                             component.getServices().add(componentService);
-                            readRequiredIntents(contract, reader);
-                            readPolicySets(contract, reader);
-                            if (nextChildElement(reader)) {
-                                registry.load(contract, reader);
-                            }
+                            readPolicies(contract, reader);
                         } else {
+                        	
+                        	// Read a <composite><service>
                             compositeService = factory.createCompositeService();
                             contract = compositeService;
                             compositeService.setName(getString(reader, NAME));
@@ -111,11 +128,13 @@
                             compositeService.setPromotedService(promoted);
 
                             composite.getServices().add(compositeService);
-                            readRequiredIntents(contract, reader);
-                            readPolicySets(contract, reader);
+                            readPolicies(contract, reader);
                         }
+
                     } else if (REFERENCE_QNAME.equals(name)) {
                         if (component != null) {
+                        	
+                        	// Read a <component><reference>
                             componentReference = factory.createComponentReference();
                             contract = componentReference;
                             componentReference.setName(getString(reader, NAME));
@@ -127,12 +146,10 @@
                             componentReference.getTargets().add(target);
 
                             component.getReferences().add(componentReference);
-                            readRequiredIntents(contract, reader);
-                            readPolicySets(contract, reader);
-                            if (nextChildElement(reader)) {
-                                registry.load(contract, reader);
-                            }
+                            readPolicies(contract, reader);
                         } else {
+                        	
+                        	// Read a <composite><reference>
                             compositeReference = factory.createCompositeReference();
                             contract = compositeReference;
                             compositeReference.setName(getString(reader, NAME));
@@ -144,30 +161,38 @@
                             compositeReference.getPromotedReferences().add(promoted);
 
                             composite.getReferences().add(compositeReference);
-                            readRequiredIntents(contract, reader);
-                            readPolicySets(contract, reader);
+                            readPolicies(contract, reader);
                         }
+                        
                     } else if (PROPERTY_QNAME.equals(name)) {
                         if (component != null) {
+                        	
+                        	// Read a <component><property>
                             componentProperty = factory.createComponentProperty();
                             property = componentProperty;
                             readProperty(componentProperty, reader);
                             component.getProperties().add(componentProperty);
                         } else {
+                        	
+                        	// Read a <composite><property>
                             property = factory.createProperty();
                             readProperty(property, reader);
                             composite.getProperties().add(property);
                         }
-                        readRequiredIntents(property, reader);
-                        readPolicySets(property, reader);
+                        readPolicies(property, reader);
+                        
                     } else if (COMPONENT_QNAME.equals(name)) {
+                    	
+                    	// Read a <component>
                         component = factory.createComponent();
                         component.setName(getString(reader, NAME));
                         component.setConstrainingType(getConstrainingType(reader));
                         composite.getComponents().add(component);
-                        readRequiredIntents(component, reader);
-                        readPolicySets(component, reader);
+                        readPolicies(component, reader);
+                        
                     } else if (WIRE_QNAME.equals(name)) {
+                    	
+                    	// Read a <wire>
                         wire = factory.createWire();
                         ComponentReference source = factory.createComponentReference();
                         source.setUnresolved(true);
@@ -180,29 +205,56 @@
                         wire.setTarget(target);
 
                         composite.getWires().add(wire);
-                        readRequiredIntents(wire, reader);
-                        readPolicySets(wire, reader);
+                        readPolicies(wire, reader);
+                        
                     } else if (CALLBACK_QNAME.equals(name)) {
+                    	
+                    	// Read a <callback> 
                         callback = factory.createCallback();
                         contract.setCallback(callback);
-                        readRequiredIntents(callback, reader);
-                        readPolicySets(callback, reader);
-
+                        readPolicies(callback, reader);
+                        
+        	        } else if (OPERATION.equals(name)) {
+        	        	
+        	        	// Read an <operation>
+                		Operation operation = factory.createOperation();
+                		operation.setName(getString(reader, NAME));
+                		operation.setUnresolved(true);
+                		if (callback != null) {
+                			readPolicies(callback, operation, reader);
+                		} else {
+                			readPolicies(contract, operation, reader);
+                		}
+                    } else {
+                    	
+                        // Read extension elements
+                        // <service><interface>
+                        // <service><binding>
+                    	// <component><implementation>
+                        if (nextChildElement(reader)) {
+                            registry.load(reader);
+                            continue;
+                        }
                     }
                     break;
+
                 case XMLStreamConstants.CHARACTERS:
+                	
+                	// Read an <include>qname</include>
                     if (include != null && INCLUDE_QNAME.equals(name)) {
                         include.setName(getQNameValue(reader, reader.getText().trim()));
-                        // include = null;
                     }
-                    if (property != null && PROPERTY_QNAME.equals(name)) {
+                    
+                    // Read a <property>value</property>
+                    else if (property != null && PROPERTY_QNAME.equals(name)) {
                         property.setDefaultValue(reader.getText().trim());
-                        // property = null;
                     }
-
                     break;
+                
                 case END_ELEMENT:
                     name = reader.getName();
+                	
+                	// Clear current state when reading reaching end element
                     if (SERVICE_QNAME.equals(name)) {
                         componentService = null;
                         compositeService = null;
@@ -225,6 +277,8 @@
                     }
                     break;
             }
+            
+            // Read the next element
             if (reader.hasNext()) {
                 reader.next();
             }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java Sat Mar 31 19:13:36 2007
@@ -30,7 +30,6 @@
 import org.apache.tuscany.assembly.model.AbstractReference;
 import org.apache.tuscany.assembly.model.AbstractService;
 import org.apache.tuscany.assembly.model.AssemblyFactory;
-import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.ConstrainingType;
 import org.apache.tuscany.policy.model.PolicyFactory;
 import org.apache.tuscany.scdl.stax.Constants;
@@ -42,7 +41,7 @@
  * 
  * @version $Rev$ $Date$
  */
-public class ConstrainingTypeLoader extends BaseLoader implements Loader<ConstrainingType>{
+public class ConstrainingTypeLoader extends BaseLoader implements Loader<ConstrainingType> {
 
     public ConstrainingTypeLoader(AssemblyFactory factory,
                                   PolicyFactory policyFactory,
@@ -50,7 +49,7 @@
         super(factory, policyFactory, registry);
     }
 
-    public ConstrainingType load(Base parent, XMLStreamReader reader) throws XMLStreamException {
+    public ConstrainingType load(XMLStreamReader reader) throws XMLStreamException {
         ConstrainingType constrainingType = null;
         AbstractService abstractService = null;
         AbstractReference abstractReference = null;
@@ -64,27 +63,27 @@
                     if (Constants.CONSTRAINING_TYPE_QNAME.equals(name)) {
                         constrainingType = factory.createConstrainingType();
                         constrainingType.setName(getQName(reader, Constants.NAME));
-                        readRequiredIntents(constrainingType, reader);
+                        readIntents(constrainingType, reader);
 
                     } else if (Constants.SERVICE_QNAME.equals(name)) {
                         abstractService = factory.createAbstractService();
                         abstractContract = abstractService;
                         abstractService.setName(getString(reader, Constants.NAME));
                         constrainingType.getServices().add(abstractService);
-                        readRequiredIntents(abstractService, reader);
+                        readIntents(abstractService, reader);
 
                     } else if (Constants.REFERENCE_QNAME.equals(name)) {
                         abstractReference = factory.createAbstractReference();
                         abstractContract = abstractReference;
                         abstractReference.setName(getString(reader, Constants.NAME));
                         constrainingType.getReferences().add(abstractReference);
-                        readRequiredIntents(abstractReference, reader);
+                        readIntents(abstractReference, reader);
 
                     } else if (Constants.PROPERTY_QNAME.equals(name)) {
                         abstractProperty = factory.createAbstractProperty();
                         readAbstractProperty(abstractProperty, reader);
                         constrainingType.getProperties().add(abstractProperty);
-                        readRequiredIntents(abstractProperty, reader);
+                        readIntents(abstractProperty, reader);
 
                     }
             }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java Sat Mar 31 19:13:36 2007
@@ -31,7 +31,6 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.assembly.model.AssemblyFactory;
-import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.policy.model.PolicyFactory;
 import org.apache.tuscany.policy.model.impl.DefaultPolicyFactory;
@@ -77,18 +76,16 @@
         addLoader(Constants.CONSTRAINING_TYPE_QNAME, new ConstrainingTypeLoader(assemblyFactory, policyFactory, this));
     }
 
-    public Base load(Base object, XMLStreamReader reader) throws XMLStreamException {
+    public Object load(XMLStreamReader reader) throws XMLStreamException {
         QName name = reader.getName();
         Loader loader = loaders.get(name);
         if (loader == null) {
-            // FIXME:
-            // throw new IllegalArgumentException(name.toString());
             return null;
         }
-        return (Base)loader.load(object, reader);
+        return loader.load(reader);
     }
 
-    public <MO extends Base> MO load(Base object, URL url, Class<MO> type) throws LoaderException {
+    public <MO> MO load(URL url, Class<MO> type) throws LoaderException {
         try {
             XMLStreamReader reader;
             InputStream is;
@@ -98,7 +95,7 @@
                 try {
                     reader.nextTag();
                     QName name = reader.getName();
-                    Base mo = load(object, reader);
+                    Object mo = load(reader);
                     if (type.isInstance(mo)) {
                         return type.cast(mo);
                     } else {
@@ -130,7 +127,7 @@
             sfe.setResourceURI(url.toString());
             throw sfe;
         } catch (XMLStreamException e) {
-            throw new InvalidConfigurationException("Invalid or missing resource", url.toString(), e);
+            throw new InvalidConfigurationException("Invalid or missing resource: " + url.toString(), e);
         }
     }
 

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java Sat Mar 31 19:13:36 2007
@@ -56,7 +56,7 @@
 
     public void testReadComposite() throws Exception {
         URL url = getClass().getClassLoader().getResource("TestAllCalculator.composite");
-        Composite composite = loaderRegistry.load(null, url, Composite.class);
+        Composite composite = loaderRegistry.load(url, Composite.class);
         assertNotNull(composite);
         assertEquals(composite.getName(), new QName("http://calc", "TestAllCalculator"));
         assertEquals(composite.getConstrainingType().getName(), new QName("http://calc", "Calculator"));
@@ -138,7 +138,7 @@
 
     public void testReadCompositeAndWireIt() throws Exception {
         URL url = getClass().getClassLoader().getResource("TestAllCalculator.composite");
-        Composite composite = loaderRegistry.load(null, url, Composite.class);
+        Composite composite = loaderRegistry.load(url, Composite.class);
         assertNotNull(composite);
         new CompositeUtil(loaderRegistry.getAssemblyFactory(), composite).configure(null);
 

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java?view=diff&rev=524509&r1=524508&r2=524509
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java Sat Mar 31 19:13:36 2007
@@ -66,7 +66,7 @@
         ComponentTypeLoader loader = new ComponentTypeLoader(assemblyFactory, policyFactory, loaderRegistry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorImpl.componentType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(null, reader));
+        assertNotNull(loader.load(reader));
         is.close();
     }
 
@@ -74,7 +74,7 @@
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorComponent.constrainingType");
         ConstrainingTypeLoader loader = new ConstrainingTypeLoader(assemblyFactory, policyFactory, loaderRegistry);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(null, reader));
+        assertNotNull(loader.load(reader));
         is.close();
 
     }
@@ -89,7 +89,7 @@
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         CompositeLoader loader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(null, reader));
+        assertNotNull(loader.load(reader));
         is.close();
 
     }
@@ -98,7 +98,7 @@
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         CompositeLoader loader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(null, reader));
+        assertNotNull(loader.load(reader));
         is.close();
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org