From 0f3f9b59b310833f31ba234ee4aefa808649833c Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:06:50 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835120 13f79535-47bb-0310-9956-ffa450edef68 --- .../spring/SCAApplicationContext.java | 50 -- .../spring/SCANamespaceHandlerResolver.java | 51 -- .../spring/SCAParentApplicationContext.java | 283 ---------- .../implementation/spring/ScaNamespaceHandler.java | 39 -- .../spring/ScaPropertyBeanDefinitionParser.java | 37 -- .../spring/ScaReferenceBeanDefinitionParser.java | 38 -- .../spring/ScaServiceBeanDefinitionParser.java | 38 -- .../spring/SpringArtifactProcessor.java | 205 -------- .../spring/SpringBeanNotFoundException.java | 29 -- .../spring/SpringImplementation.java | 146 ------ .../spring/SpringImplementationProvider.java | 98 ---- .../SpringImplementationProviderFactory.java | 67 --- .../spring/SpringInvocationException.java | 29 -- .../implementation/spring/SpringInvoker.java | 131 ----- .../spring/SpringModuleActivator.java | 131 ----- .../spring/SpringOperationNotFoundException.java | 30 -- .../spring/SpringPropertyValueObjectFactory.java | 46 -- .../spring/xml/SpringBeanElement.java | 60 --- .../spring/xml/SpringBeanIntrospector.java | 156 ------ .../spring/xml/SpringPropertyElement.java | 46 -- .../spring/xml/SpringSCAPropertyElement.java | 45 -- .../spring/xml/SpringSCAReferenceElement.java | 47 -- .../spring/xml/SpringSCAServiceElement.java | 53 -- .../spring/xml/SpringXMLComponentTypeLoader.java | 575 --------------------- .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../src/main/resources/META-INF/spring.handlers | 3 - .../src/main/resources/META-INF/spring.schemas | 1 - .../org/springframework/sca/xml/spring-sca.xsd | 101 ---- .../spring/itests/AbstractSCATestCase.java | 49 -- .../helloworld/AbstractHelloWorldTestCase.java | 42 -- .../spring/itests/helloworld/HelloWorld.java | 35 -- .../spring/itests/helloworld/HelloWorldImpl.java | 38 -- .../spring/itests/helloworld/HelloWorldProxy.java | 42 -- .../SpringExplicitHelloWorldTestCase.java | 34 -- .../SpringExplicitReferenceTestCase.java | 39 -- .../helloworld/SpringHelloWorldTestCase.java | 32 -- .../SpringImplicitReferenceTestCase.java | 42 -- .../helloworld/SpringSCAPropertyTestCase.java | 39 -- .../spring/itests/mock/TestBean.java | 31 -- .../spring/itests/mock/TestBeanImpl.java | 42 -- .../spring/itests/mock/TestHelloWorldBean.java | 40 -- .../spring/itests/mock/TestReference.java | 27 - .../spring/itests/mock/TestReferenceBean.java | 57 -- .../spring/itests/mock/TestSCAPropertyBean.java | 55 -- .../sca/SpringExplicitHelloWorld-context.xml | 39 -- .../sca/SpringExplicitReference-context.xml | 33 -- .../META-INF/sca/SpringHelloWorld-context.xml | 31 -- .../sca/SpringImplicitReference-context.xml | 34 -- .../META-INF/sca/SpringSCAProperty-context.xml | 34 -- .../META-INF/sca/testReferenceContext.xml | 33 -- .../resources/META-INF/sca/testServiceContext.xml | 31 -- .../helloworld/SpringExplicitHelloWorld.composite | 32 -- .../helloworld/SpringExplicitReference.composite | 32 -- .../itests/helloworld/SpringHelloWorld.composite | 32 -- .../helloworld/SpringImplicitReference.composite | 39 -- .../itests/helloworld/SpringSCAProperty.composite | 39 -- .../src/test/resources/test.xml | 29 -- 57 files changed, 3635 deletions(-) delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAApplicationContext.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCANamespaceHandlerResolver.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAParentApplicationContext.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaNamespaceHandler.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaPropertyBeanDefinitionParser.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaReferenceBeanDefinitionParser.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaServiceBeanDefinitionParser.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringArtifactProcessor.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringBeanNotFoundException.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementation.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProvider.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProviderFactory.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvocationException.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvoker.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringModuleActivator.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringOperationNotFoundException.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringPropertyValueObjectFactory.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanElement.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanIntrospector.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringPropertyElement.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAPropertyElement.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAReferenceElement.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAServiceElement.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringXMLComponentTypeLoader.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.handlers delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.schemas delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/AbstractSCATestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/AbstractHelloWorldTestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorld.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldImpl.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldProxy.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorldTestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReferenceTestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorldTestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReferenceTestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAPropertyTestCase.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBean.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBeanImpl.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestHelloWorldBean.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReference.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReferenceBean.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestSCAPropertyBean.java delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitHelloWorld-context.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitReference-context.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-context.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImplicitReference-context.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringSCAProperty-context.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testReferenceContext.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testServiceContext.xml delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorld.composite delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReference.composite delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorld.composite delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReference.composite delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAProperty.composite delete mode 100644 branches/sca-java-0.91/modules/implementation-spring/src/test/resources/test.xml (limited to 'branches/sca-java-0.91/modules/implementation-spring/src') diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAApplicationContext.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAApplicationContext.java deleted file mode 100644 index 6aad8fcfd0..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAApplicationContext.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 org.apache.tuscany.implementation.spring; - -import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.AbstractXmlApplicationContext; -import org.springframework.core.io.Resource; - -/** - * An ApplicationContext specialization that registers namespace handlers for - * SCA elements - in particular the , and elements which - * are provided as SCA extensions to the Spring application context schema - * - */ -public class SCAApplicationContext extends AbstractXmlApplicationContext { - public static final String APP_CONTEXT_PROP = "org.springframework.sca.application.context"; - private Resource appXml; - - public SCAApplicationContext(ApplicationContext parent, Resource appXml) { - super(parent); - this.appXml = appXml; - //refresh(); - } - - protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) { - ClassLoader cl = getClassLoader(); - beanDefinitionReader.setNamespaceHandlerResolver(new SCANamespaceHandlerResolver(cl)); - } - - protected Resource[] getConfigResources() { - return new Resource[]{appXml}; - } -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCANamespaceHandlerResolver.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCANamespaceHandlerResolver.java deleted file mode 100644 index 7f6f9263da..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCANamespaceHandlerResolver.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 org.apache.tuscany.implementation.spring; - -import org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver; -import org.springframework.beans.factory.xml.NamespaceHandler; - -/** - * Overrides the default Spring namespace resolver to automatically register {@link ScaNamespaceHandler} instead of - * requiring a value to be supplied in a Spring configuration - * - * @version $$Rev: 511195 $$ $$Date: 2007-02-24 02:29:46 +0000 (Sat, 24 Feb 2007) $$ - */ -public class SCANamespaceHandlerResolver extends DefaultNamespaceHandlerResolver { - private static final String SCA_NAMESPACE = "http://www.springframework.org/schema/sca"; - - private ScaNamespaceHandler handler; - - public SCANamespaceHandlerResolver(ClassLoader classLoader) { - super(classLoader); - handler = new ScaNamespaceHandler(/*componentType*/); - } - - public SCANamespaceHandlerResolver(String handlerMappingsLocation, ClassLoader classLoader) { - super(classLoader, handlerMappingsLocation); - handler = new ScaNamespaceHandler(/*componentType*/); - } - - public NamespaceHandler resolve(String namespaceUri) { - if (SCA_NAMESPACE.equals(namespaceUri)) { - return handler; - } - return super.resolve(namespaceUri); - } -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAParentApplicationContext.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAParentApplicationContext.java deleted file mode 100644 index 2d11b824a9..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SCAParentApplicationContext.java +++ /dev/null @@ -1,283 +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 org.apache.tuscany.implementation.spring; - -import java.io.IOException; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.factory.ObjectFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.implementation.java.context.JavaPropertyValueObjectFactory; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; - -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.BeanFactory; -import org.springframework.beans.factory.BeanNotOfRequiredTypeException; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import org.springframework.beans.factory.config.AutowireCapableBeanFactory; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationEvent; -import org.springframework.context.MessageSourceResolvable; -import org.springframework.context.NoSuchMessageException; -import org.springframework.core.io.Resource; - -/** - * A Spring ParentApplicationContext for a given Spring Implementation - * - * The Parent application context is responsible for handling those entities within a Spring - * application context that actually belong to SCA rather than to Spring. The principal things - * are Properties and References. These may be present either through explicit - * and elements in the application context or they may be implicit through - * unresolved Spring bean elements. In either case, it is the Parent application - * context that must provide Spring beans that correspond to the property or reference, as derived - * from the SCA composite in which the Spring application context is an implementation. - * @author MikeEdwards - * - */ -class SCAParentApplicationContext implements ApplicationContext { - - // The Spring implementation for which this is the parent application context - private SpringImplementation implementation; - private RuntimeComponent component; - private ProxyFactory proxyService; - private JavaPropertyValueObjectFactory propertyFactory; - - private static final String[] EMPTY_ARRAY = new String[0]; - - public SCAParentApplicationContext( RuntimeComponent component, - SpringImplementation implementation, - ProxyFactory proxyService, - JavaPropertyValueObjectFactory propertyValueObjectFactory) { - this.implementation = implementation; - this.component = component; - this.proxyService = proxyService; - this.propertyFactory = propertyValueObjectFactory; - } // end constructor - - public Object getBean(String name) throws BeansException { - return getBean(name, null); - } - - /** - * Get a Bean for a reference or for a property.. - * @param name - the name of the Bean required - * @param requiredtype - the required type of the Bean (either a Java class or a Java interface) - * @return Object - a Bean which matches the requested bean - */ - public Object getBean(String name, Class requiredType) throws BeansException { - System.out.println("Spring parent context - getBean called for name: " + name ); - // The expectation is that the requested Bean is either a reference or a property - // from the Spring context - for ( Reference reference : implementation.getReferences() ) { - if( reference.getName().equals(name) ) { - // Extract the Java interface for the reference (it can't be any other interface type - // for a Spring application context) - if( requiredType == null ) { - JavaInterface javaInterface = - (JavaInterface) reference.getInterfaceContract().getInterface(); - requiredType = javaInterface.getJavaClass(); - } - // Create and return eturn the proxy for the reference - return getService( requiredType, reference.getName() ); - } // end if - } // end for - - // For a property, get the name and the required Java type and create a Bean - // of that type with the value inserted. - for ( Property property : implementation.getProperties() ) { - if( property.getName().equals(name) ) { - if( requiredType == null ) { - // The following code only deals with a subset of types and was superceded - // by the information from the implementation (which uses Classes as found - // in the Spring implementation itself. - //requiredType = JavaXMLMapper.getJavaType( property.getXSDType() ); - requiredType = implementation.getPropertyClass( name ); - } - return getPropertyBean( requiredType, property.getName() ); - } // end if - } // end for - throw new NoSuchBeanDefinitionException("Unable to find Bean with name " + name ); - - } // end method getBean( String, Class ) - - - /** - * Creates a proxy Bean for a reference - * @param the Business interface type for the reference - * @param businessInterface - the business interface as a Class - * @param referenceName - the name of the Reference - * @return an Bean of the type defined by - */ - private B getService(Class businessInterface, String referenceName) { - List refs = component.getReferences(); - for (ComponentReference ref : refs) { - if (ref.getName().equals(referenceName)) { - RuntimeComponentReference attachPoint = (RuntimeComponentReference)ref; - RuntimeWire wire = attachPoint.getRuntimeWires().get(0); - return proxyService.createProxy(businessInterface, wire); - } - } - return null; - } - - /** - * Method to create a Java Bean for a Property value - * @param the class type of the Bean - * @param requiredType - a Class object for the required type - * @param name - the Property name - * @return - a Bean of the specified property, with value set - */ - private B getPropertyBean( Class requiredType, String name) { - B propertyObject = null; - // Get the component's list of properties - List props = component.getProperties(); - for ( ComponentProperty prop : props ) { - if ( prop.getName().equals(name) ) { - // On finding the property, create a factory for it and create a Bean using - // the factory - ObjectFactory factory = propertyFactory.createValueFactory( prop, - prop.getValue(), - requiredType ); - propertyObject = (B)factory.getInstance(); - } // end if - } // end for - - return propertyObject; - } - - public boolean containsBean(String name) { - // TODO - System.out.println("Spring parent context - containsBean called for name: " + name ); - return false; - } - - public boolean isSingleton(String name) throws NoSuchBeanDefinitionException { - // TODO - return false; - } - - public boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException { - throw new UnsupportedOperationException(); - } - - public Class getType(String name) throws NoSuchBeanDefinitionException { - return null; - } - - public String[] getAliases(String name) throws NoSuchBeanDefinitionException { - return EMPTY_ARRAY; - } - - public ApplicationContext getParent() { - return null; - } - - public AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException { - return null; - } - - public String getDisplayName() { - return implementation.getURI(); - } - - public long getStartupDate() { - return 0; - } - - public boolean containsBeanDefinition(String beanName) { - return false; - } - - public int getBeanDefinitionCount() { - return 0; - } - - public String[] getBeanDefinitionNames() { - return new String[0]; - } - - public String[] getBeanNamesForType(Class type) { - return new String[0]; - } - - public String[] getBeanNamesForType(Class type, boolean includePrototypes, boolean includeFactoryBeans) { - return new String[0]; - } - - public Map getBeansOfType(Class type) throws BeansException { - return null; - } - - public Map getBeansOfType(Class type, boolean includePrototypes, boolean includeFactoryBeans) - throws BeansException { - return null; - } - - public boolean isPrototype( String theString ) { - return false; - } - - public BeanFactory getParentBeanFactory() { - return null; - } - - public boolean containsLocalBean(String name) { - return false; - } - - public String getMessage(String code, Object[] args, String defaultMessage, Locale locale) { - return null; - } - - public String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException { - return null; - } - - public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { - return null; - } - - public void publishEvent(ApplicationEvent event) { - - } - - public Resource[] getResources(String locationPattern) throws IOException { - return new Resource[0]; - } - - public Resource getResource(String location) { - return null; - } - - public ClassLoader getClassLoader() { - // REVIEW: this is almost certainly flawed, but it's not clear how the SCA runtime's - // resource loading mechanism is exposed right now. - return this.getClass().getClassLoader(); - } -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaNamespaceHandler.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaNamespaceHandler.java deleted file mode 100644 index 88fd8409c5..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaNamespaceHandler.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2002-2006 the original author or authors. - * - * Licensed 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 on 10-Apr-2006 by Adrian Colyer - */ -package org.apache.tuscany.implementation.spring; - -import org.springframework.beans.factory.xml.NamespaceHandlerSupport; - -/** - * Handler for the <sca:> namespace in an application context - * - * @version $Rev: 511195 $ $Date: 2007-02-24 02:29:46 +0000 (Sat, 24 Feb 2007) $ - */ -public class ScaNamespaceHandler extends NamespaceHandlerSupport { - - public ScaNamespaceHandler() { - init(); - } - - public final void init() { - registerBeanDefinitionParser("reference", new ScaReferenceBeanDefinitionParser()); - registerBeanDefinitionParser("service", new ScaServiceBeanDefinitionParser()); - registerBeanDefinitionParser("property", new ScaPropertyBeanDefinitionParser()); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaPropertyBeanDefinitionParser.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaPropertyBeanDefinitionParser.java deleted file mode 100644 index 49874f300c..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaPropertyBeanDefinitionParser.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2002-2006 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tuscany.implementation.spring; - -import org.w3c.dom.Element; - -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.xml.BeanDefinitionParser; -import org.springframework.beans.factory.xml.ParserContext; - -/** - * Parser for the <sca:reference> element - * - */ -public class ScaPropertyBeanDefinitionParser implements BeanDefinitionParser { - - public BeanDefinition parse(Element element, ParserContext parserContext) { - // do nothing, this is handled by Tuscany - return null; - } - -} - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaReferenceBeanDefinitionParser.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaReferenceBeanDefinitionParser.java deleted file mode 100644 index c23b39e57f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaReferenceBeanDefinitionParser.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2002-2006 the original author or authors. - * - * Licensed 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 on 10-Apr-2006 by Adrian Colyer - */ -package org.apache.tuscany.implementation.spring; - -import org.w3c.dom.Element; - -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.xml.BeanDefinitionParser; -import org.springframework.beans.factory.xml.ParserContext; - -/** - * Parser for the <sca:reference> element - * - * @version $Rev: 511195 $ $Date: 2007-02-24 02:29:46 +0000 (Sat, 24 Feb 2007) $ - */ -public class ScaReferenceBeanDefinitionParser implements BeanDefinitionParser { - - public BeanDefinition parse(Element element, ParserContext parserContext) { - // do nothing, this is handled by Tuscany - return null; - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaServiceBeanDefinitionParser.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaServiceBeanDefinitionParser.java deleted file mode 100644 index 7b34c45a70..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/ScaServiceBeanDefinitionParser.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2002-2006 the original author or authors. - * - * Licensed 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 on 10-Apr-2006 by Adrian Colyer - */ -package org.apache.tuscany.implementation.spring; - -import org.w3c.dom.Element; - -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.xml.BeanDefinitionParser; -import org.springframework.beans.factory.xml.ParserContext; - -/** - * Parser for the <sca:service/> element - * - * @version $Rev: 511195 $ $Date: 2007-02-24 02:29:46 +0000 (Sat, 24 Feb 2007) $ - */ -public class ScaServiceBeanDefinitionParser implements BeanDefinitionParser { - - public BeanDefinition parse(Element element, ParserContext parserContext) { - // do nothing, handled by Tuscany - return null; - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringArtifactProcessor.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringArtifactProcessor.java deleted file mode 100644 index ec6b54031d..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringArtifactProcessor.java +++ /dev/null @@ -1,205 +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 org.apache.tuscany.implementation.spring; - -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.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.xml.Constants; -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.ContributionWireException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.implementation.spring.xml.SpringXMLComponentTypeLoader; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; - -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector; -import org.apache.tuscany.sca.implementation.java.context.JavaPropertyValueObjectFactory; - - -/* - * SpringArtifactProcessor is responsible for processing the XML of an - * element in an SCA SCDL file. - */ -public class SpringArtifactProcessor implements StAXArtifactProcessor { - - private static final String LOCATION = "location"; - private static final String IMPLEMENTATION_SPRING = "implementation.spring"; - private static final QName IMPLEMENTATION_SPRING_QNAME = - new QName(Constants.SCA10_NS, IMPLEMENTATION_SPRING); - private static final String MSG_LOCATION_MISSING = "Reading implementation.spring - location attribute missing"; - - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaFactory; - private JavaInterfaceIntrospector interfaceIntrospector; - private PolicyFactory policyFactory; - // TODO: runtime needs to provide a better way to get the PropertyValueObjectFactory - private JavaPropertyValueObjectFactory propertyFactory; - - - public SpringArtifactProcessor( AssemblyFactory assemblyFactory, - JavaInterfaceFactory javaFactory, - JavaInterfaceIntrospector interfaceIntrospector, - PolicyFactory policyFactory, - JavaPropertyValueObjectFactory propertyFactory ) { - this.assemblyFactory = assemblyFactory; - this.javaFactory = javaFactory; - this.interfaceIntrospector = interfaceIntrospector; - this.policyFactory = policyFactory; - this.propertyFactory = propertyFactory; - - } - - /* - * Read the XML and parse out the attributes. - * - * has a single required attribute: - * "location" - which is the target URI of of an archive file or a directory that contains the Spring - * application context files. - * If the resource identified by the location attribute is an archive file, then the file - * META-INF/MANIFEST.MF is read from the archive. - * If the location URI identifies a directory, then META-INF/MANIFEST.MF must exist - * underneath that directory. - * If the manifest file contains a header "Spring-Context" of the format: - * Spring-Context ::= path ( ';' path )* - * - * Where path is a relative path with respect to the location URI, then the set of paths - * specified in the header identify the context configuration files. - * If there is no MANIFEST.MF file or no Spring-Context header within that file, - * then the default behaviour is to build an application context using all the *.xml files - * in the METAINF/spring directory. - */ - public SpringImplementation read(XMLStreamReader reader) throws ContributionReadException { - - try { - /* Read the location attribute for the spring implementation */ - String springLocation = reader.getAttributeValue(null, LOCATION); - if (springLocation == null) { - throw new ContributionReadException( MSG_LOCATION_MISSING ); - } - /* Create the Spring implementation and set the location into it */ - SpringImplementation springImplementation = new SpringImplementation(); - springImplementation.setSpringLocation( springLocation ); - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && IMPLEMENTATION_SPRING_QNAME.equals(reader.getName())) { - break; - } - } // end while - - processComponentType(springImplementation); - - return springImplementation; - - } catch (XMLStreamException e) { - throw new ContributionReadException(e); - } - } // end read - - /* - * Handles the component type for the Spring implementation - * @param springImplementation - a Spring implementation. The component type information - * is created for this implementation - * - */ - private void processComponentType(SpringImplementation springImplementation) { - - // Create a ComponentType and mark it unresolved - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setUnresolved(true); - springImplementation.setComponentType(componentType); - } // end processComponentType - - /* - * Write out the XML representation of the Spring implementation - * - */ - public void write(SpringImplementation springImplementation, XMLStreamWriter writer) throws ContributionWriteException { - try { - - writer.writeStartElement(Constants.SCA10_NS, IMPLEMENTATION_SPRING); - if (springImplementation.getSpringLocation() != null) { - writer.writeAttribute(LOCATION, springImplementation.getSpringLocation()); - } - writer.writeEndElement(); - - } catch (XMLStreamException e) { - throw new ContributionWriteException(e); - } - } // end write - - /** - * Resolves the Spring implementation - loads the Spring application-context XML and - * derives the spring implementation componentType from it - */ - public void resolve(SpringImplementation springImplementation, ModelResolver resolver) - throws ContributionResolveException { - - /* Load the Spring component type by reading the Spring application context */ - SpringXMLComponentTypeLoader springLoader = - new SpringXMLComponentTypeLoader( assemblyFactory, interfaceIntrospector, - javaFactory, policyFactory ); - try { - // Load the Spring Implementation information from its application context file... - springLoader.load( springImplementation ); - } catch ( ContributionReadException e ) { - throw new ContributionResolveException( e ); - } - - ComponentType ct = springImplementation.getComponentType(); - if( ct.isUnresolved() ) { - // If the introspection fails to resolve, try to find a side file... - ComponentType componentType = resolver.resolveModel(ComponentType.class, ct); - if (componentType.isUnresolved()) { - throw new ContributionResolveException("SpringArtifactProcessor: unable to resolve componentType for Spring component"); - } - springImplementation.setComponentType(componentType); - - springImplementation.setUnresolved(false); - } // end if - - } // end method resolve - - public void wire(SpringImplementation model) throws ContributionWireException { - // TODO Auto-generated method stub - } - - public QName getArtifactType() { - return IMPLEMENTATION_SPRING_QNAME; - } - - public Class getModelType() { - return SpringImplementation.class; - } - -} // end class SpringArtifactProcessor diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringBeanNotFoundException.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringBeanNotFoundException.java deleted file mode 100644 index 7a72540527..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringBeanNotFoundException.java +++ /dev/null @@ -1,29 +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 org.apache.tuscany.implementation.spring; - -public class SpringBeanNotFoundException extends Exception { - - private static final long serialVersionUID = -1157790036638157553L; - - public SpringBeanNotFoundException( String msg ) { - super( msg ); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementation.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementation.java deleted file mode 100644 index d9fe48c38f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementation.java +++ /dev/null @@ -1,146 +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 org.apache.tuscany.implementation.spring; - -import java.util.List; -import java.util.Hashtable; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.impl.ComponentTypeImpl; - -import org.springframework.core.io.Resource; - -import org.apache.tuscany.implementation.spring.xml.SpringBeanElement; - -/** - * Represents a Spring implementation. - * - * - */ -public class SpringImplementation extends ComponentTypeImpl implements Implementation { - - // The location attribute which points to the Spring application-context XML file - private String springLocation; - // The application-context file as a Spring Resource - private Resource resource; - private ComponentType componentType; - // Mapping of Services to Beans - private Hashtable serviceMap; - // Mapping of property names to Java class - private Hashtable propertyMap; - - protected SpringImplementation() { - this.springLocation = null; - this.resource = null; - setUnresolved(true); - serviceMap = new Hashtable(); - propertyMap = new Hashtable(); - } // end method SpringImplementation - - /* Returns the location attribute for this Spring implementation */ - public String getSpringLocation() { - return springLocation; - } - - /** - * Sets the location attribute for this Spring implementation - * location - a URI to the Spring application-context file - */ - public void setSpringLocation(String location) { - this.springLocation = location; - return; - } - - public void setResource( Resource resource ) { - this.resource = resource; - } - - public Resource getResource() { - return resource; - } - - /* - * Returns the componentType for this Spring implementation - */ - public ComponentType getComponentType() { - return componentType; - } - - /* - * Sets the componentType for this Spring implementation - */ - public void setComponentType(ComponentType componentType) { - this.componentType = componentType; - } - - public List getServices() { - return componentType.getServices(); - } - - public List getReferences() { - return componentType.getReferences(); - } - - public List getProperties() { - return componentType.getProperties(); - } - - /** - * Returns the Spring Bean which implements a particular service - * @param service the service - * @return the bean which implements the service, as a SpringBeanElement - */ - public SpringBeanElement getBeanFromService( Service service ) { - SpringBeanElement theBean = serviceMap.get( service.getName() ); - return theBean; - } - - /** - * Sets the mapping from a service to the Spring Bean that implements the service - * @param service the service - * @param theBean a SpringBeanElement for the Bean implementing the service - */ - public void setBeanForService( Service service, SpringBeanElement theBean ) { - serviceMap.put( service.getName(), theBean ); - } - - /** - * Add a mapping from a SCA property name to a Java class for the property - * @param propertyName - * @param propertyClass - */ - public void setPropertyClass( String propertyName, Class propertyClass ){ - if( propertyName == null || propertyClass == null ) return; - propertyMap.put( propertyName, propertyClass ); - return; - } // end method setPropertyClass - - /** - * Gets the Java Class for an SCA property - * @param propertyName - the property name - * @return - a Class object for the type of the property - */ - public Class getPropertyClass( String propertyName ) { - return propertyMap.get( propertyName ); - } // end method getPropertyClass -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProvider.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProvider.java deleted file mode 100644 index c3c7fece29..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProvider.java +++ /dev/null @@ -1,98 +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 org.apache.tuscany.implementation.spring; - -import java.net.URI; - -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.factory.ObjectFactory; -import org.apache.tuscany.sca.implementation.java.context.JavaPropertyValueObjectFactory; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.osoa.sca.ComponentContext; - -import org.springframework.context.support.AbstractApplicationContext; - -// TODO - create a working version of this class... -/** - * A provider class for runtime Spring implementation instances - */ -public class SpringImplementationProvider implements ImplementationProvider { - private SpringImplementation implementation; - private RuntimeComponent component; - private ProxyFactory proxyService; - - // A Spring application context object - private AbstractApplicationContext springContext; - - /** - * Constructor for the provider - takes a component definition and a Spring implementation - * description - * @param component - the component in the assembly - * @param implementation - the implementation - */ - public SpringImplementationProvider( RuntimeComponent component, - SpringImplementation implementation, - ProxyFactory proxyService, - JavaPropertyValueObjectFactory propertyValueObjectFactory ) { - super(); - this.implementation = implementation; - this.component = component; - this.proxyService = proxyService; - SCAParentApplicationContext scaParentContext = - new SCAParentApplicationContext( component, implementation, - proxyService, propertyValueObjectFactory ); - springContext = new SCAApplicationContext(scaParentContext, implementation.getResource() ); - } // end constructor - - public Invoker createInvoker(RuntimeComponentService service, Operation operation) { - return new SpringInvoker( component, springContext, service, operation ); - } - - public Invoker createCallbackInvoker(Operation operation) { - return new SpringInvoker( component, springContext, null, operation ); - } - - /** - * Start this Spring implementation instance - */ - public void start() { - // Do refresh here to ensure that Spring Beans are not touched before the SCA config process - // is complete... - springContext.refresh(); - springContext.start(); - System.out.println("SpringImplementationProvider: Spring context started"); - } // end method start() - - /** - * Stop this implementation instance - */ - public void stop() { - // TODO - complete - springContext.stop(); - //System.out.println("SpringImplementationProvider: Spring context stopped"); - } // end method stop - -} // end class SpringImplementationProvider diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProviderFactory.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProviderFactory.java deleted file mode 100644 index 75f9f0c49d..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringImplementationProviderFactory.java +++ /dev/null @@ -1,67 +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 org.apache.tuscany.implementation.spring; - -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.implementation.java.context.JavaPropertyValueObjectFactory; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * ImplementationProviderFactory for Spring implementation type - * @author MikeEdwards - * - */ -public class SpringImplementationProviderFactory implements ImplementationProviderFactory { - - private ProxyFactory proxyService; - private JavaPropertyValueObjectFactory propertyFactory; - - /** - * Simple constructor - * - */ - public SpringImplementationProviderFactory( ProxyFactory proxyService, - JavaPropertyValueObjectFactory propertyValueObjectFactory) { - super(); - this.proxyService = proxyService; - this.propertyFactory = propertyValueObjectFactory; - } - - /** - * Returns a SpringImplementationProvider for a given component and Spring implementation - * @param component the component for which implementation instances are required - * @param implementation the Spring implementation with details of the component - * implementation - * @return the SpringImplementationProvider for the specified component - */ - public ImplementationProvider createImplementationProvider(RuntimeComponent component, - SpringImplementation implementation) { - return new SpringImplementationProvider( component, implementation, - proxyService, propertyFactory ); - } - - /** - * Returns the class of the Spring implementation - */ - public Class getModelType() { - return SpringImplementation.class; - } -} // end class SpringImplementationProviderFactory diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvocationException.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvocationException.java deleted file mode 100644 index 5a686ac858..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvocationException.java +++ /dev/null @@ -1,29 +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 org.apache.tuscany.implementation.spring; - -public class SpringInvocationException extends Exception { - - private static final long serialVersionUID = -1157790036638157513L; - - public SpringInvocationException( String msg ) { - super( msg ); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvoker.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvoker.java deleted file mode 100644 index ec35b0da40..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringInvoker.java +++ /dev/null @@ -1,131 +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 org.apache.tuscany.implementation.spring; - - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import org.apache.tuscany.sca.core.invocation.ThreadMessageContext; -import org.apache.tuscany.sca.interfacedef.ConversationSequence; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.scope.InstanceWrapper; - -import org.apache.tuscany.implementation.spring.xml.SpringBeanElement; - -import org.springframework.context.support.AbstractApplicationContext; -import org.springframework.beans.BeansException; - -/** - * Initial implementation of a Spring bean invoker - * @author MikeEdwards - * - */ -public class SpringInvoker implements Invoker { - - private Method theMethod = null; - private Object bean; - private SpringBeanElement beanElement; - private boolean badInvoker = false; - - private AbstractApplicationContext springContext; - private Operation operation; - - /** - * SpringInvoker constructor - * @param component - the Spring component to invoke - * @param service - the service to invoke - * @param operation - the operation to invoke - */ - public SpringInvoker( RuntimeComponent component, - AbstractApplicationContext springContext, - RuntimeComponentService service, - Operation operation) { - - this.springContext = springContext; - this.operation = operation; - - // From the component and the service, identify the Spring Bean which is the target - SpringImplementation theImplementation = (SpringImplementation) component.getImplementation(); - beanElement = theImplementation.getBeanFromService( service.getService() ); - - if( beanElement == null ) { - badInvoker = true; - return; - } - - } // end constructor SpringInvoker - - // Lazy-load the method to avoid timing problems with the Spring Context - private void setupMethod() { - try { - bean = springContext.getBean( beanElement.getId() ); - Class beanClass = bean.getClass(); - theMethod = JavaInterfaceUtil.findMethod( beanClass, operation ); - //System.out.println("SpringInvoker - found method " + theMethod.getName() ); - } catch ( BeansException e ) { - badInvoker = true; - } catch ( NoSuchMethodException e ) { - badInvoker = true; - } - } - - private Object doInvoke(Object payload) throws SpringInvocationException { - if( theMethod == null ) setupMethod(); - - if( badInvoker ) throw new SpringInvocationException("Spring invoker incorrectly configured"); - // Invoke the method on the Spring bean using the payload, returning the results - try { - Object ret; - - if (payload != null && !payload.getClass().isArray()) { - ret = theMethod.invoke(bean, payload); - } else { - ret = theMethod.invoke(bean, (Object[])payload); - } - return ret; - } catch (InvocationTargetException e) { - throw new SpringInvocationException( e.getMessage() ); - } catch (Exception e) { - throw new SpringInvocationException( e.getMessage() ); - } - - } // end method doInvoke - - /** - * @param msg the message to invoke on the target bean - */ - public Message invoke(Message msg) { - try { - Object resp = doInvoke(msg.getBody()); - msg.setBody(resp); - } catch (SpringInvocationException e) { - msg.setFaultBody(e.getCause()); - } - //System.out.println("Spring Invoker - invoke called"); - return msg; - } // end method invoke - - -} // end class SpringInvoker diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringModuleActivator.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringModuleActivator.java deleted file mode 100644 index 547d5ae258..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringModuleActivator.java +++ /dev/null @@ -1,131 +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 org.apache.tuscany.implementation.spring; - -import java.util.Map; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.ModuleActivator; -import org.apache.tuscany.sca.core.invocation.JDKProxyService; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.TransformerExtensionPoint; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.impl.MediatorImpl; -import org.apache.tuscany.sca.implementation.java.context.JavaPropertyValueObjectFactory; -import org.apache.tuscany.sca.implementation.java.introspect.DefaultJavaClassIntrospectorExtensionPoint; -import org.apache.tuscany.sca.implementation.java.introspect.JavaClassIntrospectorExtensionPoint; -import org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationProviderFactory; - -import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint; -import org.apache.tuscany.sca.interfacedef.java.introspect.ExtensibleJavaInterfaceIntrospector; -import org.apache.tuscany.sca.policy.DefaultPolicyFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; - -/* - * ModuleActivator class for the Spring module - * - this class is invoked by the Tuscany SCA core when the Spring module is included in the - * runtime package - * - it registers a series of extension points which the core will use when dealing with - * components which use - * - */ -public class SpringModuleActivator implements ModuleActivator { - - private SpringArtifactProcessor springArtifactProcessor; - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaFactory; - private PolicyFactory policyFactory; - private JavaInterfaceIntrospector interfaceIntrospector; - private JavaClassIntrospectorExtensionPoint classVisitors; - - public SpringModuleActivator() { - assemblyFactory = new DefaultAssemblyFactory(); - javaFactory = new DefaultJavaInterfaceFactory(); - policyFactory = new DefaultPolicyFactory(); - - } // end constructor - - /* - * start() is called when the Tuscany core starts the Spring module - * - * It is in this method that the registration of the extension points takes place: - * - SpringArtifactProcessor processes the XML for - * - SpringComponentBuilder actually builds components based on - * - SpringPropertyValueObjectFactory handles properties for implementation.spring components - */ - public void start(ExtensionPointRegistry registry) { - - DataBindingExtensionPoint dataBindingRegistry = registry.getExtensionPoint(DataBindingExtensionPoint.class); - - JDKProxyService proxyFactory = (JDKProxyService) registry.getExtensionPoint(ProxyFactory.class); - - // TODO: could the runtime have a default PropertyValueObjectFactory in the registry - DataBindingExtensionPoint dataBindings = registry.getExtensionPoint(DataBindingExtensionPoint.class); - TransformerExtensionPoint transformers = registry.getExtensionPoint(TransformerExtensionPoint.class); - MediatorImpl mediator = new MediatorImpl(dataBindings, transformers); - JavaPropertyValueObjectFactory propertyFactory = new JavaPropertyValueObjectFactory(mediator); - - // Tools for Java interface handling - JavaInterfaceIntrospectorExtensionPoint interfaceVisitors = - registry.getExtensionPoint(JavaInterfaceIntrospectorExtensionPoint.class); - interfaceIntrospector = new ExtensibleJavaInterfaceIntrospector(javaFactory, interfaceVisitors); - - // Create the artifact processor for Spring artifacts and add to artifact processors - springArtifactProcessor = new SpringArtifactProcessor( assemblyFactory, javaFactory, - interfaceIntrospector, policyFactory, propertyFactory ); - - StAXArtifactProcessorExtensionPoint staxProcessors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessors.addArtifactProcessor(springArtifactProcessor); - - // Create SpringImplementationFactory and add to provider factories - SpringImplementationProviderFactory springImplementationProviderFactory = - new SpringImplementationProviderFactory( proxyFactory, propertyFactory ); - - ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class); - providerFactories.addProviderFactory(springImplementationProviderFactory); - } - - /* - * stop() is called when the Tuscany core stops the Spring module - * At present, no action is taken - */ - public void stop(ExtensionPointRegistry registry) { - StAXArtifactProcessorExtensionPoint staxProcessors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessors.removeArtifactProcessor(springArtifactProcessor); - } - - /* - * Return a map of the extension points for the Spring module. - * Not implemented at present (the core does not seem to require it) - */ - public Object[] getExtensionPoints() { - classVisitors = new DefaultJavaClassIntrospectorExtensionPoint(); - return new Object[] { classVisitors }; - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringOperationNotFoundException.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringOperationNotFoundException.java deleted file mode 100644 index 52916d36d5..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringOperationNotFoundException.java +++ /dev/null @@ -1,30 +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 org.apache.tuscany.implementation.spring; - -public class SpringOperationNotFoundException extends Exception { - - private static final long serialVersionUID = -1157790036638157554L; - - public SpringOperationNotFoundException( String msg ) { - super( msg ); - } - - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringPropertyValueObjectFactory.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringPropertyValueObjectFactory.java deleted file mode 100644 index 658a96a0d4..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/SpringPropertyValueObjectFactory.java +++ /dev/null @@ -1,46 +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 org.apache.tuscany.implementation.spring; - -import org.apache.tuscany.sca.implementation.java.context.JavaPropertyValueObjectFactory; -import org.apache.tuscany.sca.databinding.Mediator; - -/** - * - * @author MikeEdwards - * - * Factory class for PropertyValueObjects for Spring implementations - * - * 6th May 2007: Chosen a very simple design for this class - since Spring implementations are a form - * of Java POJO, the simple design chosen for this class is to re-use the PropertyValueObjectFactory - * implementation from the base implementation-java-runtime package of Tuscany SCA Java, since the - * same properties are going to be rendered in the same way to simple Tuscany POJOs and to Spring - * Bean POJOs. Mike Edwards - */ -public class SpringPropertyValueObjectFactory extends JavaPropertyValueObjectFactory { - - /** - * Constructor simply defers to the superclass, along with the complete implementation... - */ - public SpringPropertyValueObjectFactory(Mediator mediator) { - super(mediator); - } // end constructor JavaPropertyValueObjectFactory(Mediator mediator) - -} // end class SpringPropertyValueObjectFactory \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanElement.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanElement.java deleted file mode 100644 index d658859e60..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanElement.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 org.apache.tuscany.implementation.spring.xml; - -import java.util.List; -import java.util.ArrayList; - - -/** - * Represents a element in a Spring application-context - * - this has id and className attributes - * - plus zero or more property elements as children - * - * @version $Rev: 512919 $ $Date: 2007-02-28 19:32:56 +0000 (Wed, 28 Feb 2007) $ - */ -public class SpringBeanElement { - - private String id; - private String className; - private List properties = new ArrayList(); - - public SpringBeanElement( String id, String className ) { - this.id = id; - this.className = className; - } - - public String getClassName() { - return className; - } - - public String getId() { - return id; - } - - public List getProperties() { - return properties; - } - - public void addProperty( SpringPropertyElement property ) { - properties.add( property ); - } - - -} // end class SpringBeanElement \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanIntrospector.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanIntrospector.java deleted file mode 100644 index 2346a359c8..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringBeanIntrospector.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 org.apache.tuscany.implementation.spring.xml; - -import java.util.List; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Map; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector; -import org.apache.tuscany.sca.implementation.java.DefaultJavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.JavaImplementation; -import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; -import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.introspect.DefaultJavaClassIntrospectorExtensionPoint; -import org.apache.tuscany.sca.implementation.java.introspect.ExtensibleJavaClassIntrospector; -import org.apache.tuscany.sca.implementation.java.introspect.IntrospectionException; -import org.apache.tuscany.sca.implementation.java.introspect.JavaClassIntrospector; -import org.apache.tuscany.sca.implementation.java.introspect.JavaClassIntrospectorExtensionPoint; -import org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.AllowsPassByReferenceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.BaseJavaClassVisitor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ConstructorProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ContextProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ConversationProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.DestroyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.EagerInitProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.HeuristicPojoProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.InitProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.PolicyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.PropertyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ReferenceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ResourceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ScopeProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor; -import org.apache.tuscany.sca.policy.PolicyFactory; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; - -/** - * Provides introspection functions for Spring beans - * This version leans heavily on the implementation-java classes - * - * @version $Rev: 512919 $ $Date: 2007-02-28 19:32:56 +0000 (Wed, 28 Feb 2007) $ - */ -public class SpringBeanIntrospector { - - private JavaClassIntrospector classIntrospector; - private JavaClassIntrospectorExtensionPoint classVisitors = - new DefaultJavaClassIntrospectorExtensionPoint(); - private JavaImplementationFactory javaImplementationFactory; - - /** - * The constructor sets up the various visitor elements that will be used to inrospect - * the Spring bean and extract SCA information - * @param assemblyFactory - an AssemblyFactory - * @param interfaceIntrospector - an Java InterfaceIntrospector - * @param javaFactory - a Java Interface Factory - */ - public SpringBeanIntrospector( AssemblyFactory assemblyFactory, - JavaInterfaceIntrospector interfaceIntrospector, - JavaInterfaceFactory javaFactory, - PolicyFactory policyFactory ) { - - // Create the list of class visitors - BaseJavaClassVisitor[] extensions = new BaseJavaClassVisitor[] { - new ConstructorProcessor(assemblyFactory), - new AllowsPassByReferenceProcessor(assemblyFactory), - new ContextProcessor(assemblyFactory), - new ConversationProcessor(assemblyFactory), - new DestroyProcessor(assemblyFactory), - new EagerInitProcessor(assemblyFactory), - new InitProcessor(assemblyFactory), - new PropertyProcessor(assemblyFactory), - new ReferenceProcessor(assemblyFactory, javaFactory, interfaceIntrospector), - new ResourceProcessor(assemblyFactory), - new ScopeProcessor(assemblyFactory), - new ServiceProcessor(assemblyFactory, javaFactory, interfaceIntrospector), - new HeuristicPojoProcessor(assemblyFactory, javaFactory, interfaceIntrospector), - new PolicyProcessor(assemblyFactory, policyFactory) - }; - for (JavaClassVisitor extension : extensions) { - classVisitors.addClassVisitor(extension); - } - this.classIntrospector = new ExtensibleJavaClassIntrospector(classVisitors); - - javaImplementationFactory = new DefaultJavaImplementationFactory(); - - } // end constructor - - /** - * Introspect a Spring Bean and extract the features important to SCA - * @param beanClass the Spring Bean class to introspect - * @param componentType the componentType that is filled in through the introspection - * process (assumed empty on invocation, filled on return - * @return a Map of property names to JavaElementImpl - * @throws ContributionResolveException - if there was a problem resolving the - * Spring Bean or its componentType - * - */ - public Map introspectBean( Class beanClass, ComponentType componentType ) - throws ContributionResolveException { - - if( componentType == null ) throw new ContributionResolveException( - "Introspect Spring bean: supplied componentType is null" ); - - // Create a Java implementation ready for the introspection - JavaImplementation javaImplementation = javaImplementationFactory.createJavaImplementation(); - - try { - // Introspect the bean...the results of the introspection are placed into the Java implementation - classIntrospector.introspect( beanClass, javaImplementation); - - // Extract the services, references & properties found through introspection - // put the services, references and properties into the component type - componentType.getServices().addAll( javaImplementation.getServices() ); - componentType.getReferences().addAll( javaImplementation.getReferences() ); - componentType.getProperties().addAll( javaImplementation.getProperties() ); - } catch (IntrospectionException e) { - throw new ContributionResolveException(e); - } // end try - - List services = javaImplementation.getServices(); - for ( Service service : services ) { - String name = service.getName(); - //System.out.println("Spring Bean: found service with name: " + name); - } // end for - - return javaImplementation.getPropertyMembers(); - - } // end method introspectBean - - - -} // end class SpringBeanIntrospector \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringPropertyElement.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringPropertyElement.java deleted file mode 100644 index 45cb4f01b6..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringPropertyElement.java +++ /dev/null @@ -1,46 +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 org.apache.tuscany.implementation.spring.xml; - - -/** - * Represents a element in a Spring application-context - * - this has name and ref attributes - * - * @version $Rev: 512919 $ $Date: 2007-02-28 19:32:56 +0000 (Wed, 28 Feb 2007) $ - */ -public class SpringPropertyElement { - - private String name; - private String ref; - - public SpringPropertyElement( String name, String ref ) { - this.name = name; - this.ref = ref; - } - - public String getName() { - return name; - } - - public String getRef() { - return ref; - } - -} // end class SpringPropertyElement \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAPropertyElement.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAPropertyElement.java deleted file mode 100644 index 33bc7410a1..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAPropertyElement.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 org.apache.tuscany.implementation.spring.xml; - - -/** - * Represents an element in a Spring application-context - * - this has name and type attributes - * - */ -public class SpringSCAPropertyElement { - - private String name; - private String type; - - public SpringSCAPropertyElement( String name, String type ) { - this.name = name; - this.type = type; - } - - public String getName() { - return name; - } - - public String getType() { - return type; - } - -} // end class SpringPropertyElement diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAReferenceElement.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAReferenceElement.java deleted file mode 100644 index 4105034f54..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAReferenceElement.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 org.apache.tuscany.implementation.spring.xml; - - -/** - * Represents a element in a Spring application-context - * - this has id and className attributes - * - plus zero or more property elements as children - * - * @version $Rev: 512919 $ $Date: 2007-02-28 19:32:56 +0000 (Wed, 28 Feb 2007) $ - */ -public class SpringSCAReferenceElement { - - private String name; - private String type; - - public SpringSCAReferenceElement( String name, String type ) { - this.name = name; - this.type = type; - } - - public String getName() { - return name; - } - - public String getType() { - return type; - } - -} // end class SpringSCAReferenceElement \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAServiceElement.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAServiceElement.java deleted file mode 100644 index ad2060b8d7..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringSCAServiceElement.java +++ /dev/null @@ -1,53 +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 org.apache.tuscany.implementation.spring.xml; - - -/** - * Represents a element in a Spring application-context - * - this has id and className attributes - * - plus zero or more property elements as children - * - * @version $Rev: 512919 $ $Date: 2007-02-28 19:32:56 +0000 (Wed, 28 Feb 2007) $ - */ -public class SpringSCAServiceElement { - - private String name; - private String type; - private String target; - - public SpringSCAServiceElement( String name, String type, String target ) { - this.name = name; - this.type = type; - this.target = target; - } - - public String getName() { - return name; - } - - public String getType() { - return type; - } - - public String getTarget() { - return target; - } - -} // end class SpringSCAServiceElement \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringXMLComponentTypeLoader.java b/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringXMLComponentTypeLoader.java deleted file mode 100644 index 3bf7f94271..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/java/org/apache/tuscany/implementation/spring/xml/SpringXMLComponentTypeLoader.java +++ /dev/null @@ -1,575 +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 org.apache.tuscany.implementation.spring.xml; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.jar.Attributes; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.jar.Manifest; -import java.util.List; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Map; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.implementation.spring.SpringImplementation; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; - -import org.springframework.core.io.Resource; -import org.springframework.core.io.UrlResource; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; - -/** - * Introspects a Spring XML application-context configuration file to create - * component type information. - * - * - * @version $Rev: 512919 $ $Date: 2007-02-28 19:32:56 +0000 (Wed, 28 Feb 2007) $ - */ -public class SpringXMLComponentTypeLoader { - private static final String SCA_NS = "http://www.springframework.org/schema/sca"; - private static final String SPRING_NS = "http://www.springframework.org/schema/beans"; - private static final QName SERVICE_ELEMENT = new QName(SCA_NS, "service"); - private static final QName REFERENCE_ELEMENT = new QName(SCA_NS, "reference"); - private static final QName SCAPROPERTY_ELEMENT = new QName(SCA_NS, "property"); - private static final QName BEANS_ELEMENT = new QName(SPRING_NS, "beans"); - private static final QName BEAN_ELEMENT = new QName(SPRING_NS, "bean"); - private static final QName PROPERTY_ELEMENT = new QName(SPRING_NS, "property"); - private static final String APPLICATION_CONTEXT = "application-context.xml"; - - private AssemblyFactory assemblyFactory; - private JavaInterfaceIntrospector interfaceIntrospector; - private JavaInterfaceFactory javaFactory; - private PolicyFactory policyFactory; - private ClassLoader cl; - - private SpringBeanIntrospector beanIntrospector; - - public SpringXMLComponentTypeLoader( AssemblyFactory assemblyFactory, - JavaInterfaceIntrospector interfaceIntrospector, - JavaInterfaceFactory javaFactory, - PolicyFactory policyFactory) { - super(); - this.assemblyFactory = assemblyFactory; - this.interfaceIntrospector = interfaceIntrospector; - this.javaFactory = javaFactory; - this.policyFactory = policyFactory; - beanIntrospector = new SpringBeanIntrospector( assemblyFactory, - interfaceIntrospector, javaFactory, policyFactory ); - } - - protected Class getImplementationClass() { - return SpringImplementation.class; - } - - /** - * Base method which loads the component type from the application-context attached to the - * Spring implementation - * - */ - public void load( SpringImplementation implementation ) throws ContributionReadException { - //System.out.println("Spring TypeLoader - load method start"); - ComponentType componentType = implementation.getComponentType(); - /* Check that there is a component type object already set */ - if ( componentType == null) { - throw new ContributionReadException("SpringXMLLoader load: implementation has no ComponentType object"); - } - if ( componentType.isUnresolved() ) { - /* Fetch the location of the application-context file from the implementation */ - loadFromXML( implementation ); - if( !componentType.isUnresolved() ) implementation.setUnresolved( false ); - } // end if - //System.out.println("Spring TypeLoader - load method complete"); - } // end method load - - /** - * Method which fills out the component type for a Spring implementation by reading the - * Spring application-context.xml file - * @param componentType - the component type to complete - * @param location - a string containing the relative location of the application-context.xml - * @return a Spring Resource for the application-context - * file - */ - private void loadFromXML( SpringImplementation implementation ) - throws ContributionReadException { - XMLStreamReader reader; - List beans = new ArrayList(); - List services = new ArrayList(); - List references = new ArrayList(); - List scaproperties = new ArrayList(); - SpringBeanElement bean = null; - - Resource resource; - - String location = implementation.getSpringLocation(); - - try { - // FIXME - is the ContextClassLoader the right place to start the search? - cl = Thread.currentThread().getContextClassLoader(); - - resource = getApplicationContextResource( location, cl ); - implementation.setResource( resource ); - // The URI is used to uniquely identify the Implementation - implementation.setURI( resource.getURL().toString() ); - // FIXME - need a better way to handle the XMLInputFactory than allocating a new one every time - XMLInputFactory xmlFactory = XMLInputFactory.newInstance(); - reader = xmlFactory.createXMLStreamReader(resource.getInputStream()); - - // System.out.println("Spring TypeLoader - starting to read context file"); - - boolean completed = false; - while ( !completed ) { - switch (reader.next()) { - case START_ELEMENT: - QName qname = reader.getName(); - //System.out.println("Spring TypeLoader - found element with name: " + qname.toString()); - if (SERVICE_ELEMENT.equals(qname)) { - SpringSCAServiceElement service = new SpringSCAServiceElement( - reader.getAttributeValue(null, "name"), - reader.getAttributeValue(null, "type"), - reader.getAttributeValue(null, "target") ); - services.add( service ); - } else if (REFERENCE_ELEMENT.equals(qname)) { - SpringSCAReferenceElement reference = new SpringSCAReferenceElement( - reader.getAttributeValue(null, "name"), - reader.getAttributeValue(null, "type") ); - references.add( reference ); - } else if (SCAPROPERTY_ELEMENT.equals(qname)) { - SpringSCAPropertyElement scaproperty = new SpringSCAPropertyElement( - reader.getAttributeValue(null, "name"), - reader.getAttributeValue(null, "type")); - scaproperties.add( scaproperty ); - } else if (BEAN_ELEMENT.equals(qname)) { - // TODO FIX THIS !! - int count=reader.getAttributeCount(); - bean = new SpringBeanElement( - reader.getAttributeValue( null, "id"), - reader.getAttributeValue( null, "class") ); - beans.add( bean ); - } else if (PROPERTY_ELEMENT.equals(qname)) { - SpringPropertyElement property = new SpringPropertyElement( - reader.getAttributeValue(null, "name"), - reader.getAttributeValue(null, "ref")); - bean.addProperty( property ); - } // end if - break; - case END_ELEMENT: - if (BEANS_ELEMENT.equals(reader.getName())) { - //System.out.println("Spring TypeLoader - finished read of context file"); - completed = true; - break; - } // end if - } // end switch - } // end while - - } catch (IOException e) { - throw new ContributionReadException(e); - } catch (XMLStreamException e) { - throw new ContributionReadException(e); - } - - /* At this point, the complete application-context.xml file has been read and its contents */ - /* stored in the lists of beans, services, references. These are now used to generate */ - /* the implied componentType for the application context */ - generateComponentType( implementation, beans, services, references, scaproperties ); - - return; - } // end method loadFromXML - - /** - * Generates the Spring implementation component type from the configuration contained in the - * lists of beans, services, references and scaproperties derived from the application context - */ - private void generateComponentType( SpringImplementation implementation, - List beans, - List services, - List references, - List scaproperties ) - throws ContributionReadException { - /* - * 1. Each service becomes a service in the component type - * 2. Each reference becomes a reference in the component type - * 3. IF there are no explicit service elements, each bean becomes a service - * 4. Each bean property which is a reference not pointing at another bean in the - * application context becomes a reference unless it is pointing at one of the references - * 5. Each scaproperty becomes a property in the component type - * 6. Each bean property which is not a reference and which is not pointing - * at another bean in the application context becomes a property in the component type - */ - - ComponentType componentType = implementation.getComponentType(); - - try { - // Deal with the services first.... - Iterator its = services.iterator(); - while( its.hasNext() ) { - SpringSCAServiceElement serviceElement = its.next(); - Class interfaze = cl.loadClass( serviceElement.getType() ); - Service theService = createService( interfaze, serviceElement.getName() ); - componentType.getServices().add( theService ); - // Add this service to the Service / Bean map - String beanName = serviceElement.getTarget(); - for( SpringBeanElement beanElement : beans ) { - if( beanName.equals( beanElement.getId() ) ) { - implementation.setBeanForService( theService, beanElement ); - } - } // end for - } // end while - - // Next handle the references - Iterator itr = references.iterator(); - while( itr.hasNext() ) { - SpringSCAReferenceElement referenceElement = itr.next(); - Class interfaze = cl.loadClass( referenceElement.getType() ); - Reference theReference = createReference( interfaze, referenceElement.getName() ); - componentType.getReferences().add( theReference ); - } // end while - - // Finally deal with the beans - Iterator itb; - // If there are no explicit service elements, then expose all the beans - if( services.isEmpty() ) { - itb = beans.iterator(); - // Loop through all the beans found - while( itb.hasNext() ) { - SpringBeanElement beanElement = itb.next(); - // Load the Spring bean class - Class beanClass = cl.loadClass( beanElement.getClassName() ); - // Introspect the bean - ComponentType beanComponentType = assemblyFactory.createComponentType(); - beanIntrospector.introspectBean( beanClass, beanComponentType ); - // Get the service interface defined by this Spring Bean and add to - // the component type of the Spring Assembly - List beanServices = beanComponentType.getServices(); - componentType.getServices().addAll( beanServices ); - // Add these services to the Service / Bean map - for( Service beanService : beanServices ) { - implementation.setBeanForService( beanService, beanElement ); - } - } // end while - } // end if - // Now check to see if there are any more references from beans that are not satisfied - itb = beans.iterator(); - while( itb.hasNext() ) { - SpringBeanElement beanElement = itb.next(); - boolean unresolvedProperties = false; - if( !beanElement.getProperties().isEmpty() ) { - // Scan through the properties - Iterator itp = beanElement.getProperties().iterator(); - while( itp.hasNext() ) { - SpringPropertyElement propertyElement = itp.next(); - if( propertyRefUnresolved( propertyElement.getRef(), beans, - references, scaproperties ) ) { - // This means an unresolved reference from the spring bean... - unresolvedProperties = true; - } // end if - } // end while - // If there are unresolved properties, then find which ones are references - if( unresolvedProperties ) { - Class beanClass = cl.loadClass( beanElement.getClassName() ); - // Introspect the bean - ComponentType beanComponentType = assemblyFactory.createComponentType(); - Map propertyMap = - beanIntrospector.introspectBean( beanClass, beanComponentType ); - // Get the references by this Spring Bean and add the unresolved ones to - // the component type of the Spring Assembly - List beanReferences = beanComponentType.getReferences(); - List beanProperties = beanComponentType.getProperties(); - itp = beanElement.getProperties().iterator(); - while( itp.hasNext() ) { - SpringPropertyElement propertyElement = itp.next(); - if( propertyRefUnresolved( propertyElement.getRef(), beans, - references, scaproperties ) ) { - boolean resolved = false; - // This means an unresolved reference from the spring bean...add it to - // the references for the Spring application context - for ( Reference reference : beanReferences ) { - if( propertyElement.getName().equals(reference.getName()) ) { - // The name of the reference in this case is the string in - // the @ref attribute of the Spring property element, NOT the - // name of the field in the Spring bean.... - reference.setName(propertyElement.getRef()); - componentType.getReferences().add( reference ); - resolved = true; - } // end if - } // end for - if( !resolved ) { - // If the bean property is not already resolved as a reference - // then it must be an SCA property... - for ( Property scaproperty : beanProperties ) { - if( propertyElement.getName().equals(scaproperty.getName()) ) { - // The name of the reference in this case is the string in - // the @ref attribute of the Spring property element, NOT the - // name of the field in the Spring bean.... - scaproperty.setName(propertyElement.getRef()); - componentType.getProperties().add( scaproperty ); - // Fetch and store the type of the property - implementation.setPropertyClass( scaproperty.getName(), - propertyMap.get(scaproperty.getName()).getType() ); - resolved = true; - } // end if - } // end for - } // end if - } // end if - } // end while - } // end if - } // end if - - } // end while - - Iterator itsp = scaproperties.iterator(); - while( itsp.hasNext() ) { - SpringSCAPropertyElement scaproperty = itsp.next(); - // Create a component type property if the SCA property element has a name - // and a type declared... - if( scaproperty.getType() != null && scaproperty.getName() != null ) { - Property theProperty = assemblyFactory.createProperty(); - theProperty.setName( scaproperty.getName() ); - // Get the Java class and then an XSD element type for the property - Class propType = Class.forName( scaproperty.getType() ); - theProperty.setXSDType( JavaXMLMapper.getXMLType(propType) ); - componentType.getProperties().add( theProperty ); - // Remember the Java Class (ie the type) for this property - implementation.setPropertyClass( theProperty.getName(), propType ); - } // end if - } // end while - - } catch ( ClassNotFoundException e ) { - // Means that either an interface class, property class or a bean was not found - throw new ContributionReadException( e ); - } catch ( InvalidInterfaceException e ) { - throw new ContributionReadException( e ); - } catch ( ContributionResolveException e ) { - - } // end try - - // If we get here, the Spring assembly component type is resolved - componentType.setUnresolved( false ); - implementation.setComponentType( componentType ); - return; - } // end method generateComponentType - - /* - * Determines whether a reference attribute of a Spring property element is resolved either - * by a bean in the application context or by an SCA reference element or by an SCA property - * element - * @param ref - a String containing the name of the reference - may be null - * @param beans - a List of SpringBean elements - * @param references - a List of SCA reference elements - * @return true if the property is not resolved, false if it is resolved - */ - private boolean propertyRefUnresolved( String ref, - List beans, - List references, - List scaproperties ) { - boolean unresolved = true; - - if( ref != null ) { - // Scan over the beans looking for a match - Iterator itb = beans.iterator(); - while( itb.hasNext() ) { - SpringBeanElement beanElement = itb.next(); - // Does the bean name match the ref? - if( ref.equals(beanElement.getId()) ) { - unresolved = false; - break; - } // end if - } // end while - // Scan over the SCA reference elements looking for a match - if( unresolved ) { - Iterator itr = references.iterator(); - while( itr.hasNext() ) { - SpringSCAReferenceElement referenceElement = itr.next(); - if( ref.equals(referenceElement.getName()) ) { - unresolved = false; - break; - } // end if - } // end while - } // end if - // Scan over the SCA property elements looking for a match - if( unresolved ) { - Iterator itsp = scaproperties.iterator(); - while( itsp.hasNext() ) { - SpringSCAPropertyElement propertyElement = itsp.next(); - if( ref.equals(propertyElement.getName()) ) { - unresolved = false; - break; - } // end if - } // end while - } // end if - } else { - // In the case where ref = null, the property is not going to be a reference of any - // kind and can be ignored - unresolved = false; - } // end if - - return unresolved; - - } // end method propertyRefUnresolved - - /** - * Gets hold of the application-context.xml file as a Spring resource - * @param locationAttr - the location attribute from the element - * @param cl - the classloader for the Spring implementation - */ - protected Resource getApplicationContextResource( String locationAttr, ClassLoader cl ) - throws ContributionReadException { - File manifestFile = null; - File appXmlFile; - File locationFile = new File(locationAttr); - - if (!locationFile.exists()) { - // FIXME hack - URL url = cl.getResource(locationAttr); - if (url != null) { - return new UrlResource(url); - } - throw new ContributionReadException("SpringXMLLoader getApplicationContextResource: " - + "unable to find resource file " + locationFile.toString()); - } - - if (locationFile.isDirectory()) { - try { - manifestFile = new File(locationFile, "META-INF/MANIFEST.MF"); - if (manifestFile.exists()) { - Manifest mf = new Manifest(new FileInputStream(manifestFile)); - Attributes mainAttrs = mf.getMainAttributes(); - String appCtxPath = mainAttrs.getValue("Spring-Context"); - if (appCtxPath != null) { - appXmlFile = new File(locationFile, appCtxPath); - if (appXmlFile.exists()) { - return new UrlResource(appXmlFile.toURL()); - } - } - } - // no manifest-specified Spring context, use default - appXmlFile = new File(locationFile, APPLICATION_CONTEXT); - if (appXmlFile.exists()) { - return new UrlResource(appXmlFile.toURL()); - } - } catch (IOException e) { - throw new ContributionReadException("Error reading manifest " + manifestFile); - } - } else { - try { - JarFile jf = new JarFile(locationFile); - JarEntry je; - Manifest mf = jf.getManifest(); - if (mf != null) { - Attributes mainAttrs = mf.getMainAttributes(); - String appCtxPath = mainAttrs.getValue("Spring-Context"); - if (appCtxPath != null) { - je = jf.getJarEntry(appCtxPath); - if (je != null) { - // TODO return a Spring specific Resouce type for jars - return new UrlResource(new URL("jar:" + locationFile.toURL() + "!/" + appCtxPath)); - } - } - } - je = jf.getJarEntry(APPLICATION_CONTEXT); - if (je != null) { - return new UrlResource(new URL("jar:" + locationFile.toURI().toURL() + "!" + APPLICATION_CONTEXT)); - } - } catch (IOException e) { - // bad archive - // TODO: create a more appropriate exception type - throw new ContributionReadException("SpringXMLLoader getApplicationContextResource: " - + " IO exception reading context file.", e); - } - } - - throw new ContributionReadException("SpringXMLLoader getApplicationContextResource: " - + APPLICATION_CONTEXT + "not found"); - } // end method getApplicationContextResource - - /** - * Creates a Service for the component type based on its name and Java interface - */ - public Service createService( Class interfaze, String name ) - throws InvalidInterfaceException { - Service service = assemblyFactory.createService(); - JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract(); - service.setInterfaceContract(interfaceContract); - - // Set the name for the service - service.setName( name ); - - // Set the call interface and, if present, the callback interface - JavaInterface callInterface = interfaceIntrospector.introspect(interfaze); - service.getInterfaceContract().setInterface(callInterface); - if (callInterface.getCallbackClass() != null) { - JavaInterface callbackInterface = interfaceIntrospector.introspect(callInterface.getCallbackClass()); - service.getInterfaceContract().setCallbackInterface(callbackInterface); - } - return service; - } // end method createService - - /** - * Creates a Reference for the component type based on its name and Java interface - */ - private org.apache.tuscany.sca.assembly.Reference createReference( Class interfaze, String name ) - throws InvalidInterfaceException { - org.apache.tuscany.sca.assembly.Reference reference = assemblyFactory.createReference(); - JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract(); - reference.setInterfaceContract(interfaceContract); - - // Set the name of the reference to the supplied name and the multiplicity of the reference - // to 1..1 - for Spring implementations, this is the only multiplicity supported - reference.setName(name); - reference.setMultiplicity(Multiplicity.ONE_ONE); - - // Set the call interface and, if present, the callback interface - JavaInterface callInterface = interfaceIntrospector.introspect( interfaze ); - reference.getInterfaceContract().setInterface( callInterface ); - if (callInterface.getCallbackClass() != null) { - JavaInterface callbackInterface = - interfaceIntrospector.introspect(callInterface.getCallbackClass()); - reference.getInterfaceContract().setCallbackInterface(callbackInterface); - } - - return reference; - } -} // end class SpringXMLComponentTypeLoader \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index a423c62d55..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,18 +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 ExtensionActivator for Spring module -org.apache.tuscany.implementation.spring.SpringModuleActivator \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.handlers b/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.handlers deleted file mode 100644 index 4e7df50291..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.handlers +++ /dev/null @@ -1,3 +0,0 @@ -http\://www.springframework.org/schema/sca=org.springframework.sca.config.ScaNamespaceHandler - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.schemas b/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.schemas deleted file mode 100644 index 4374e4f1b0..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/META-INF/spring.schemas +++ /dev/null @@ -1 +0,0 @@ -http\://www.springframework.org/schema/sca/spring-sca.xsd=org/springframework/sca/xml/spring-sca.xsd diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd b/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd deleted file mode 100644 index 9427ea636f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/AbstractSCATestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/AbstractSCATestCase.java deleted file mode 100644 index b222ef8eef..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/AbstractSCATestCase.java +++ /dev/null @@ -1,49 +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 org.apache.tuscany.implementation.spring.itests; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public abstract class AbstractSCATestCase extends TestCase { - - protected SCADomain domain; - protected T service; - - protected void setUp() throws Exception { - domain = SCADomain.newInstance(getCompositeName()); - service = (T) domain.getService(getServiceClass(), "ClientComponent"); - } - - abstract protected Class getServiceClass(); - - protected void tearDown() throws Exception { - domain.close(); - } - - protected String getCompositeName() { - String className = this.getClass().getName(); - String compositeName = className.substring(0, className.length() - 8).replace('.', '/') + ".composite"; - System.out.println( "Using composite: " + compositeName ); - return compositeName; - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/AbstractHelloWorldTestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/AbstractHelloWorldTestCase.java deleted file mode 100644 index b2f821668f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/AbstractHelloWorldTestCase.java +++ /dev/null @@ -1,42 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -import org.apache.tuscany.implementation.spring.itests.AbstractSCATestCase; - -/** - * Basic "hello world" style test case for testing Spring component implementation - * @author MikeEdwards - * - */ -public abstract class AbstractHelloWorldTestCase extends AbstractSCATestCase { - - /** - * Calls the hello world service and checks that it gives the right response... - */ - public void testCalculator() throws Exception { - assertEquals("Hello petra", service.sayHello("petra")); - } - - @Override - protected Class getServiceClass() { - return HelloWorld.class; - } -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorld.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorld.java deleted file mode 100644 index 7a89dc2a11..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorld.java +++ /dev/null @@ -1,35 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -import org.osoa.sca.annotations.Remotable; - -/** - * Interface for the "hello world" service - predictably simple with a single operation - * "sayHello" - * @author MikeEdwards - * - */ -@Remotable -public interface HelloWorld { - - public String sayHello(String s); - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldImpl.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldImpl.java deleted file mode 100644 index 23a7749d1c..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldImpl.java +++ /dev/null @@ -1,38 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -/** - * A simple proxy Java class which implements the HelloWorld interface but which uses - * a reference "delegate" to actually provide the HelloWorld service - * @author MikeEdwards - * - */ -public class HelloWorldImpl implements HelloWorld { - - static String hello = "Hello "; - - public String sayHello(String s) { - // Simply call the reference to satisfy the service request... - System.out.println("HelloWorldImpl - sayHello called"); - return (hello + s); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldProxy.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldProxy.java deleted file mode 100644 index 305c245ea3..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/HelloWorldProxy.java +++ /dev/null @@ -1,42 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -import org.osoa.sca.annotations.Reference; - -/** - * A simple proxy Java class which implements the HelloWorld interface but which uses - * a reference "delegate" to actually provide the HelloWorld service - * @author MikeEdwards - * - */ -public class HelloWorldProxy implements HelloWorld { - - // Here is the reference "delegate" - it implements the HelloWorld interface... - @Reference - public HelloWorld delegate; - - public String sayHello(String s) { - // Simply call the reference to satisfy the service request... - System.out.println("HelloWorldProxy - calling sayHello"); - return delegate.sayHello(s); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorldTestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorldTestCase.java deleted file mode 100644 index 14d258bb1e..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorldTestCase.java +++ /dev/null @@ -1,34 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -/** - * A basic test case of: - * 1) A composite containing a component with a Spring implementation - * 2) The composite has a component with a Java POJO implementation which uses the - * Spring implementation to satisfy a reference - * 3) The element references an application context that - * uses an explicit sca: element to identify the service offered by the Spring application - * - * @author MikeEdwards - */ -public class SpringExplicitHelloWorldTestCase extends AbstractHelloWorldTestCase { - // super class does it all getting composite based on this class name -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReferenceTestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReferenceTestCase.java deleted file mode 100644 index bfdc936650..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReferenceTestCase.java +++ /dev/null @@ -1,39 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -/** - * A test case designed to test the implementation of References from a Spring application - * context, where the references are explicit, through the presence of an sca:reference - * element within the Spring application context - * - * The artifacts involved in this test are: - * - * 1) A composite containing a component with a Spring implementation which makes - * a reference to a second component - * 2) The composite has a component with a Java POJO implementation which satisfies the reference - * 3) The element references an application context that - * uses an explicit sca:reference element to identify the reference made by the Spring application - * - * @author MikeEdwards - */ -public class SpringExplicitReferenceTestCase extends AbstractHelloWorldTestCase { - // super class does it all getting composite based on this class name -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorldTestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorldTestCase.java deleted file mode 100644 index 9d0c52322b..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorldTestCase.java +++ /dev/null @@ -1,32 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -/** - * A basic test case of: - * 1) A composite containing a component with a Spring implementation - * 2) The composite has a component with a Java POJO implementation which uses the - * Spring implementation to satisfy a reference - * - * @author MikeEdwards - */ -public class SpringHelloWorldTestCase extends AbstractHelloWorldTestCase { - // super class does it all getting composite based on this class name -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReferenceTestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReferenceTestCase.java deleted file mode 100644 index 5116b7198f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReferenceTestCase.java +++ /dev/null @@ -1,42 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -/** - * A test case designed to test the implementation of References from a Spring application - * context, where the references are implicit, through the presence of Bean properties with a - * ref attribute which is not satisfied by a Bean within the application context. - * - * The artifacts involved in this test are: - * - * 1) A composite containing a component with a Spring implementation which makes - * a reference to a second component - * 2) The composite has a component with a Java POJO implementation which satisfies the reference - * 3) The element references an application context that - * does not use an explicit sca:reference element to identify the reference made by the - * Spring application, but relies on an unsatisfied Bean property with a ref attribute. - * - * @author MikeEdwards - */ -public class SpringImplicitReferenceTestCase extends AbstractHelloWorldTestCase { - // super class does it all getting composite based on this class name -} - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAPropertyTestCase.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAPropertyTestCase.java deleted file mode 100644 index c561135a59..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAPropertyTestCase.java +++ /dev/null @@ -1,39 +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 org.apache.tuscany.implementation.spring.itests.helloworld; - -/** - * A test case designed to test the implementation of Properties from a Spring application - * context, where the properties are explicit, through the presence of an sca:property - * element within the Spring application context - * - * The artifacts involved in this test are: - * - * 1) A composite containing a component with a Spring implementation - * 2) The element references an application context that - * uses an explicit sca:property element which is used to compute the response to an invocation - * of the service of the implementation - * - * @author MikeEdwards - */ -public class SpringSCAPropertyTestCase extends AbstractHelloWorldTestCase { - // super class does it all getting composite based on this class name -} - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBean.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBean.java deleted file mode 100644 index f619658106..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBean.java +++ /dev/null @@ -1,31 +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 org.apache.tuscany.implementation.spring.itests.mock; - -/** - * @version $$Rev: 430937 $$ $$Date: 2006-08-12 02:17:56 +0100 (Sat, 12 Aug 2006) $$ - */ -public interface TestBean { - String echo(String msg); - - TestBean getBean(); - - void setBean(TestBean bean); - -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBeanImpl.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBeanImpl.java deleted file mode 100644 index 289259d78b..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestBeanImpl.java +++ /dev/null @@ -1,42 +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 org.apache.tuscany.implementation.spring.itests.mock; - -/** - * @version $$Rev: 441406 $$ $$Date: 2006-09-08 08:20:10 +0100 (Fri, 08 Sep 2006) $$ - */ -public class TestBeanImpl implements TestBean { - - private TestBean bean; - - public TestBeanImpl() { - } - - public String echo(String msg) { - return msg; - } - - public TestBean getBean() { - return bean; - } - - public void setBean(TestBean bean) { - this.bean = bean; - } -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestHelloWorldBean.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestHelloWorldBean.java deleted file mode 100644 index e89cb80ed2..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestHelloWorldBean.java +++ /dev/null @@ -1,40 +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 org.apache.tuscany.implementation.spring.itests.mock; - -/** - * A simple test Spring bean which provides the HelloWorld service - * @author MikeEdwards - * - */ - -import org.apache.tuscany.implementation.spring.itests.helloworld.HelloWorld; - -public class TestHelloWorldBean implements HelloWorld { - - static String hello = "Hello "; - - // Classic "Hello xxx" response to any input message - public String sayHello( String message ) { - System.out.println("TestHelloWorldBean - sayHello called"); - return( hello + message ); - } - -} // end class TestHelloWorldBean diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReference.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReference.java deleted file mode 100644 index d5eb7130f7..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReference.java +++ /dev/null @@ -1,27 +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 org.apache.tuscany.implementation.spring.itests.mock; - -/** - * @version $$Rev: 536115 $$ $$Date: 2007-05-08 09:04:20 +0100 (Tue, 08 May 2007) $$ - */ -public interface TestReference { - String echo(String msg); -} diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReferenceBean.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReferenceBean.java deleted file mode 100644 index 013187254f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestReferenceBean.java +++ /dev/null @@ -1,57 +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 org.apache.tuscany.implementation.spring.itests.mock; - -/** - * A test Spring bean which provides the HelloWorld service by calling a reference - * to provide the content of the response - * @author MikeEdwards - * - */ - -import org.apache.tuscany.implementation.spring.itests.helloworld.HelloWorld; - -public class TestReferenceBean implements HelloWorld { - - // The reference - private HelloWorld bean; - - // Classic "Hello xxx" response to any input message - public String sayHello( String message ) { - System.out.println("TestReferenceBean - sayHello called"); - return( bean.sayHello( message ) ); - } - - /** - * Setter for the bean reference - * @param theBean - */ - public void setBean( HelloWorld theBean ) { - this.bean = theBean; - } - - /** - * Getter for the reference - * @return - */ - public HelloWorld getBean( ) { - return this.bean; - } - -} // end class TestReferenceBean diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestSCAPropertyBean.java b/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestSCAPropertyBean.java deleted file mode 100644 index be7055f1d5..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/java/org/apache/tuscany/implementation/spring/itests/mock/TestSCAPropertyBean.java +++ /dev/null @@ -1,55 +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 org.apache.tuscany.implementation.spring.itests.mock; - -/** - * A test Spring bean which provides the HelloWorld service. - * This bean has a single String property called "hello" which must be set through - * external configuration to give the correct response message, otherwise an (incorrect) - * default message is generated - * @author MikeEdwards - * - */ - -import org.apache.tuscany.implementation.spring.itests.helloworld.HelloWorld; - -public class TestSCAPropertyBean implements HelloWorld { - - private String hello = "Go away"; - - /** - * Provides the operation of the "HelloWorld" interface - a simple string response - * to a string input message, where the response is a greeting followed by the original - * input message. - */ - public String sayHello( String message ) { - System.out.println("TestHelloWorldBean - sayHello called"); - return( hello + " " + message ); - } - - /** - * Public setter for the (unannotated) field "hello" which constitutes an SCA - * property - * @param message - the message to use for the response to "sayHello" - */ - public void setHello( String message ) { - hello = message; - } - -} // end class TestSCAPropertyBean diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitHelloWorld-context.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitHelloWorld-context.xml deleted file mode 100644 index 742f342b26..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitHelloWorld-context.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitReference-context.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitReference-context.xml deleted file mode 100644 index 74e39e5350..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitReference-context.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-context.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-context.xml deleted file mode 100644 index 1f0aa74b5d..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-context.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImplicitReference-context.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImplicitReference-context.xml deleted file mode 100644 index 37b9bb6583..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImplicitReference-context.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringSCAProperty-context.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringSCAProperty-context.xml deleted file mode 100644 index 8a3492f058..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/SpringSCAProperty-context.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testReferenceContext.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testReferenceContext.xml deleted file mode 100644 index aef5a5524b..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testReferenceContext.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testServiceContext.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testServiceContext.xml deleted file mode 100644 index fb9fb03692..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/META-INF/sca/testServiceContext.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorld.composite b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorld.composite deleted file mode 100644 index 9ce1ec9c1a..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitHelloWorld.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReference.composite b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReference.composite deleted file mode 100644 index 2c87fcf081..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringExplicitReference.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorld.composite b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorld.composite deleted file mode 100644 index 54678db4c8..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringHelloWorld.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReference.composite b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReference.composite deleted file mode 100644 index f321dcacd0..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringImplicitReference.composite +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAProperty.composite b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAProperty.composite deleted file mode 100644 index 12b87f3bd3..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/org/apache/tuscany/implementation/spring/itests/helloworld/SpringSCAProperty.composite +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - Hello - - - diff --git a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/test.xml b/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/test.xml deleted file mode 100644 index 768251dcbe..0000000000 --- a/branches/sca-java-0.91/modules/implementation-spring/src/test/resources/test.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -- cgit v1.2.3