summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/README83
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/build.xml51
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/pom.xml77
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUD.java54
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementation.java50
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementationFactory.java37
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/backend/ResourceManager.java90
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationFactoryImpl.java47
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationImpl.java117
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationInvoker.java79
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProvider.java75
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProviderFactory.java51
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/crud.CRUDImplementationFactory19
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor19
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema19
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory19
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/sample-implementation-crud.xsd38
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/java/crud/CRUDTestCase.java60
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/resources/crud.composite30
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/README113
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/build.xml75
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.pngbin4227 -> 0 bytes
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.svg135
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/pom.xml64
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/java/crud/client/CRUDClient.java59
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/resources/crud.composite30
-rw-r--r--sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/test/java/crud/client/CRUDTestCase.java61
27 files changed, 0 insertions, 1552 deletions
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/README b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/README
deleted file mode 100644
index 5e8190648f..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/README
+++ /dev/null
@@ -1,83 +0,0 @@
-Implementation CRUD Sample
-==========================
-This sample demonstrates how new implementation types are constructed for
-Apache Tuscany SCA.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-If you want to try out the CRUD implementation type that this sample provides
-please see the implementation-crud sample that provides the necessary client
-code to bring up an application that uses this implementation extension.
-
-Sample Overview
----------------
-This sample contains a CRUD implementation type as an example of how to create
-new implementation types. Components using this implementation type always
-expose the same Create, Retrieve, Update and Delete interface. This sample
-uses a singleton ResourceManager to perform the CRUD operations but of course
-a real component would provide a real implementation.
-
-implementation-crud-extension/
- src/
- main/
- java/
- crud/ - implementation model interfaces
- backend/ - fake component implementation
- impl/ - implementations of the model interfaces
- provider/ - runtime implementation
- resources/
- META-INF/
- services/ - declares the extension
- test/
- java/
- crud/
- CRUDTestCase.java - JUnit test case
- resources/
- crud.composite - the SCA assembly used during unit testing
-
- build.xml - the Ant build file
- pom.xml - the Maven build file
-
-Building The Sample Extension Using Ant
------------------------------------------
-With the binary distribution the sample extension can be built using Ant as
-follows
-
-cd implementation-crud-extension
-ant compile
-
-See the implementation-crud sample to run a sample that uses this
-implementation extension.
-
-Building The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built
-using Maven as follows.
-
-cd implementation-crud-extension
-mvn
-
-Maven will also test that the sample extension built properly. You should see
-the following output from the test phase.
-
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running crud.CRUDTestCase
-Starting CRUDServiceComponent
-create(ABC) in tmp
-retrieve(0)
-update(0)
-retrieve(0)
-delete(0)
-retrieve(0)
-Stopping CRUDServiceComponent
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.212 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-This shows that the Junit test cases have run successfully.
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/build.xml b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/build.xml
deleted file mode 100644
index 88d308e6fc..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/build.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
- * 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.
--->
-<project name="implementation-crud-extension" default="compile">
- <property name="test.jar" value="sample-implementation-crud-extension.jar" />
-
- <target name="init">
- <mkdir dir="target/classes"/>
- </target>
-
- <target name="compile" depends="init">
- <javac srcdir="src/main/java"
- destdir="target/classes"
- debug="on"
- source="1.5"
- target="1.5">
- <classpath>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </javac>
- <copy todir="target/classes">
- <fileset dir="src/main/resources"/>
- </copy>
- <jar destfile="target/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/pom.xml b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/pom.xml
deleted file mode 100644
index fcf046ae55..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.5.1</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-implementation-crud-extension</artifactId>
- <name>Apache Tuscany SCA Sample CRUD Implementation Extension</name>
-
- <repositories>
- <repository>
- <id>apache.incubator</id>
- <url>http://people.apache.org/repo/m2-incubating-repository</url>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>1.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.5.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.5</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
-</project>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUD.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUD.java
deleted file mode 100644
index b23d85887b..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUD.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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 crud;
-
-/**
- * The service interface of the single CRUD service provided by CRUD components.
- */
-public interface CRUD {
-
- /**
- * Create a new resource.
- * @param resource
- * @return
- */
- String create(Object resource);
-
- /**
- * Retrieve a resource.
- * @param id
- * @return
- */
- Object retrieve(String id);
-
- /**
- * Update a resource.
- * @param id
- * @param resource
- * @return
- */
- Object update(String id, Object resource);
-
- /**
- * Delete a resource.
- * @param id
- */
- void delete(String id);
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementation.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementation.java
deleted file mode 100644
index 49be844f93..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 crud;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-
-/**
- * The model representing a sample CRUD implementation in an SCA assembly model.
- *
- * The sample CRUD implementation is not a full blown implementation, it only
- * supports a subset of what a component implementation can support:
- * - a single fixed service (as opposed to a list of services typed by different interfaces
- * - a directory attribute used to specify where a CRUD component is going to persist
- * resources
- * - no references or properties
- * - no policy intents or policy sets
- */
-public interface CRUDImplementation extends Implementation {
-
- /**
- * Returns the directory used by CRUD implementations to persist resources.
- *
- * @return the directory used to persist resources
- */
- public String getDirectory();
-
- /**
- * Sets the directory used by CRUD implementations to persist resources.
- *
- * @param directory the directory used to persist resources
- */
- public void setDirectory(String directory);
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementationFactory.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementationFactory.java
deleted file mode 100644
index fa83c63c1b..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementationFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 crud;
-
-import crud.CRUDImplementation;
-
-
-/**
- * A factory for the sample CRUD implementation model.
- */
-public interface CRUDImplementationFactory {
-
- /**
- * Creates a new CRUD implementation.
- *
- * @return
- */
- CRUDImplementation createCRUDImplementation();
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/backend/ResourceManager.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/backend/ResourceManager.java
deleted file mode 100644
index cc0795a735..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/backend/ResourceManager.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * 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 crud.backend;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A fake resource manager implementation used as a backend by the sample
- * CRUD component implementation.
- */
-public class ResourceManager {
- private static int counter;
- private static final Map<String, Object> store = new HashMap<String, Object>();
- private String directory;
-
- /**
- * Constructs a new resource manager.
- *
- * @param directory the directory where to persist resources
- */
- public ResourceManager(String directory) {
- super();
- this.directory = directory;
- }
-
- /**
- * Creates a new resource.
- *
- * @param resource
- * @return
- */
- public String createResource(Object resource) {
- System.out.println("create(" + resource + ") in " + directory);
- String key = String.valueOf(counter++);
- store.put(key, resource);
- return key;
- }
-
- /**
- * Deletes a resource.
- *
- * @param id
- */
- public void deleteResource(String id) {
- System.out.println("delete(" + id + ")");
- store.remove(id);
- }
-
- /**
- * Retrieves a resource.
- *
- * @param id
- * @return
- */
- public Object retrieveResource(String id) {
- System.out.println("retrieve(" + id + ")");
- return store.get(id);
- }
-
- /**
- * Updates a resource.
- *
- * @param id
- * @param resource
- * @return
- */
- public Object updateResource(String id, Object resource) {
- System.out.println("update(" + id + ")");
- return store.put(id, resource);
- }
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationFactoryImpl.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationFactoryImpl.java
deleted file mode 100644
index 2f1e5fcba8..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationFactoryImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 crud.impl;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-
-import crud.CRUDImplementation;
-import crud.CRUDImplementationFactory;
-
-
-/**
- * A factory for the CRUD implementation model.
- */
-public class CRUDImplementationFactoryImpl implements CRUDImplementationFactory {
-
- private AssemblyFactory assemblyFactory;
- private JavaInterfaceFactory javaFactory;
-
- public CRUDImplementationFactoryImpl(ModelFactoryExtensionPoint modelFactories) {
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
- }
-
- public CRUDImplementation createCRUDImplementation() {
- return new CRUDImplementationImpl(assemblyFactory, javaFactory);
- }
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationImpl.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationImpl.java
deleted file mode 100644
index 383a035e69..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationImpl.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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 crud.impl;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-
-import crud.CRUD;
-import crud.CRUDImplementation;
-
-
-/**
- * The model representing a sample CRUD implementation in an SCA assembly model.
- */
-class CRUDImplementationImpl implements CRUDImplementation {
-
- private Service crudService;
- private String directory;
-
- /**
- * Constructs a new CRUD implementation.
- */
- CRUDImplementationImpl(AssemblyFactory assemblyFactory,
- JavaInterfaceFactory javaFactory) {
-
- // CRUD implementation always provide a single service exposing
- // the CRUD interface, and have no references and properties
- crudService = assemblyFactory.createService();
- crudService.setName("CRUD");
- JavaInterface javaInterface;
- try {
- javaInterface = javaFactory.createJavaInterface(CRUD.class);
- } catch (InvalidInterfaceException e) {
- throw new IllegalArgumentException(e);
- }
- JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract();
- interfaceContract.setInterface(javaInterface);
- crudService.setInterfaceContract(interfaceContract);
- }
-
- public String getDirectory() {
- return directory;
- }
-
- public void setDirectory(String directory) {
- this.directory = directory;
- }
-
- public ConstrainingType getConstrainingType() {
- // The sample CRUD implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- // The sample CRUD implementation does not support properties
- return Collections.emptyList();
- }
-
- public List<Service> getServices() {
- // The sample CRUD implementation provides a single fixed CRUD service
- return Collections.singletonList(crudService);
- }
-
- public List<Reference> getReferences() {
- // The sample CRUD implementation does not support properties
- return Collections.emptyList();
- }
-
- public String getURI() {
- // The sample CRUD implementation does not have a URI
- return null;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The sample CRUD implementation does not support constrainingTypes
- }
-
- public void setURI(String uri) {
- // The sample CRUD implementation does not have a URI
- }
-
- public boolean isUnresolved() {
- // The sample CRUD implementation is always resolved
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- // The sample CRUD implementation is always resolved
- }
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationInvoker.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationInvoker.java
deleted file mode 100644
index b212ee3c9b..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationInvoker.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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 crud.provider;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-
-import crud.backend.ResourceManager;
-
-
-/**
- * Implements an invoker for CRUD component implementations.
- *
- * The invoker is responsible for handling invocations of a business operation.
- * Input business data is passed to the invoke method in a Message object.
- * The invoke method is responsible for handling the invocation and returning a Message with
- * the output business data.
- *
- * In this example we are simply delegating the CRUD operation invocations to the
- * corresponding methods on our fake resource manager class.
- *
- * More sophisticated invokers can delegate the invocation to an implementation artifact directly
- * (for example a Java class using reflection as in the implementation-pojo sample) or call a runtime
- * engine like a BPEL engine or an XQuery engine for example (this is what the Tuscany
- * implementation-bpel and implementation-xquery extensions do).
- */
-class CRUDImplementationInvoker implements Invoker {
- private Operation operation;
- private ResourceManager resourceManager;
-
- CRUDImplementationInvoker(Operation operation, ResourceManager resourceManager) {
- this.operation = operation;
- this.resourceManager = resourceManager;
- }
-
- public Message invoke(Message msg) {
- try {
- Object[] args = msg.getBody();
- Object resp = null;
-
- if (operation.getName().equals("create")) {
- resp = resourceManager.createResource(args[0]);
-
- } else if (operation.getName().equals("retrieve")) {
- resp = resourceManager.retrieveResource((String)args[0]);
-
- } else if (operation.getName().equals("update")) {
- resp = resourceManager.updateResource((String)args[0], args[1]);
-
- } else if (operation.getName().equals("delete")) {
- resourceManager.deleteResource((String)args[0]);
- }
-
- msg.setBody(resp);
- } catch (Exception e) {
- msg.setFaultBody(e.getCause());
- }
- return msg;
- }
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProvider.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProvider.java
deleted file mode 100644
index 8f11f9d910..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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 crud.provider;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-import crud.CRUDImplementation;
-import crud.backend.ResourceManager;
-
-
-/**
- * An implementation provider for sample CRUD implementations.
- *
- * The implementation provider is responsible for handling the lifecycle of a component
- * implementation and creating operation invokers for the service operations provided
- * by the implementation.
- *
- * The start() and stop() methods are called when a component is started
- * and stopped.
- *
- * The createInvoker method is called for each operation provided by the component
- * implementation. The implementation provider can create an invoker and initialize it
- * at that time to minimize the amount of work to be performed on each invocation.
- */
-class CRUDImplementationProvider implements ImplementationProvider {
-
- private RuntimeComponent component;
- private CRUDImplementation implementation;
-
- /**
- * Constructs a new CRUD implementation.
- */
- CRUDImplementationProvider(RuntimeComponent component, CRUDImplementation implementation) {
- this.component = component;
- this.implementation = implementation;
- }
-
- public Invoker createInvoker(RuntimeComponentService service, Operation operation) {
- CRUDImplementationInvoker invoker = new CRUDImplementationInvoker(operation, new ResourceManager(implementation.getDirectory()));
- return invoker;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- System.out.println("Starting " + component.getName());
- }
-
- public void stop() {
- System.out.println("Stopping " + component.getName());
- }
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProviderFactory.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProviderFactory.java
deleted file mode 100644
index 4566cb7155..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProviderFactory.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 crud.provider;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-import crud.CRUDImplementation;
-import crud.provider.CRUDImplementationProvider;
-
-
-/**
- * A factory for CRUD implementation providers.
- *
- * The factory is called to create an implementation provider for each component using
- * the CRUD implementation.
- */
-public class CRUDImplementationProviderFactory implements ImplementationProviderFactory<CRUDImplementation> {
-
- /**
- * Constructs a new CRUD implementation.
- */
- public CRUDImplementationProviderFactory(ExtensionPointRegistry extensionPoints) {
- }
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component, CRUDImplementation implementation) {
- return new CRUDImplementationProvider(component, implementation);
- }
-
- public Class<CRUDImplementation> getModelType() {
- return CRUDImplementation.class;
- }
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/crud.CRUDImplementationFactory b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/crud.CRUDImplementationFactory
deleted file mode 100644
index 3cf5de5fa1..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/crud.CRUDImplementationFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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 implementation model factory
-crud.impl.CRUDImplementationFactoryImpl
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 17c98cf706..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.assembly.xml.DefaultBeanModelProcessor;qname=http://crud#implementation.crud,model=crud.CRUDImplementation,factory=crud.CRUDImplementationFactory
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
deleted file mode 100644
index 527c626418..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# URI of the XML schema to be used for validation
-sample-implementation-crud.xsd
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
deleted file mode 100644
index 6ce605197a..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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 implementation extension
-crud.provider.CRUDImplementationProviderFactory;model=crud.CRUDImplementation
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/sample-implementation-crud.xsd b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/sample-implementation-crud.xsd
deleted file mode 100644
index 447e31bf93..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/main/resources/sample-implementation-crud.xsd
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://crud"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:c="http://crud"
- elementFormDefault="qualified">
-
- <import namespace="http://www.osoa.org/xmlns/sca/1.0"/>
-
- <element name="implementation.crud" type="c:CRUDImplementation"/>
-
- <complexType name="CRUDImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <attribute name="directory" type="anyURI" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
-</schema>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/java/crud/CRUDTestCase.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/java/crud/CRUDTestCase.java
deleted file mode 100644
index 0bb5cfc361..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/java/crud/CRUDTestCase.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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 crud;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-import crud.CRUD;
-
-/**
- * Tests the CRUD implementation extension.
- */
-public class CRUDTestCase extends TestCase {
-
- private SCADomain scaDomain;
- private CRUD crudService;
-
- @Override
- protected void setUp() throws Exception {
- scaDomain = SCADomain.newInstance("crud.composite");
- crudService = scaDomain.getService(CRUD.class, "CRUDServiceComponent");
- }
-
- @Override
- protected void tearDown() throws Exception {
- scaDomain.close();
- }
-
- public void testCRUD() throws Exception {
- String id = crudService.create("ABC");
- Object result = crudService.retrieve(id);
- assertEquals("ABC", result);
-
- crudService.update(id, "EFG");
- result = crudService.retrieve(id);
- assertEquals("EFG", result);
-
- crudService.delete(id);
- result = crudService.retrieve(id);
- assertNull(result);
- }
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/resources/crud.composite b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/resources/crud.composite
deleted file mode 100644
index 18745033bb..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud-extension/src/test/resources/crud.composite
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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 xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample/crud"
- xmlns:sc="http://sample/crud"
- xmlns:c="http://crud"
- name="crud">
-
- <component name="CRUDServiceComponent">
- <c:implementation.crud directory="tmp" />
- </component>
-
-</composite>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/README b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/README
deleted file mode 100644
index 50da631c04..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/README
+++ /dev/null
@@ -1,113 +0,0 @@
-Implementation CRUD Sample Client
-=================================
-This sample demonstrates how to use the new implementation extension,
-implementation-crud-extension.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-If you just want to run it to see what happens, open a command prompt,
-navigate to this sample directory, and do
-
-ant run
-
-OR if you don't have ant, on Windows do
-
-java -cp ..\..\lib\tuscany-sca-manifest.jar;..\implementation-crud-extension\target\sample-implementation-crud-extension.jar;target\sample-implementation-crud.jar crud.client.CRUDClient
-
-and on *nix do
-
-java -cp ../../lib/tuscany-sca-manifest.jar:../implementation-crud-extension/target/sample-implementation-crud-extension.jar:target/sample-implementation-crud.jar crud.client.CRUDClient
-
-This looks like a long command. The three things we add to the classpath are
-
-tuscany-sca-manifest.jar - all of the standard Tuscany SCA
- runtime and extension classes
-sample-implementation-crud-extension.jar - the new crud implementation
- extension
-sample-implementation-crud.jar - the application that uses the crud
- implementation
-
-Sample Overview
----------------
-This sample contains a client application for a CRUD implementation type that
-shows how to create new implementation types. See the README for the
-mplementation-crud-extension sample for details of this implementation type.
-
-implementation-crud/
- src/
- main/
- java/
- crud/
- client/
- CRUDClient.java - sample client
- resources/
- crud.composite - the SCA assembly used by this sample
-
- test/
- java/
- crud/
- client/
- CRUDTestCase.java - sample JUnit test case for the sample client
-
- implementation-crud.png - a pictorial representation of the sample
- .composite file
- build.xml - the Ant build file
- pom.xml - the Maven build file
-
-
-Building And Running The Sample Using Ant
------------------------------------------
-With the binary distribution the sample can be built and run using Ant as
-follows
-
-cd implementation-crud
-ant compile
-ant run
-
-You should see the following output from the run target.
-
-run:
- [java] Starting CRUDServiceComponent
- [java] create(ABC) in tmp
- [java] retrieve(0)
- [java] Result from create: ABC
- [java] update(0)
- [java] retrieve(0)
- [java] Result from update: EFG
- [java] delete(0)
- [java] retrieve(0)
- [java] Result from delete: null
- [java] Stopping CRUDServiceComponent
-
-
-Building And Running The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built and
-run using Maven as follows.
-
-cd implementation-crud
-mvn
-
-You should see the following output from the test phase.
-
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running crud.client.CRUDTestCase
-Starting CRUDServiceComponent
-create(ABC) in tmp
-retrieve(0)
-update(0)
-retrieve(0)
-delete(0)
-retrieve(0)
-Stopping CRUDServiceComponent
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.641 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-This shows that the Junit test cases have run successfully.
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/build.xml b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/build.xml
deleted file mode 100644
index 10b26b5a94..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/build.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<!--
- * 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.
--->
-<project name="implementation-crud" default="compile">
- <property name="test.class" value="crud.client.CRUDClient" />
- <property name="test.jar" value="sample-implementation-crud.jar" />
-
- <target name="init">
- <mkdir dir="target/classes"/>
- </target>
-
- <target name="compile" depends="init">
- <javac srcdir="src/main/java"
- destdir="target/classes"
- debug="on"
- source="1.5"
- target="1.5">
- <classpath>
- <pathelement location="../implementation-crud-extension/target/sample-implementation-crud-extension.jar"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </javac>
- <copy todir="target/classes">
- <fileset dir="src/main/resources"/>
- </copy>
- <jar destfile="target/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="run-classes">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/classes"/>
- <pathelement location="../implementation-crud-extension/target/sample-implementation-crud-extension.jar"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </java>
- </target>
-
- <target name="run">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement location="target/${test.jar}"/>
- <pathelement location="../implementation-crud-extension/target/sample-implementation-crud-extension.jar"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </java>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.png b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.png
deleted file mode 100644
index a292037e7a..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.png
+++ /dev/null
Binary files differ
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.svg b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.svg
deleted file mode 100644
index dbb37be208..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/implementation-crud.svg
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- * 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.
--->
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="1052.3622"
- height="744.09448"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.44"
- sodipodi:docbase="C:\simon\Projects\Tuscany\java\java-head\sca\samples\implementation-crud"
- sodipodi:docname="implementation-crud.svg"
- version="1.0"
- inkscape:export-filename="C:\simon\Projects\Tuscany\java\java-head\sca\samples\implementation-crud\implementation-crud.png"
- inkscape:export-xdpi="52.84"
- inkscape:export-ydpi="52.84">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.4"
- inkscape:cx="528.85714"
- inkscape:cy="406.01174"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- inkscape:window-width="1142"
- inkscape:window-height="722"
- inkscape:window-x="107"
- inkscape:window-y="128" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <g
- id="g2997"
- transform="matrix(1.038749,0,0,1.009461,-29.25616,-1.807024)">
- <rect
- rx="8.7034655"
- ry="12.692303"
- y="192.00233"
- x="375.89822"
- height="299.99988"
- width="281.85843"
- id="rect2067"
- style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:1.95312572;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <flowRoot
- id="flowRoot2954"
- xml:space="preserve"
- transform="translate(104.5213,-10.61387)"><flowRegion
- id="flowRegion2956"><rect
- y="212.66591"
- x="281.42856"
- height="61.42857"
- width="170"
- id="rect2958" /></flowRegion><flowPara
- id="flowPara2960">crud</flowPara></flowRoot> </g>
- <rect
- style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect2988"
- width="115.66247"
- height="85.862968"
- x="450.63062"
- y="302.8819"
- rx="6.9961648"
- ry="7.1230249" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot2966"
- transform="translate(183.0398,96.94336)"><flowRegion
- id="flowRegion2968"><rect
- id="rect2970"
- width="170"
- height="61.42857"
- x="281.42856"
- y="212.66591" /></flowRegion><flowPara
- id="flowPara2972">CRUDService</flowPara><flowPara
- id="flowPara1894">Component</flowPara></flowRoot> <path
- style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 433.4801,334.72889 L 466.81514,334.72889 L 472.87605,347.86087 L 465.80499,359.98271 L 433.4801,359.98271 L 441.05625,347.86087 L 433.4801,334.72889 z "
- id="path3017" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot1904"
- transform="translate(158.2681,129.761)"><flowRegion
- id="flowRegion1906"><rect
- id="rect1908"
- width="170"
- height="61.42857"
- x="281.42856"
- y="212.66591" /></flowRegion><flowPara
- id="flowPara1912"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">CRUD</flowPara></flowRoot> </g>
-</svg>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/pom.xml b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/pom.xml
deleted file mode 100644
index 627d8da25e..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.5.1</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-implementation-crud</artifactId>
- <name>Apache Tuscany SCA Sample CRUD Implementation Extension Client</name>
-
- <repositories>
- <repository>
- <id>apache.incubator</id>
- <url>http://people.apache.org/repo/m2-incubating-repository</url>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>sample-implementation-crud-extension</artifactId>
- <version>1.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.5</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
-</project>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/java/crud/client/CRUDClient.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/java/crud/client/CRUDClient.java
deleted file mode 100644
index ea87cb3001..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/java/crud/client/CRUDClient.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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 crud.client;
-
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-import crud.CRUD;
-
-/**
- * A sample client that shows how to create an SCA domain, get a service, and
- * invoke service methods of a CRUD component.
- *
- * The CRUD component uses an <implementation.crud> implementation extension
- * from module implementation-crud-extension.
- *
- * @version $Rev$ $Date$
- */
-public class CRUDClient {
-
- public static void main(String[] args) throws Exception {
-
- SCADomain scaDomain = SCADomain.newInstance("crud.composite");
- CRUD crudService = scaDomain.getService(CRUD.class, "CRUDServiceComponent");
-
- String id = crudService.create("ABC");
-
- Object result = crudService.retrieve(id);
- System.out.println("Result from create: " + result);
-
- crudService.update(id, "EFG");
- result = crudService.retrieve(id);
- System.out.println("Result from update: " + result);
-
- crudService.delete(id);
- result = crudService.retrieve(id);
- System.out.println("Result from delete: " + result);
-
- scaDomain.close();
- }
-
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/resources/crud.composite b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/resources/crud.composite
deleted file mode 100644
index 18745033bb..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/main/resources/crud.composite
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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 xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample/crud"
- xmlns:sc="http://sample/crud"
- xmlns:c="http://crud"
- name="crud">
-
- <component name="CRUDServiceComponent">
- <c:implementation.crud directory="tmp" />
- </component>
-
-</composite>
diff --git a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/test/java/crud/client/CRUDTestCase.java b/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/test/java/crud/client/CRUDTestCase.java
deleted file mode 100644
index 7e0476a8b1..0000000000
--- a/sca-java-1.x/tags/1.5.1-RC3/samples/implementation-crud/src/test/java/crud/client/CRUDTestCase.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 crud.client;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-import crud.CRUD;
-
-
-/**
- * Tests the sample crud composite.
- */
-public class CRUDTestCase extends TestCase {
-
- private SCADomain scaDomain;
-
- @Override
- protected void setUp() throws Exception {
- scaDomain = SCADomain.newInstance("crud.composite");
- }
-
- @Override
- protected void tearDown() throws Exception {
- scaDomain.close();
- }
-
- public void test() throws Exception {
- CRUD crudService = scaDomain.getService(CRUD.class, "CRUDServiceComponent");
-
- String id = crudService.create("ABC");
- Object result = crudService.retrieve(id);
- assertEquals(result, "ABC");
-
- crudService.update(id, "EFG");
- result = crudService.retrieve(id);
- assertEquals(result, "EFG");
-
- crudService.delete(id);
- result = crudService.retrieve(id);
- assertNull(result);
- }
-}