You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/05/16 03:49:37 UTC

svn commit: r538400 - /incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataLoaderImpl.java

Author: lresende
Date: Tue May 15 18:49:36 2007
New Revision: 538400

URL: http://svn.apache.org/viewvc?view=rev&rev=538400
Log:
Fixing ContributionMetadataLoaderImpl to consider targetNameSpaceURI when creating QNames

Modified:
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataLoaderImpl.java

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataLoaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataLoaderImpl.java?view=diff&rev=538400&r1=538399&r2=538400
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataLoaderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataLoaderImpl.java Tue May 15 18:49:36 2007
@@ -42,7 +42,6 @@
 public class ContributionMetadataLoaderImpl implements ContributionMetadataLoader {
     private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
     private static final String TARGET_NAMESPACE = "targetNamespace";
-    //private static final String NAME = "composite";
     
     private static final QName CONTRIBUTION = new QName(SCA10_NS, "contribution");
     private static final QName DEPLOYABLE = new QName(SCA10_NS, "deployable");
@@ -63,32 +62,35 @@
     }
 
     public void load(Contribution contribution, XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException {
+        String targetNameSpaceURI = null;
 
         while (true) {
             int event = reader.next();
             switch (event) {
                 case START_ELEMENT:
                     QName element = reader.getName();
-                    if (DEPLOYABLE.equals(element)) {
+                    if (CONTRIBUTION.equals(element)) {
+                        targetNameSpaceURI = reader.getAttributeValue(null, TARGET_NAMESPACE);    
+                    } else if (DEPLOYABLE.equals(element)) {
                         String name = reader.getAttributeValue(null, "composite");
                         if (name == null) {
                             throw new InvalidValueException("Attribute 'composite' is missing");
                         }
                         QName compositeName = null;
+
                         int index = name.indexOf(':');
                         if (index != -1) {
                             String prefix = name.substring(0, index);
-                            String localPart = name.substring(index);
+                            String localPart = name.substring(index + 1);
                             String ns = reader.getNamespaceContext().getNamespaceURI(prefix);
                             if (ns == null) {
                                 throw new InvalidValueException("Invalid prefix: " + prefix);
                             }
-                            compositeName = new QName(getString(reader, TARGET_NAMESPACE), localPart, prefix);
+                            compositeName = new QName(targetNameSpaceURI, localPart, prefix);
                         } else {
                             String prefix = "";
-                            //String ns = reader.getNamespaceURI();
                             String localPart = name;
-                            compositeName = new QName(getString(reader, TARGET_NAMESPACE), localPart, prefix);
+                            compositeName = new QName(targetNameSpaceURI, localPart, prefix);
                         }
 
                         Composite composite = assemblyFactory.createComposite();
@@ -127,48 +129,4 @@
             }
         }
     }
-    
-    /**
-     * Returns the string value of an attribute.
-     * @param reader
-     * @param name
-     * @return
-     */
-    protected String getString(XMLStreamReader reader, String name) {
-        return reader.getAttributeValue(null, name);
-    }
-
-    /**
-     * Returns the qname value of an attribute.
-     * @param reader
-     * @param name
-     * @return
-     */
-    protected QName getQName(XMLStreamReader reader, String name) {
-        String qname = reader.getAttributeValue(null, name);
-        return getQNameValue(reader, qname);
-    }
-    
-
-    /**
-     * Returns a qname from a string.  
-     * @param reader
-     * @param value
-     * @return
-     */
-    protected QName getQNameValue(XMLStreamReader reader, String value) {
-        if (value != null) {
-            int index = value.indexOf(':');
-            String prefix = index == -1 ? "" : value.substring(0, index);
-            String localName = index == -1 ? value : value.substring(index + 1);
-            String ns = reader.getNamespaceContext().getNamespaceURI(prefix);
-            if (ns == null) {
-                ns = "";
-            }
-            return new QName(ns, localName, prefix);
-        } else {
-            return null;
-        }
-    }
-
 }



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