summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main')
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementation.java65
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementationFactory.java36
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationFactoryImpl.java36
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationImpl.java156
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java173
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationInvoker.java51
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProvider.java96
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProviderFactory.java45
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor19
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema19
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory19
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/pojo.POJOImplementationFactory19
-rw-r--r--branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/sample-implementation-pojo.xsd38
13 files changed, 0 insertions, 772 deletions
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementation.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementation.java
deleted file mode 100644
index 7c2f5d236f..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementation.java
+++ /dev/null
@@ -1,65 +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 pojo;
-
-import java.lang.reflect.Method;
-import java.util.Map;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-
-
-/**
- * Represents a POJO implementation in an SCA assembly.
- *
- * @version $Rev$ $Date$
- */
-public interface POJOImplementation extends Implementation {
-
- /**
- * Returns the POJO class name
- * @return
- */
- public String getPOJOName();
-
- /**
- * Sets the POJO class name
- * @param pojoName
- */
- public void setPOJOName(String pojoName);
-
- /**
- * Returns the POJO class.
- * @return
- */
- public Class<?> getPOJOClass();
-
- /**
- * Sets the POJO class.
- * @param pojoClass
- */
- public void setPOJOClass(Class<?> pojoClass);
-
- /**
- * Returns the POJO's methods.
- * @return
- */
- public Map<String, Method> getMethods();
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementationFactory.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementationFactory.java
deleted file mode 100644
index bbcfb3d0dc..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementationFactory.java
+++ /dev/null
@@ -1,36 +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 pojo;
-
-
-/**
- * Factory for the POJO implementation model.
- *
- * @version $Rev$ $Date$
- */
-public interface POJOImplementationFactory {
-
- /**
- * Creates a new POJO implementation model object.
- * @return a new POJO implementation model object
- */
- POJOImplementation createPOJOImplementation();
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationFactoryImpl.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationFactoryImpl.java
deleted file mode 100644
index 0dad270a6c..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationFactoryImpl.java
+++ /dev/null
@@ -1,36 +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 pojo.impl;
-
-import pojo.POJOImplementation;
-import pojo.POJOImplementationFactory;
-
-/**
- * A factory for the POJO implementation model.
- *
- * @version $Rev$ $Date$
- */
-public class POJOImplementationFactoryImpl implements POJOImplementationFactory {
-
- public POJOImplementation createPOJOImplementation() {
- return new POJOImplementationImpl();
- }
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationImpl.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationImpl.java
deleted file mode 100644
index b5682673f6..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationImpl.java
+++ /dev/null
@@ -1,156 +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 pojo.impl;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-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 pojo.POJOImplementation;
-
-
-/**
- * Represents a POJO implementation in an SCA assembly.
- *
- * @version $Rev$ $Date$
- */
-class POJOImplementationImpl implements POJOImplementation {
-
- private String pojoName;
- private Class<?> pojoClass;
- private String uri;
- private Map<String, Method> methods;
- private List<Service> services = new ArrayList<Service>();
- private List<Reference> references = new ArrayList<Reference>();
- private List<Property> properties = new ArrayList<Property>();
- private boolean unresolved;
-
- POJOImplementationImpl() {
- }
-
- /**
- * Returns the POJO class name
- * @return
- */
- public String getPOJOName() {
- return pojoName;
- }
-
- /**
- * Sets the POJO class name
- * @param pojoName
- */
- public void setPOJOName(String pojoName) {
- this.pojoName = pojoName;
- setURI(pojoName.replace('.', '/'));
- }
-
- /**
- * Returns the POJO class.
- * @return
- */
- public Class<?> getPOJOClass() {
- return pojoClass;
- }
-
- /**
- * Sets the POJO class.
- * @param pojoClass
- */
- public void setPOJOClass(Class<?> pojoClass) {
- this.pojoClass = pojoClass;
- setPOJOName(pojoClass.getName());
-
- // Index the POJO's methods
- methods = new HashMap<String, Method>();
- Method[] m = pojoClass.getMethods();
- for (int i = 0; i < m.length; i++) {
- methods.put(m[i].getName(), m[i]);
- }
- }
-
- /**
- * Returns the POJO's methods.
- * @return
- */
- public Map<String, Method> getMethods() {
- return methods;
- }
-
- public ConstrainingType getConstrainingType() {
- // The sample POJO implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- return properties;
- }
-
- public List<Service> getServices() {
- return services;
- }
-
- public List<Reference> getReferences() {
- return references;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The sample POJO implementation does not support constrainingTypes
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-
- @Override
- public int hashCode() {
- return uri.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof POJOImplementationImpl) {
- return ((POJOImplementationImpl)obj).getURI().equals(uri);
- } else {
- return false;
- }
- }
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java
deleted file mode 100644
index d388fae6d3..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java
+++ /dev/null
@@ -1,173 +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 pojo.impl;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ClassReference;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-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 org.apache.tuscany.sca.policy.PolicyFactory;
-
-import pojo.POJOImplementation;
-import pojo.POJOImplementationFactory;
-
-/**
- * Implements a STAX based artifact processor for POJO implementations.
- *
- * The artifact processor is responsible for processing <implementation.pojo>
- * elements in SCA assembly XML composite files and populating the POJO
- * implementation model, resolving its references to other artifacts in the SCA
- * contribution, and optionally write the model back to SCA assembly XML.
- */
-public class POJOImplementationProcessor implements StAXArtifactProcessor<POJOImplementation> {
- private static final QName IMPLEMENTATION_POJO = new QName("http://pojo", "implementation.pojo");
-
- private AssemblyFactory assemblyFactory;
- private JavaInterfaceFactory javaFactory;
- private POJOImplementationFactory pojoImplementationFactory;
- private PolicyFactory policyFactory;
- private PolicyAttachPointProcessor policyProcessor;
-
- public POJOImplementationProcessor(ModelFactoryExtensionPoint modelFactories) {
-
- // Get the assembly and Java interface factories as we'll need them to
- // create model objects
- assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
- policyFactory = modelFactories.getFactory(PolicyFactory.class);
- pojoImplementationFactory = modelFactories.getFactory(POJOImplementationFactory.class);
- policyProcessor = new PolicyAttachPointProcessor(policyFactory);
- }
-
- public QName getArtifactType() {
- // Returns the qname of the XML element processed by this processor
- return IMPLEMENTATION_POJO;
- }
-
- public Class<POJOImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return POJOImplementation.class;
- }
-
- public POJOImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- // Read an <implementation.pojo> element
- POJOImplementation implementation = pojoImplementationFactory.createPOJOImplementation();
-
- // Read policies
- policyProcessor.readPolicies(implementation, reader);
-
- // Read the POJO class attribute.
- String className = reader.getAttributeValue(null, "class");
- implementation.setPOJOName(className);
-
- // Mark the POJO model unresolved to track the fact that it's not
- // completely initialized, its class is not loaded yet and services
- // and references not initialized either
- implementation.setUnresolved(true);
-
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_POJO.equals(reader.getName())) {
- break;
- }
- }
-
- return implementation;
- }
-
- public void resolve(POJOImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
-
- // Resolve the POJO implementation
-
- // First resolve its class
- ClassReference classReference = new ClassReference(implementation.getPOJOName());
- classReference = resolver.resolveModel(ClassReference.class, classReference);
- Class pojoClass = classReference.getJavaClass();
- if (pojoClass == null) {
- throw new ContributionResolveException("Class could not be resolved: " + implementation.getPOJOName());
- }
- implementation.setPOJOClass(pojoClass);
-
- // Check to see if we have a .componentType file describing the POJO class
- ComponentType componentType = assemblyFactory.createComponentType();
- componentType.setUnresolved(true);
- componentType.setURI(implementation.getURI() + ".componentType");
- componentType = resolver.resolveModel(ComponentType.class, componentType);
- if (!componentType.isUnresolved()) {
-
- // We have a component type description, merge it into the POJO model
- implementation.getServices().addAll(componentType.getServices());
- implementation.getReferences().addAll(componentType.getReferences());
- implementation.getProperties().addAll(componentType.getProperties());
-
- } else {
-
- // We have no component type description, simply introspect the POJO and
- // create a single Service for it
- Service service = assemblyFactory.createService();
- service.setName(pojoClass.getSimpleName());
- JavaInterface javaInterface;
- try {
- javaInterface = javaFactory.createJavaInterface(pojoClass);
- } catch (InvalidInterfaceException e) {
- throw new ContributionResolveException(e);
- }
- JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract();
- interfaceContract.setInterface(javaInterface);
- service.setInterfaceContract(interfaceContract);
- implementation.getServices().add(service);
- }
-
- // Mark the implementation resolved now
- implementation.setUnresolved(false);
- }
-
- public void write(POJOImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- // Write <implementation.pojo> element
- policyProcessor.writePolicyPrefixes(implementation, writer);
- writer.writeStartElement(IMPLEMENTATION_POJO.getNamespaceURI(), IMPLEMENTATION_POJO.getLocalPart());
- policyProcessor.writePolicyAttributes(implementation, writer);
-
- if (implementation.getPOJOName() != null) {
- writer.writeAttribute("class", implementation.getPOJOName());
- }
-
- writer.writeEndElement();
- }
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationInvoker.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationInvoker.java
deleted file mode 100644
index dbe956b8c6..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationInvoker.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 pojo.provider;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.osoa.sca.ServiceRuntimeException;
-
-class POJOImplementationInvoker implements Invoker {
-
- private Object pojoInstance;
- private Method method;
-
- POJOImplementationInvoker(Object pojoInstance, Operation operation, Method method) {
- this.pojoInstance = pojoInstance;
- this.method = method;
- }
-
- public Message invoke(Message msg) {
- try {
- msg.setBody(method.invoke(pojoInstance, (Object[])msg.getBody()));
- } catch (InvocationTargetException e) {
- msg.setFaultBody(e);
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- return msg;
- }
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProvider.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProvider.java
deleted file mode 100644
index dd96a18cbb..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProvider.java
+++ /dev/null
@@ -1,96 +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 pojo.provider;
-
-import java.lang.reflect.Method;
-
-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 org.osoa.sca.ServiceRuntimeException;
-
-import pojo.POJOImplementation;
-
-/**
- * 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
- */
-class POJOImplementationProvider implements ImplementationProvider {
-
- private POJOImplementation implementation;
- private Object pojoInstance;
-
- /**
- * Constructs a new CRUD implementation.
- */
- POJOImplementationProvider(RuntimeComponent component, POJOImplementation implementation) {
- this.implementation = implementation;
-
- // Create a new instance of the POJO
- try {
- pojoInstance = implementation.getPOJOClass().newInstance();
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- }
-
- public void start() {
- try {
- // Invoke the POJO's init method
- Method initMethod = implementation.getMethods().get("init");
- if (initMethod != null) {
- initMethod.invoke(pojoInstance);
- }
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- }
-
- public void stop() {
- try {
- // Invoke the POJO's destroy method
- Method destroyMethod = implementation.getMethods().get("destroy");
- if (destroyMethod != null) {
- destroyMethod.invoke(pojoInstance);
- }
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- } finally {
- pojoInstance = null;
- }
- }
-
- public Invoker createInvoker(RuntimeComponentService service, Operation operation) {
- Method method = implementation.getMethods().get(operation.getName());
- POJOImplementationInvoker invoker = new POJOImplementationInvoker(pojoInstance, operation, method);
- return invoker;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProviderFactory.java b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProviderFactory.java
deleted file mode 100644
index ce135b64cf..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProviderFactory.java
+++ /dev/null
@@ -1,45 +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 pojo.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 pojo.POJOImplementation;
-
-/**
- * The model representing a sample POJO implementation in an SCA assembly model.
- */
-public class POJOImplementationProviderFactory implements ImplementationProviderFactory<POJOImplementation> {
-
- public POJOImplementationProviderFactory(ExtensionPointRegistry registry) {
- }
-
- public Class<POJOImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return POJOImplementation.class;
- }
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component, POJOImplementation implementation) {
- return new POJOImplementationProvider(component, implementation);
- }
-
-}
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 8337e81c5f..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-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
-pojo.impl.POJOImplementationProcessor;qname=http://pojo#implementation.pojo,model=pojo.POJOImplementation,factory=pojo.POJOImplementationFactory
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
deleted file mode 100644
index 64dd230a15..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-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-pojo.xsd
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
deleted file mode 100644
index b30ea3b9cf..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-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
-pojo.provider.POJOImplementationProviderFactory;model=pojo.POJOImplementation
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/pojo.POJOImplementationFactory b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/pojo.POJOImplementationFactory
deleted file mode 100644
index 075af98240..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/META-INF/services/pojo.POJOImplementationFactory
+++ /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 implementation model factory
-pojo.impl.POJOImplementationFactoryImpl
diff --git a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/sample-implementation-pojo.xsd b/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/sample-implementation-pojo.xsd
deleted file mode 100644
index c9d170770b..0000000000
--- a/branches/sca-java-1.0.1/samples/implementation-pojo-extension/src/main/resources/sample-implementation-pojo.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://pojo"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:p="http://pojo"
- elementFormDefault="qualified">
-
- <import namespace="http://www.osoa.org/xmlns/sca/1.0"/>
-
- <element name="implementation.pojo" type="p:POJOImplementation"/>
-
- <complexType name="POJOImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <attribute name="class" type="NCName" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
-</schema>