diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-08-20 23:42:07 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-08-20 23:42:07 +0000 |
commit | 077e1654ce286d8631d2611ff1d87d589bcc5dd2 (patch) | |
tree | 27d212014f6bca0e8bb0217b3256147ec8d14e9f /sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java | |
parent | 38cfa76da36220f74edab061ed28219d30b55204 (diff) |
Refactor implementation-spring into 4 modules
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@987670 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/stub/SpringXMLBeanDefinitionLoaderStub.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLLoaderStub.java) | 59 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/ComponentTie.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ComponentTie.java) | 2 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/PropertyValueTie.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/PropertyValueTie.java) | 2 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringApplicationContextAccessor.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextAccessor.java) | 2 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringContextStub.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java) | 19 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationProvider.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java) | 2 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationProviderFactory.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java) | 2 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationTie.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationTie.java) | 2 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvocationException.java | 40 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvoker.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringInvoker.java) | 2 |
10 files changed, 91 insertions, 41 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLLoaderStub.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/stub/SpringXMLBeanDefinitionLoaderStub.java index 01208aba19..f34dfb8ceb 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLLoaderStub.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/stub/SpringXMLBeanDefinitionLoaderStub.java @@ -17,17 +17,20 @@ * under the License. */ -package org.apache.tuscany.sca.implementation.spring.introspect; +package org.apache.tuscany.sca.implementation.spring.processor.stub; import java.lang.reflect.Method; import java.net.URL; import java.util.Arrays; import java.util.List; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.implementation.spring.SpringBeanElement; import org.apache.tuscany.sca.implementation.spring.SpringSCAPropertyElement; import org.apache.tuscany.sca.implementation.spring.SpringSCAReferenceElement; import org.apache.tuscany.sca.implementation.spring.SpringSCAServiceElement; +import org.apache.tuscany.sca.implementation.spring.xml.SpringXMLBeanDefinitionLoader; +import org.oasisopen.sca.ServiceRuntimeException; /** * This is the Tuscany side stub for the corresponding runtime tie class. @@ -35,13 +38,13 @@ import org.apache.tuscany.sca.implementation.spring.SpringSCAServiceElement; * needing to know about any Spring classes. See the SpringContextTie class * in the implementation-spring-runtime module for what the tie does. */ -public class SpringXMLLoaderStub { - private final static String TIE = "org.apache.tuscany.sca.implementation.spring.processor.SpringXMLLoaderTie"; +public class SpringXMLBeanDefinitionLoaderStub implements SpringXMLBeanDefinitionLoader { + private final static String TIE = "org.apache.tuscany.sca.implementation.spring.processor.tie.SpringXMLLoaderTie"; private static Method createApplicationContext; - public SpringXMLLoaderStub() throws Exception { - synchronized (SpringXMLLoaderStub.class) { + public SpringXMLBeanDefinitionLoaderStub() throws Exception { + synchronized (SpringXMLBeanDefinitionLoaderStub.class) { if (createApplicationContext == null) { Class<?> tieClass = Class.forName(TIE, false, Thread.currentThread().getContextClassLoader()); createApplicationContext = @@ -55,27 +58,35 @@ public class SpringXMLLoaderStub { return createApplicationContext.invoke(null, scaParentContext, classLoader, resources); } - public void introspect(List<URL> resources, - List<SpringSCAServiceElement> serviceElements, - List<SpringSCAReferenceElement> referenceElements, - List<SpringSCAPropertyElement> propertyElements, - List<SpringBeanElement> beanElements) throws Exception { - Object appContext = createApplicationContext(null, Thread.currentThread().getContextClassLoader(), resources); - Class<?> cls = appContext.getClass(); - Method method = cls.getMethod("getElements", Class.class); - SpringSCAServiceElement[] serviceArray = - (SpringSCAServiceElement[])method.invoke(appContext, SpringSCAServiceElement.class); - serviceElements.addAll(Arrays.asList(serviceArray)); + public Object load(List<URL> resources, + List<SpringSCAServiceElement> serviceElements, + List<SpringSCAReferenceElement> referenceElements, + List<SpringSCAPropertyElement> propertyElements, + List<SpringBeanElement> beanElements, + ProcessorContext context) { + try { + Object appContext = + createApplicationContext(null, Thread.currentThread().getContextClassLoader(), resources); + Class<?> cls = appContext.getClass(); + Method method = cls.getMethod("getElements", Class.class); + SpringSCAServiceElement[] serviceArray = + (SpringSCAServiceElement[])method.invoke(appContext, SpringSCAServiceElement.class); + serviceElements.addAll(Arrays.asList(serviceArray)); - SpringSCAReferenceElement[] referenceArray = - (SpringSCAReferenceElement[])method.invoke(appContext, SpringSCAReferenceElement.class); - referenceElements.addAll(Arrays.asList(referenceArray)); + SpringSCAReferenceElement[] referenceArray = + (SpringSCAReferenceElement[])method.invoke(appContext, SpringSCAReferenceElement.class); + referenceElements.addAll(Arrays.asList(referenceArray)); - SpringSCAPropertyElement[] propertyArray = - (SpringSCAPropertyElement[])method.invoke(appContext, SpringSCAPropertyElement.class); - propertyElements.addAll(Arrays.asList(propertyArray)); + SpringSCAPropertyElement[] propertyArray = + (SpringSCAPropertyElement[])method.invoke(appContext, SpringSCAPropertyElement.class); + propertyElements.addAll(Arrays.asList(propertyArray)); - SpringBeanElement[] beanArray = (SpringBeanElement[])method.invoke(appContext, SpringBeanElement.class); - beanElements.addAll(Arrays.asList(beanArray)); + SpringBeanElement[] beanArray = (SpringBeanElement[])method.invoke(appContext, SpringBeanElement.class); + beanElements.addAll(Arrays.asList(beanArray)); + + return appContext; + } catch (Throwable e) { + throw new ServiceRuntimeException(e); + } } } diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ComponentTie.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/ComponentTie.java index 63e88f15a5..882aa587e5 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ComponentTie.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/ComponentTie.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; /** * This is the Tuscany side tie for the corresponding Spring runtime side stub class. diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/PropertyValueTie.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/PropertyValueTie.java index 2a1df9bcb5..5e0c5263c2 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/PropertyValueTie.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/PropertyValueTie.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; import java.util.List; diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextAccessor.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringApplicationContextAccessor.java index 3cdeb332b2..84a65bcf17 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextAccessor.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringApplicationContextAccessor.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; /** * A utility to receive the parent Spring application context diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringContextStub.java index 2b5b5821c7..062da4b2d2 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringContextStub.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; @@ -37,6 +37,10 @@ import org.apache.tuscany.sca.runtime.RuntimeComponent; */ public class SpringContextStub { + private static final String SPRING_IMPLEMENTATION_STUB = + "org.apache.tuscany.sca.implementation.spring.context.tie.SpringImplementationStub"; + private static final String SPRING_CONTEXT_TIE = + "org.apache.tuscany.sca.implementation.spring.context.tie.SpringContextTie"; private Object tie; private Method startMethod; private Method closeMethod; @@ -62,18 +66,13 @@ public class SpringContextStub { try { - Class<?> stubClass = - Class.forName("org.apache.tuscany.sca.implementation.spring.runtime.context.SpringImplementationStub", - true, - cl); + Class<?> stubClass = Class.forName(SPRING_IMPLEMENTATION_STUB, true, cl); Constructor<?> stubConstructor = stubClass.getConstructor(new Class<?>[] {Object.class}); Object stub = - stubConstructor.newInstance(new SpringImplementationTie(implementation, parentApplicationContext, component, - propertyValueObjectFactory)); + stubConstructor.newInstance(new SpringImplementationTie(implementation, parentApplicationContext, + component, propertyValueObjectFactory)); - Class<?> tieClass = - Class - .forName("org.apache.tuscany.sca.implementation.spring.runtime.context.SpringContextTie", true, cl); + Class<?> tieClass = Class.forName(SPRING_CONTEXT_TIE, true, cl); Constructor<?> tieConstructor = tieClass.getConstructor(new Class<?>[] {stubClass, List.class}); this.tie = tieConstructor.newInstance(stub, implementation.getResource()); diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationProvider.java index 1d71514721..e0207b9f12 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationProvider.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; import org.apache.tuscany.sca.context.PropertyValueFactory; import org.apache.tuscany.sca.core.invocation.ProxyFactory; diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationProviderFactory.java index 24533368ff..d402ff2eb6 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationProviderFactory.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; import org.apache.tuscany.sca.context.PropertyValueFactory; import org.apache.tuscany.sca.core.ExtensionPointRegistry; diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationTie.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationTie.java index d8b7d0c285..fc75faed21 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationTie.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringImplementationTie.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; import java.util.List; diff --git a/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvocationException.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvocationException.java new file mode 100644 index 0000000000..909a640563 --- /dev/null +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvocationException.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.implementation.spring.provider.stub; + +/** + * @version $Rev$ $Date$ + */ +public class SpringInvocationException extends Exception { + + private static final long serialVersionUID = -1157790036638157513L; + + public SpringInvocationException(String msg) { + super(msg); + } + + public SpringInvocationException(Throwable e) { + super(e); + } + + public SpringInvocationException(String msg, Throwable e) { + super(msg, e); + } + +} diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringInvoker.java b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvoker.java index fc0642cdb1..7d73eb5e6a 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringInvoker.java +++ b/sca-java-2.x/trunk/modules/implementation-spring-stub/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/stub/SpringInvoker.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.implementation.spring.invocation; +package org.apache.tuscany.sca.implementation.spring.provider.stub; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; |