Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,108 @@
+/*
+ * 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.java.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.StringReader;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.sca.contribution.java.JavaExport;
+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.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test JavaExportProcessorTestCase
+ * 
+ * @version $Rev: 750765 $ $Date: 2009-03-06 04:36:04 +0000 (Fri, 06 Mar 2009) 
$
+ */
+public class JavaExportProcessorTestCase {
+
+    private static final String VALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
+            + "<export.java  
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"; package=\"org.apache.tuscany.sca.contribution.java\"/>";
+
+    private static final String INVALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
+            + "<export.java  
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"/>";
+
+    private static XMLInputFactory inputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
+        inputFactory = XMLInputFactory.newInstance();
+        // Create a monitor
+        UtilityExtensionPoint utilities = 
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+        MonitorFactory monitorFactory = new DefaultMonitorFactory();  
+        if (monitorFactory != null) {
+               monitor = monitorFactory.createMonitor();
+               utilities.addUtility(monitorFactory);
+        }
+        StAXArtifactProcessorExtensionPoint staxProcessors = 
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, 
inputFactory, null, null);
+    }
+
+    /**
+     * Test loading a valid export element from a contribution metadata stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoad() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(VALID_XML));
+        JavaExport javaExport = (JavaExport)staxProcessor.read(reader);
+        Assert.assertEquals("org.apache.tuscany.sca.contribution.java", 
javaExport.getPackage());
+    }
+
+    /**
+     * Test loading an INVALID export element from a contribution metadata 
stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoadInvalid() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(INVALID_XML));
+        /*try {
+            staxProcessor.read(reader);
+            fail("readerException should have been thrown");
+        } catch (ContributionReadException e) {
+            assertTrue(true);
+        }*/
+        staxProcessor.read(reader);
+        Problem problem = monitor.getLastProblem();           
+        assertNotNull(problem);
+        assertEquals("AttributePackageMissing", problem.getMessageId());
+    }    
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,109 @@
+/*
+ * 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.java.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.StringReader;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.sca.contribution.java.JavaImport;
+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.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test JavaImportProcessorTestCase
+ * 
+ * @version $Rev: 750765 $ $Date: 2009-03-06 04:36:04 +0000 (Fri, 06 Mar 2009) 
$
+ */
+public class JavaImportProcessorTestCase {
+
+    private static final String VALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
+            + "<import.java  
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"; package=\"org.apache.tuscany.sca.contribution.java\" 
location=\"sca://contributions/001\"/>";
+
+    private static final String INVALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
+            + "<import.java  
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"; location=\"sca://contributions/001\"/>";
+
+    private static XMLInputFactory inputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
+        inputFactory = XMLInputFactory.newInstance();
+        // Create a monitor
+        UtilityExtensionPoint utilities = 
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+        MonitorFactory monitorFactory = new DefaultMonitorFactory();  
+        if (monitorFactory != null) {
+               monitor = monitorFactory.createMonitor();
+               utilities.addUtility(monitorFactory);
+        }
+        StAXArtifactProcessorExtensionPoint staxProcessors = 
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, 
inputFactory, null, null);
+    }
+
+    /**
+     * Test loading a valid import element from a contribution metadata stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoad() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(VALID_XML));
+        JavaImport javaImport = (JavaImport)staxProcessor.read(reader);
+        
+        assertEquals("org.apache.tuscany.sca.contribution.java", 
javaImport.getPackage());
+        assertEquals("sca://contributions/001", javaImport.getLocation());
+    }
+
+    /**
+     * Test loading a INVALID import element from a contribution metadata 
stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoadInvalid() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(INVALID_XML));
+        /*try {
+            staxProcessor.read(reader);
+            fail("readerException should have been thrown");
+        } catch (ContributionReadException e) {
+            assertTrue(true);
+        }*/
+        staxProcessor.read(reader);
+        Problem problem = monitor.getLastProblem();           
+        assertNotNull(problem);
+        assertEquals("AttributePackageMissing", problem.getMessageId());
+    }    
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,111 @@
+/*
+ * 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.namespace.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.StringReader;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.sca.contribution.namespace.NamespaceExport;
+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.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test NamespaceExportProcessorTestCase
+ *
+ * @version $Rev: 767701 $ $Date: 2009-04-22 23:49:55 +0100 (Wed, 22 Apr 2009) 
$
+ */
+public class NamespaceExportProcessorTestCase {
+
+    private static final String VALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+            + "<export 
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"";
+            + " ns:ext=\"extended\" namespace=\"http://foo\";>"
+            + "<ns:foo/></export>";
+
+    private static final String INVALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" + "<export 
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"/>";
+
+    private static XMLInputFactory inputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
+        inputFactory = XMLInputFactory.newInstance();
+        // Create a monitor
+        UtilityExtensionPoint utilities = 
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+        MonitorFactory monitorFactory = new DefaultMonitorFactory();
+        if (monitorFactory != null) {
+            monitor = monitorFactory.createMonitor();
+            utilities.addUtility(monitorFactory);
+        }
+        StAXArtifactProcessorExtensionPoint staxProcessors =
+            
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, 
inputFactory, null, monitor);
+    }
+
+    /**
+     * Test loading a valid export element from a contribution metadata stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoad() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(VALID_XML));
+        NamespaceExport namespaceExport = 
(NamespaceExport)staxProcessor.read(reader);
+        assertEquals("http://foo";, namespaceExport.getNamespace());
+        assertEquals(1, namespaceExport.getAttributeExtensions().size());
+        assertEquals(1, namespaceExport.getExtensions().size());
+    }
+
+    /**
+     * Test loading an INVALID export element from a contribution metadata 
stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoadInvalid() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(INVALID_XML));
+        /*try {
+            staxProcessor.read(reader);
+            fail("readerException should have been thrown");
+        } catch (ContributionReadException e) {
+            assertTrue(true);
+        }*/
+        staxProcessor.read(reader);
+        Problem problem = monitor.getLastProblem();
+        assertNotNull(problem);
+        assertEquals("AttributeNameSpaceMissing", problem.getMessageId());
+    }
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,115 @@
+/*
+ * 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.namespace.impl;
+
+
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.StringReader;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.sca.contribution.namespace.NamespaceImport;
+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.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test NamespaceImportProcessorTestCase
+ *
+ * @version $Rev: 767701 $ $Date: 2009-04-22 23:49:55 +0100 (Wed, 22 Apr 2009) 
$
+ */
+public class NamespaceImportProcessorTestCase {
+
+    private static final String VALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
+            + "<import  
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"";
+            + " namespace=\"http://foo\"; location=\"sca://contributions/001\" 
ns:ext=\"extended\">"
+            + "<ns:foo/></import>";
+
+    private static final String INVALID_XML =
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+            + "<import  
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\"; location=\"sca://contributions/001\"/>";
+
+    private static XMLInputFactory inputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
+        inputFactory = XMLInputFactory.newInstance();
+        // Create a monitor
+        UtilityExtensionPoint utilities = 
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+        MonitorFactory monitorFactory = new DefaultMonitorFactory();  
+        if (monitorFactory != null) {
+               monitor = monitorFactory.createMonitor();
+               utilities.addUtility(monitorFactory);
+        }
+        StAXArtifactProcessorExtensionPoint staxProcessors = 
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, 
inputFactory, null, monitor);
+    }
+
+    /**
+     * Test loading a valid import element from a contribution metadata stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoad() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(VALID_XML));
+        NamespaceImport namespaceImport = 
(NamespaceImport)staxProcessor.read(reader);
+
+        assertEquals("http://foo";, namespaceImport.getNamespace());
+        assertEquals("sca://contributions/001", namespaceImport.getLocation());
+        assertEquals(1, namespaceImport.getAttributeExtensions().size());
+        assertEquals(1, namespaceImport.getExtensions().size());
+    }
+
+    /**
+     * Test loading a INVALID import element from a contribution metadata 
stream
+     * @throws Exception
+     */
+    @Test
+    public void testLoadInvalid() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(INVALID_XML));
+        /*try {
+            staxProcessor.read(reader);
+            fail("readerException should have been thrown");
+        } catch (ContributionReadException e) {
+            assertTrue(true);
+        }*/
+        staxProcessor.read(reader);
+        Problem problem = monitor.getLastProblem();           
+        assertNotNull(problem);
+        assertEquals("AttributeNameSpaceMissing", problem.getMessageId());
+    }
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,116 @@
+/*
+ * 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;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * URL Artifact Processor Extension Point test case
+ * Verifies the right registration and lookup for processors that handle 
filename and file types
+ *
+ * @version $Rev: 758464 $ $Date: 2009-03-25 23:40:38 +0000 (Wed, 25 Mar 2009) 
$
+ */
+public class URLartifactProcessorExtensionPointTestCase {
+
+    private static URLArtifactProcessorExtensionPoint artifactProcessors;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
+        artifactProcessors = new 
DefaultURLArtifactProcessorExtensionPoint(extensionPoints);
+        artifactProcessors.addArtifactProcessor(new 
FileTypeArtifactProcessor());
+        artifactProcessors.addArtifactProcessor(new 
FileNameArtifactProcessor());
+    }
+
+    @Test
+    public final void testFileTypeProcessor() {
+        assertNotNull(artifactProcessors.getProcessor("dir1/file1.m1"));
+        assertNotNull(artifactProcessors.getProcessor("file1.m1"));
+    }
+
+    @Test
+    public final void testFileNameProcessor() {
+        assertNotNull(artifactProcessors.getProcessor("file.m2"));
+        assertNotNull(artifactProcessors.getProcessor("dir1/file.m2"));
+        assertNull(artifactProcessors.getProcessor("onefile.m2"));
+    }
+
+    /**
+     * Internal mock classes
+     *
+     */
+
+    private class M1 {
+    }
+
+    private class M2 {
+    }
+
+    private static class FileTypeArtifactProcessor implements 
URLArtifactProcessor<M1> {
+        public FileTypeArtifactProcessor() {
+        }
+
+        public M1 read(URL contributionURL, URI uri, URL url) throws 
ContributionReadException {
+            return null;
+        }
+
+        public void resolve(M1 m1, ModelResolver resolver) throws 
ContributionResolveException {
+        }
+
+        public String getArtifactType() {
+            return ".m1";
+        }
+
+        public Class<M1> getModelType() {
+            return M1.class;
+        }
+    }
+
+    private static class FileNameArtifactProcessor implements 
URLArtifactProcessor<M2> {
+        public FileNameArtifactProcessor() {
+        }
+
+        public M2 read(URL contributionURL, URI uri, URL url) throws 
ContributionReadException {
+            return null;
+        }
+
+        public void resolve(M2 m2, ModelResolver resolver) throws 
ContributionResolveException {
+        }
+
+        public String getArtifactType() {
+            return "file.m2";
+        }
+
+        public Class<M2> getModelType() {
+            return M2.class;
+        }
+    }
+
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,91 @@
+/*
+ * 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.resolver;
+
+import static org.junit.Assert.assertTrue;
+
+import org.apache.tuscany.sca.contribution.Artifact;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.DefaultContributionFactory;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test the default model resolver implementation.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DefaultModelResolverTestCase {
+
+    private ModelResolver resolver;
+    private ContributionFactory factory;
+
+    @Before
+    public void setUp() throws Exception {
+        resolver = new DefaultModelResolver();
+        factory = new DefaultContributionFactory();
+    }
+
+    @Test
+    public void testResolved() {
+        Model a = new Model("a");
+        resolver.addModel(a);
+        Model x = new Model("a");
+        x = resolver.resolveModel(Model.class, x);
+        assertTrue(x == a);
+    }
+
+    @Test
+    public void testUnresolved() {
+        Model x = new Model("a");
+        Model y = resolver.resolveModel(Model.class, x);
+        assertTrue(x == y);
+    }
+
+    @Test
+    public void testResolvedArtifact() {
+        Artifact artifact = factory.createArtifact();
+        artifact.setURI("foo/bar");
+        resolver.addModel(artifact);
+        Artifact x = factory.createArtifact();
+        x.setURI("foo/bar");
+        x = resolver.resolveModel(Artifact.class, x);
+        assertTrue(x == artifact);
+    }
+
+    class Model {
+        private String name;
+
+        Model(String name) {
+            this.name = name;
+        }
+
+        @Override
+        public int hashCode() {
+            return name.hashCode();
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            return name.equals(((Model)obj).name);
+        }
+    }
+
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,134 @@
+/*
+* 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.resolver;
+
+import static org.junit.Assert.assertTrue;
+
+import org.apache.tuscany.sca.contribution.Artifact;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.DefaultContributionFactory;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.DefaultFactoryExtensionPoint;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test DefaultArtifactResolver.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ExtensibleModelResolverTestCase {
+    private ExtensibleModelResolver resolver;
+
+    private ContributionFactory factory;
+
+    @Before
+    public void setUp() throws Exception {
+
+        ModelResolverExtensionPoint resolvers = new 
DefaultModelResolverExtensionPoint();
+        resolvers.addResolver(Model.class, TestModelResolver.class);
+
+        FactoryExtensionPoint factories = new DefaultFactoryExtensionPoint(new 
DefaultExtensionPointRegistry());
+
+        resolver = new ExtensibleModelResolver(null, resolvers, factories, 
null);
+
+        factory = new DefaultContributionFactory();
+    }
+
+    @Test
+    public void testResolvedDefault() {
+        OtherModel a = new OtherModel("a");
+        resolver.addModel(a);
+        OtherModel x = new OtherModel("a");
+        x = resolver.resolveModel(OtherModel.class, x);
+        assertTrue(x == a);
+    }
+
+    @Test
+    public void testResolvedRegisteredClass() {
+        Model a = new Model("a");
+        resolver.addModel(a);
+        Model x = new Model("a");
+        x = resolver.resolveModel(Model.class, x);
+        assertTrue(x == a);
+    }
+
+    @Test
+    public void testUnresolvedDefault() {
+        OtherModel x = new OtherModel("a");
+        OtherModel y = resolver.resolveModel(OtherModel.class, x);
+        assertTrue(x == y);
+    }
+
+    @Test
+    public void testUnresolved() {
+        Model x = new Model("a");
+        Model y = resolver.resolveModel(Model.class, x);
+        assertTrue(x == y);
+    }
+
+    @Test
+    public void testResolvedArtifact() {
+        Artifact artifact = factory.createArtifact();
+        artifact.setURI("foo/bar");
+        resolver.addModel(artifact);
+        Artifact x = factory.createArtifact();
+        x.setURI("foo/bar");
+        x = resolver.resolveModel(Artifact.class, x);
+        assertTrue(x == artifact);
+    }
+
+    private class Model {
+        private String name;
+
+        Model(String name) {
+            this.name = name;
+        }
+
+        @Override
+        public int hashCode() {
+            return name.hashCode();
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            return name.equals(((Model)obj).name);
+        }
+    }
+
+    private class OtherModel {
+        private String name;
+
+        OtherModel(String name) {
+            this.name = name;
+        }
+
+        @Override
+        public int hashCode() {
+            return name.hashCode();
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            return name.equals(((OtherModel)obj).name);
+        }
+    }
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,58 @@
+/*
+ * 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.resolver;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+
+/**
+ * A test implementation of a model resolver, based on a map.
+ * 
+ * @version $Rev$ $Date$
+ */
+public class TestModelResolver implements ModelResolver {
+
+    private Map<Object, Object> map = new HashMap<Object, Object>();
+
+    public TestModelResolver(Contribution contribution, FactoryExtensionPoint 
modelFactories) {
+    }
+
+    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+        Object resolved = map.get(unresolved);
+        if (resolved != null) {
+            // Return the resolved object
+            return modelClass.cast(resolved);
+        }
+        // Return the unresolved object
+        return unresolved;
+    }
+
+    public void addModel(Object resolved) {
+        map.put(resolved, resolved);
+    }
+
+    public Object removeModel(Object resolved) {
+        return map.remove(resolved);
+    }
+
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java?rev=772861&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
 (added)
+++ 
tuscany/java/sca/modules/contribution-new/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
 Fri May  8 06:44:08 2009
@@ -0,0 +1,149 @@
+/*
+ * 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.xml;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.tuscany.sca.contribution.ContributionMetadata;
+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.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test the contribution metadata processor.
+ *
+ * @version $Rev: 767701 $ $Date: 2009-04-22 23:49:55 +0100 (Wed, 22 Apr 2009) 
$
+ */
+
+public class ContributionMetadataProcessorTestCase {
+
+    private static final String VALID_XML =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<contribution 
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"";
+            + " xmlns:ns=\"http://ns\"; ns:foo=\"extended\">"
+            + "<deployable composite=\"ns:Composite1\"/>"
+            + "<deployable composite=\"ns:Composite2\"/>"
+            + "<ns:bar x=\"1\"/>"
+            + "</contribution>";
+
+    private static final String INVALID_XML =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<contribution 
xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\"; 
xmlns:ns=\"http://ns\";>"
+            + "<deployable composite=\"ns:Composite1\"/>"
+            + "<deployable/>"
+            + "</contribution>";
+
+    private static XMLInputFactory inputFactory;
+    private static XMLOutputFactory outputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        ExtensionPointRegistry extensionPoints = new 
DefaultExtensionPointRegistry();
+
+        inputFactory = XMLInputFactory.newInstance();
+        outputFactory = XMLOutputFactory.newInstance();
+
+        // Create a monitor
+        UtilityExtensionPoint utilities = 
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+        MonitorFactory monitorFactory = new DefaultMonitorFactory();
+        if (monitorFactory != null) {
+            monitor = monitorFactory.createMonitor();
+            utilities.addUtility(monitorFactory);
+        }
+        StAXArtifactProcessorExtensionPoint staxProcessors =
+            
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, 
inputFactory, outputFactory, null);
+    }
+
+    @Test
+    public void testRead() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(VALID_XML));
+        ContributionMetadata contribution = 
(ContributionMetadata)staxProcessor.read(reader);
+        assertNotNull(contribution);
+        assertEquals(2, contribution.getDeployables().size());
+        assertEquals(1, contribution.getAttributeExtensions().size());
+        assertEquals(1, contribution.getExtensions().size());
+    }
+
+    @Test
+    public void testReadInvalid() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(INVALID_XML));
+        /*try {
+            staxProcessor.read(reader);
+            fail("InvalidException should have been thrown");
+        } catch (ContributionReadException e) {
+            assertTrue(true);
+        }*/
+        staxProcessor.read(reader);
+        Problem problem = monitor.getLastProblem();
+        assertNotNull(problem);
+        assertEquals("AttributeCompositeMissing", problem.getMessageId());
+    }
+
+    @Test
+    public void testWrite() throws Exception {
+        XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(VALID_XML));
+        ContributionMetadata contribution = 
(ContributionMetadata)staxProcessor.read(reader);
+
+        validateContribution(contribution);
+
+        //write the contribution metadata contents
+        StringWriter stringWriter = new StringWriter();
+        XMLStreamWriter writer = 
outputFactory.createXMLStreamWriter(stringWriter);
+        staxProcessor.write(contribution, writer);
+        stringWriter.close();
+
+        reader = inputFactory.createXMLStreamReader(new 
StringReader(stringWriter.toString()));
+        contribution = (ContributionMetadata)staxProcessor.read(reader);
+
+        validateContribution(contribution);
+    }
+
+    private void validateContribution(ContributionMetadata contribution) {
+        QName deployable;
+
+        assertNotNull(contribution);
+        assertEquals(2, contribution.getDeployables().size());
+        deployable = new QName("http://ns";, "Composite1");
+        assertEquals(deployable, 
contribution.getDeployables().get(0).getName());
+        deployable = new QName("http://ns";, "Composite2");
+        assertEquals(deployable, 
contribution.getDeployables().get(1).getName());
+    }
+
+}

Added: 
tuscany/java/sca/modules/contribution-new/src/test/resources/deployables/sample-calculator.jar
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/resources/deployables/sample-calculator.jar?rev=772861&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
tuscany/java/sca/modules/contribution-new/src/test/resources/deployables/sample-calculator.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
tuscany/java/sca/modules/contribution-new/src/test/resources/repository/sample-calculator.jar
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/resources/repository/sample-calculator.jar?rev=772861&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
tuscany/java/sca/modules/contribution-new/src/test/resources/repository/sample-calculator.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
tuscany/java/sca/modules/contribution-new/src/test/resources/test.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/resources/test.composite?rev=772861&view=auto
==============================================================================
--- tuscany/java/sca/modules/contribution-new/src/test/resources/test.composite 
(added)
+++ tuscany/java/sca/modules/contribution-new/src/test/resources/test.composite 
Fri May  8 06:44:08 2009
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite>
+    This file just needs to exist
+</composite>
\ No newline at end of file

Added: tuscany/java/sca/modules/contribution-new/src/test/resources/test.ext
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-new/src/test/resources/test.ext?rev=772861&view=auto
==============================================================================
    (empty)


Reply via email to