Author: lresende
Date: Tue Jan 13 23:35:29 2009
New Revision: 734356

URL: http://svn.apache.org/viewvc?rev=734356&view=rev
Log:
Merge branch 'tuscany-2663'

Conflicts:
        
modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java

Added:
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java
      - copied, changed from r734102, 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
      - copied, changed from r734102, 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java
    
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java
   (with props)
    
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor
Removed:
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorExtended.composite
Modified:
    tuscany/branches/sca-java-1.x/modules/assembly-xml/pom.xml
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
    
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java
    
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java
    
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java
    
tuscany/branches/sca-java-1.x/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java

Modified: tuscany/branches/sca-java-1.x/modules/assembly-xml/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xml/pom.xml?rev=734356&r1=734355&r2=734356&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/assembly-xml/pom.xml (original)
+++ tuscany/branches/sca-java-1.x/modules/assembly-xml/pom.xml Tue Jan 13 
23:35:29 2009
@@ -55,6 +55,12 @@
         
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-contribution-xml</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency>        
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-contribution-namespace</artifactId>
             <version>1.5-SNAPSHOT</version>
         </dependency>

Modified: 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java?rev=734356&r1=734355&r2=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
 Tue Jan 13 23:35:29 2009
@@ -60,6 +60,7 @@
 import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor;
+import org.apache.tuscany.sca.contribution.processor.xml.AnyAttributeWrapper;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.contribution.service.ContributionReadException;
 import 
org.apache.tuscany.sca.contribution.service.ContributionResolveException;
@@ -136,8 +137,6 @@
         this.extensionProcessor = 
(StAXArtifactProcessor<Object>)extensionProcessor;
         this.policyProcessor = new PolicyAttachPointProcessor(policyFactory);
         this.monitor = monitor;
-        
-        //TODO - this constructor should take a monitor too. 
     }
     
     /**
@@ -870,8 +869,8 @@
                QName attributeName = reader.getAttributeName(a);
                if( attributeName.getNamespaceURI() != null && 
attributeName.getNamespaceURI().length() > 0) {
                if( ! 
elementName.getNamespaceURI().equals(attributeName.getNamespaceURI()) ) {
-                       String attributeExtension = (String) 
extensionAttributeProcessor.read(attributeName, reader);
-                       
estensibleElement.getExtensions().add(attributeExtension);
+                       Object o = 
extensionAttributeProcessor.read(attributeName, reader);
+                       estensibleElement.getExtensions().add(o);
                }
                }
          }
@@ -889,8 +888,7 @@
      */
     protected void writeExtendedAttributes(XMLStreamWriter writer, Extensible 
extensibleElement, StAXAttributeProcessor extensionAttributeProcessor) throws 
ContributionWriteException, XMLStreamException {
         for(Object o : extensibleElement.getExtensions()) {
-               //FIXME How to identify it's a extended attribute ? 
-               if(o instanceof String) {
+               if(o instanceof AnyAttributeWrapper) {
                        extensionAttributeProcessor.write(o, writer);
                }
         }

Copied: 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java
 (from r734102, 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java)
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java?p2=tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java&p1=tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java&r1=734102&r2=734356&rev=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java
 Tue Jan 13 23:35:29 2009
@@ -19,100 +19,123 @@
 
 package org.apache.tuscany.sca.assembly.xml;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
+import java.io.StringReader;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamReader;
 
-import junit.framework.TestCase;
-
 import org.apache.tuscany.sca.assembly.Composite;
 import 
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import 
org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor;
 import 
org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.junit.Ignore;
+import org.junit.Test;
 
 /**
  * Test reading SCA XML assemblies.
  * 
  * @version $Rev$ $Date$
  */
-public class ReadWriteAttributeTestCase extends TestCase {
-
-    private XMLInputFactory inputFactory;
-    private ExtensibleStAXArtifactProcessor staxProcessor;
-
+public class ReadWriteAnyAttributeTestCase {
     private static final QName ATTRIBUTE = new QName("http://test";, 
"customAttribute");
     
     // implementation.java for CalculatorServiceComponent appears in a strange 
place as the
     // java implementation extension is not loaded and hence they are loaded 
as any elements
     private static final String XML = "<?xml version='1.0' encoding='UTF-8'?>"+
-                        "<composite 
xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"; 
xmlns:ns1=\"http://www.osoa.org/xmlns/sca/1.0\"; targetNamespace=\"http://calc\"; 
name=\"Calculator\">"+
-                        "<service name=\"CalculatorService\" 
promote=\"CalculatorServiceComponent\">"+
-                               "<interface.java 
interface=\"calculator.CalculatorService\" />"+
-                        "</service>"+
-                        "<component name=\"CalculatorServiceComponent\" 
customAttribute=\"customValue\">"+
-                           "<implementation.java 
class=\"calculator.CalculatorServiceImpl\" />"+
-                               "<reference name=\"addService\" 
target=\"AddServiceComponent\" />"+
-                               "<reference name=\"subtractService\" 
target=\"SubtractServiceComponent\" />"+
-                               "<reference name=\"multiplyService\" 
target=\"MultiplyServiceComponent\" />"+
-                               "<reference name=\"divideService\" 
target=\"DivideServiceComponent\" />"+
-                        "</component>"+
-                        "<component name=\"AddServiceComponent\">"+
+                        "<composite 
xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"; " +
+                                   
"xmlns:ns1=\"http://www.osoa.org/xmlns/sca/1.0\"; " +
+                                   "targetNamespace=\"http://calc\"; " +
+                                   "name=\"Calculator\">"+
+                        "<component name=\"AddServiceComponent\" 
xmlns:test=\"http://test\"; test:customAttribute=\"customValue\">"+
                            "<implementation.java 
class=\"calculator.AddServiceImpl\" />"+
                         "</component>"+
-                        "<component name=\"SubtractServiceComponent\">"+
-                           "<implementation.java 
class=\"calculator.SubtractServiceImpl\" />"+
-                        "</component>"+
-                        "<component name=\"MultiplyServiceComponent\">"+
-                           "<implementation.java 
class=\"calculator.MultiplyServiceImpl\" />"+
-                        "</component>"+
-                        "<component name=\"DivideServiceComponent\">"+
-                           "<implementation.java 
class=\"calculator.DivideServiceImpl\" />"+
-                        "</component>"+
                         "</composite>";
     
-    @Override
-    public void setUp() throws Exception {
+
+    private XMLInputFactory inputFactory;
+    private ExtensibleStAXArtifactProcessor staxProcessor;
+    
+
+    /**
+     * Initialize the test environment
+     * This takes care to register attribute processors when provided
+     * 
+     * @param attributeProcessor
+     * @throws Exception
+     */
+    private void init(StAXAttributeProcessor<?> attributeProcessor) throws 
Exception {
         ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
         inputFactory = XMLInputFactory.newInstance();
         StAXArtifactProcessorExtensionPoint staxProcessors = 
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
 
-        StAXAttributeProcessorExtensionPoint staxAttributeProcessors = 
extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class);
-        staxAttributeProcessors.addArtifactProcessor(new 
TestAttributeProcessor());
+        if(attributeProcessor != null) {
+            StAXAttributeProcessorExtensionPoint staxAttributeProcessors = 
extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class);
+            staxAttributeProcessors.addArtifactProcessor(attributeProcessor);  
        
+        }
         
         staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, 
XMLInputFactory.newInstance(), XMLOutputFactory.newInstance(), null);
-    }
 
-    @Override
-    public void tearDown() throws Exception {
        
     }
 
-    public void testReadComposite() throws Exception {
-        InputStream is = 
getClass().getResourceAsStream("CalculatorExtended.composite");
-        XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
+    /**
+     * Read and Write a composite that has a extended attribute
+     * and a particular attribute processor 
+     * @throws Exception
+     */
+    @Test
+    @Ignore
+    public void testReadWriteCompositeWithAttributeProcessor() throws 
Exception {
+       init(new TestAttributeProcessor());
+       
+       XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(XML));
         Composite composite = (Composite) staxProcessor.read(reader);
         assertNotNull(composite);
-        is.close();
+        reader.close();
+        
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        staxProcessor.write(composite, bos);
+        
+               // used for debug comparison
+               System.out.println(XML);
+               System.out.println(bos.toString());
+
+        
+        assertEquals(XML, bos.toString());
     }
     
-    public void testWriteComposite() throws Exception {
-        InputStream is = 
getClass().getResourceAsStream("CalculatorExtended.composite");
-        XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
+    
+    /**
+     * Read and Write a composite that has a extended attribute
+     * but no particular processor for it
+     * @throws Exception
+     */
+    @Test
+    public void testDefaultReadWriteComposite() throws Exception {
+       init(null);
+       
+       XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(XML));
         Composite composite = (Composite) staxProcessor.read(reader);
         assertNotNull(composite);
-        is.close();
+        reader.close();
         
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         staxProcessor.write(composite, bos);
-        System.out.println(bos.toString());
         
-        assertEquals(XML, bos.toString());
+               // used for debug comparison
+               System.out.println(XML);
+               System.out.println(bos.toString());
+
+        
+        assertEquals(XML, bos.toString());     
     }
 }

Copied: 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
 (from r734102, 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java)
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java?p2=tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java&p1=tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java&r1=734102&r2=734356&rev=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
 Tue Jan 13 23:35:29 2009
@@ -40,7 +40,7 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-public class AnyElementReadWriteTestCase {
+public class ReadWriteAnyElementTestCase {
        private static final String XML_RECURSIVE_EXTENDED_ELEMENT = 
                "<?xml version='1.0' encoding='UTF-8'?>" +
            "<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"; 
xmlns:ns1=\"http://www.osoa.org/xmlns/sca/1.0\"; targetNamespace=\"http://temp\"; 
name=\"RecursiveExtendedElement\">" +
@@ -111,8 +111,8 @@
                staxProcessor.write(composite, bos);
 
                // used for debug comparison
-               System.out.println(XML_UNKNOWN_IMPL);
-               System.out.println(bos.toString());
+               //System.out.println(XML_UNKNOWN_IMPL);
+               //System.out.println(bos.toString());
 
                assertEquals(XML_UNKNOWN_IMPL, bos.toString());
                bos.close();

Modified: 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java?rev=734356&r1=734355&r2=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java
 Tue Jan 13 23:35:29 2009
@@ -47,8 +47,7 @@
     }
 
     public void write(String value, XMLStreamWriter writer) throws 
ContributionWriteException, XMLStreamException {
-       writer.setPrefix(ATTRIBUTE.getPrefix(), ATTRIBUTE.getNamespaceURI());
-       writer.writeAttribute(ATTRIBUTE.getLocalPart(), value);
+       writer.writeAttribute(ATTRIBUTE.getPrefix(), 
ATTRIBUTE.getNamespaceURI(), ATTRIBUTE.getLocalPart(), value);
     } 
 
     public Class<String> getModelType() {

Modified: 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java?rev=734356&r1=734355&r2=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java
 Tue Jan 13 23:35:29 2009
@@ -38,7 +38,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class AnyAttributeProcessor extends BaseStAXArtifactProcessor 
implements StAXAttributeProcessor<String> {
+public class AnyAttributeProcessor extends BaseStAXArtifactProcessor 
implements StAXAttributeProcessor<AnyAttributeWrapper> {
        private static final QName ANY_ATTRIBUTE = new 
QName(Constants.XMLSCHEMA_NS, "anyAttribute");
        
        public AnyAttributeProcessor(ModelFactoryExtensionPoint modelFactories, 
Monitor monitor) {
@@ -49,21 +49,23 @@
         return ANY_ATTRIBUTE;
     }
 
-    public Class<String> getModelType() {
-        return String.class;
+    public Class<AnyAttributeWrapper> getModelType() {
+        return AnyAttributeWrapper.class;
     }
 
-    public String read(QName attributeName, XMLStreamReader reader) throws 
ContributionReadException, XMLStreamException {
-        return reader.getAttributeValue(attributeName.getNamespaceURI(), 
attributeName.getLocalPart());
+    public AnyAttributeWrapper read(QName attributeName, XMLStreamReader 
reader) throws ContributionReadException, XMLStreamException {
+        AnyAttributeWrapper attributeWrapper = new AnyAttributeWrapper();
+        attributeWrapper.setQName(attributeName);
+        
attributeWrapper.setValue(reader.getAttributeValue(attributeName.getNamespaceURI(),
 attributeName.getLocalPart()));
+       return attributeWrapper; 
     }
 
-    public void write(String value, XMLStreamWriter writer) throws 
ContributionWriteException, XMLStreamException {
-       writer.setPrefix(ANY_ATTRIBUTE.getPrefix(), 
ANY_ATTRIBUTE.getNamespaceURI());
-       writer.writeAttribute(ANY_ATTRIBUTE.getLocalPart(), value);
+    public void write(AnyAttributeWrapper attributeWrapper, XMLStreamWriter 
writer) throws ContributionWriteException, XMLStreamException {
+       writer.writeAttribute(attributeWrapper.getQName().getPrefix(), 
attributeWrapper.getQName().getNamespaceURI(), 
attributeWrapper.getQName().getLocalPart(), 
attributeWrapper.getValue().toString());
     } 
 
 
-    public void resolve(String arg0, ModelResolver arg1) throws 
ContributionResolveException {
+    public void resolve(AnyAttributeWrapper arg0, ModelResolver arg1) throws 
ContributionResolveException {
        
     }
 }

Added: 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java?rev=734356&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java
 Tue Jan 13 23:35:29 2009
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.contribution.processor.xml;
+
+import javax.xml.namespace.QName;
+
+public class AnyAttributeWrapper {
+       private QName qName;
+       private Object value;
+       
+       public AnyAttributeWrapper() {
+               
+       }
+       
+       public AnyAttributeWrapper(QName qName, Object value) {
+               this.qName = qName;
+               this.value = value;
+       }
+       
+       public QName getQName() {
+               return qName;
+       }
+       public void setQName(QName name) {
+               qName = name;
+       }
+       public Object getValue() {
+               return value;
+       }
+       public void setValue(Object value) {
+               this.value = value;
+       }
+}

Propchange: 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeWrapper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java?rev=734356&r1=734355&r2=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java
 Tue Jan 13 23:35:29 2009
@@ -18,28 +18,23 @@
  */
 package org.apache.tuscany.sca.contribution.processor.xml;
 
+import static javax.xml.stream.XMLStreamConstants.CDATA;
+import static javax.xml.stream.XMLStreamConstants.CHARACTERS;
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.CHARACTERS;
-import static javax.xml.stream.XMLStreamConstants.COMMENT;
-import static javax.xml.stream.XMLStreamConstants.CDATA;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Stack;
 
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLEventReader;
 import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
-import javax.xml.stream.events.Characters;
 import javax.xml.stream.events.XMLEvent;
 
 import org.apache.tuscany.sca.contribution.Constants;
@@ -49,11 +44,9 @@
 import org.apache.tuscany.sca.contribution.service.ContributionReadException;
 import 
org.apache.tuscany.sca.contribution.service.ContributionResolveException;
 import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.contribution.processor.xml.XMLEventsStreamReader;
 
 public class AnyElementProcessor implements StAXArtifactProcessor<Object> {
-       private static final QName ANY_ELEMENT = new 
QName(Constants.XMLSCHEMA_NS,
-                       "anyElement");
+       private static final QName ANY_ELEMENT = new 
QName(Constants.XMLSCHEMA_NS, "anyElement");
 
        private XMLInputFactory xmlInputFactory;
        @SuppressWarnings("unused")

Added: 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor?rev=734356&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor
 (added)
+++ 
tuscany/branches/sca-java-1.x/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor
 Tue Jan 13 23:35:29 2009
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License. 
+
+# Implementation class for the artifact processor extension
+org.apache.tuscany.sca.contribution.processor.xml.AnyAttributeProcessor;qname=http://www.w3.org/2001/XMLSchema#anyAttribute,model=java.lang.Object

Modified: 
tuscany/branches/sca-java-1.x/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java?rev=734356&r1=734355&r2=734356&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java
 Tue Jan 13 23:35:29 2009
@@ -55,7 +55,7 @@
 
     private static final Logger logger = 
Logger.getLogger(ExtensibleStAXAttributeProcessor.class.getName()); 
     
-    private static final QName UNKNOWN_ATTRIBUTE = new 
QName(Constants.SCA10_TUSCANY_NS, "unknown");
+    private static final QName ANY_ATTRIBUTE = new 
QName(Constants.XMLSCHEMA_NS, "anyAttribute");
     
     private XMLInputFactory inputFactory;
     private XMLOutputFactory outputFactory;
@@ -149,13 +149,13 @@
         
         
         //handle extension attributes without processors
-        processor = 
(StAXAttributeProcessor<?>)processors.getProcessor(UNKNOWN_ATTRIBUTE);
+        processor = 
(StAXAttributeProcessor<?>)processors.getProcessor(ANY_ATTRIBUTE);
         if (processor == null) {
                Location location = source.getLocation();
             if (logger.isLoggable(Level.WARNING)) {                
                 logger.warning("Could not find Default Attribute processor !");
             }
-            warning("DefaultAttributeProcessorNotAvailable", processors, 
UNKNOWN_ATTRIBUTE, location);            
+            warning("DefaultAttributeProcessorNotAvailable", processors, 
ANY_ATTRIBUTE, location);            
         }              
         
         return processor == null ? null : processor.read(attributeName, 
source);
@@ -181,7 +181,7 @@
        }
        
         //handle extension attributes without processors
-        processor = 
(StAXAttributeProcessor<?>)processors.getProcessor(UNKNOWN_ATTRIBUTE);
+        processor = 
(StAXAttributeProcessor<?>)processors.getProcessor(ANY_ATTRIBUTE);
         if(processor == null) {
                if (logger.isLoggable(Level.WARNING)) {
                        logger.warning("No Default StAX processor is configured 
to handle " + model.getClass());


Reply via email to