You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/08/15 09:45:43 UTC
svn commit: r431552 - in
/incubator/tuscany/java/sca/containers/container.spring/src:
main/java/org/apache/tuscany/container/spring/impl/
main/java/org/apache/tuscany/container/spring/model/
main/resources/META-INF/sca/ test/java/org/apache/tuscany/con...
Author: jmarino
Date: Tue Aug 15 00:45:42 2006
New Revision: 431552
URL: http://svn.apache.org/viewvc?rev=431552&view=rev
Log:
add start of spring bootstrap
Added:
incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl
- copied, changed from r431521, incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/default.scdl
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/integration/
incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/
incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/sca/
incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/sca/default.scdl
incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml (with props)
Removed:
incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/default.scdl
Modified:
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java Tue Aug 15 00:45:42 2006
@@ -29,6 +29,7 @@
import org.apache.tuscany.spi.model.InteractionScope;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.model.ServiceDefinition;
+import org.apache.tuscany.spi.model.BoundServiceDefinition;
import org.apache.tuscany.container.spring.config.SCAService;
import org.apache.tuscany.container.spring.config.ScaServiceBeanDefinitionParser;
@@ -121,7 +122,7 @@
}
private ServiceDefinition createService(Class<?> interfaze) {
- ServiceDefinition service = new ServiceDefinition();
+ ServiceDefinition service = new BoundServiceDefinition();
service.setName(getBaseName(interfaze));
service.setRemotable(interfaze.getAnnotation(Remotable.class) != null);
ServiceContract contract = new SpringServiceContract();
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java Tue Aug 15 00:45:42 2006
@@ -36,9 +36,8 @@
import org.apache.tuscany.spi.wire.InboundInvocationChain;
import org.apache.tuscany.spi.wire.InboundWire;
-import org.springframework.context.ConfigurableApplicationContext;
import org.apache.tuscany.container.spring.model.SpringImplementation;
-import org.apache.tuscany.container.spring.impl.SpringCompositeComponent;
+import org.springframework.context.ConfigurableApplicationContext;
/**
* Creates a {@link org.apache.tuscany.container.spring.impl.SpringCompositeComponent} from an assembly model
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java Tue Aug 15 00:45:42 2006
@@ -44,9 +44,12 @@
import java.util.jar.JarFile;
import java.util.jar.Manifest;
import javax.xml.namespace.QName;
+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 static org.osoa.sca.Version.XML_NAMESPACE_1_0;
import org.osoa.sca.annotations.Constructor;
import org.apache.tuscany.spi.annotation.Autowire;
@@ -55,22 +58,28 @@
import org.apache.tuscany.spi.extension.LoaderExtension;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
import org.apache.tuscany.spi.loader.MissingResourceException;
+import org.apache.tuscany.spi.model.BoundServiceDefinition;
import org.apache.tuscany.spi.services.info.RuntimeInfo;
+import org.apache.tuscany.container.spring.model.SpringImplementation;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
-import org.apache.tuscany.container.spring.model.SpringImplementation;
/**
* Loader for handling Spring <spring:implementation.spring> elements.
*/
public class SpringImplementationLoader extends LoaderExtension<SpringImplementation> {
- private static final QName IMPLEMENTATION_SPRING = new QName("http://tuscany.apache.org/xmlns/spring/1.0",
+ private static final QName IMPLEMENTATION_SPRING = new QName("http://www.osoa.org/xmlns/sca/1.0",
"implementation.spring");
+
private static final String APPLICATION_CONTEXT = "META-INF/application-context.xml";
+ private static final QName SERVICE_ELEMENT = new QName(XML_NAMESPACE_1_0, "service");
+ private static final QName REFERENCE_ELEMENT = new QName(XML_NAMESPACE_1_0, "reference");
+ private static final QName COMPONENT = new QName(XML_NAMESPACE_1_0, "component");
+
+
private final RuntimeInfo runtimeInfo;
@Constructor
@@ -84,8 +93,8 @@
}
public SpringImplementation load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext)
+ XMLStreamReader reader,
+ DeploymentContext deploymentContext)
throws XMLStreamException, LoaderException {
String locationAttr = reader.getAttributeValue(null, "location");
@@ -93,12 +102,27 @@
throw new MissingResourceException("No location supplied");
}
- LoaderUtil.skipToEndElement(reader);
-
SpringImplementation implementation = new SpringImplementation();
implementation.setApplicationResource(getApplicationContextResource(locationAttr));
registry.loadComponentType(parent, implementation, deploymentContext);
- return implementation;
+ while (true) {
+ switch (reader.next()) {
+ case START_ELEMENT:
+ QName qname = reader.getName();
+ if (SERVICE_ELEMENT.equals(qname)) {
+ BoundServiceDefinition service =
+ (BoundServiceDefinition) registry.load(parent, reader, deploymentContext);
+ implementation.getComponentType().getServices().put(service.getName(), service);
+ } else if (REFERENCE_ELEMENT.equals(qname)) {
+ throw new UnsupportedOperationException();
+ }
+ break;
+ case END_ELEMENT:
+ if (COMPONENT.equals(reader.getName())) {
+ return implementation;
+ }
+ }
+ }
}
protected Resource getApplicationContextResource(String locationAttr) throws LoaderException {
@@ -160,7 +184,7 @@
} catch (IOException e) {
// bad archive
// TODO: create a more appropriate exception type
- throw new MissingResourceException(locationAttr);
+ throw new MissingResourceException(locationAttr, e);
}
}
throw new MissingResourceException(APPLICATION_CONTEXT);
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java Tue Aug 15 00:45:42 2006
@@ -25,7 +25,6 @@
import org.apache.tuscany.spi.model.Property;
import org.springframework.core.io.Resource;
-import org.apache.tuscany.container.spring.model.SpringComponentType;
/**
* @version $$Rev$$ $$Date$$
@@ -43,9 +42,9 @@
}
public SpringImplementation(SpringComponentType<
- BoundServiceDefinition<? extends Binding>,
- BoundReferenceDefinition<? extends Binding>,
- ? extends Property> componentType) {
+ BoundServiceDefinition<? extends Binding>,
+ BoundReferenceDefinition<? extends Binding>,
+ ? extends Property> componentType) {
super(componentType);
}
Copied: incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl (from r431521, incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/default.scdl)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl?p2=incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl&p1=incubator/tuscany/java/sca/containers/container.spring/src/main/resources/META-INF/sca/default.scdl&r1=431521&r2=431552&rev=431552&view=diff
==============================================================================
(empty)
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java Tue Aug 15 00:45:42 2006
@@ -23,7 +23,6 @@
import junit.framework.TestCase;
import org.apache.tuscany.container.spring.mock.TestBean;
import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import org.apache.tuscany.container.spring.impl.SpringCompositeComponent;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java Tue Aug 15 00:45:42 2006
@@ -28,7 +28,6 @@
import junit.framework.TestCase;
import org.apache.tuscany.container.spring.mock.TestBean;
import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import org.apache.tuscany.container.spring.impl.SpringCompositeComponent;
import org.apache.tuscany.test.ArtifactFactory;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.RootBeanDefinition;
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java Tue Aug 15 00:45:42 2006
@@ -39,8 +39,6 @@
import org.apache.tuscany.container.spring.mock.VMBinding;
import org.apache.tuscany.container.spring.model.SpringComponentType;
import org.apache.tuscany.container.spring.model.SpringImplementation;
-import org.apache.tuscany.container.spring.impl.SpringCompositeComponent;
-import org.apache.tuscany.container.spring.impl.SpringCompositeBuilder;
import org.apache.tuscany.test.ArtifactFactory;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.createNiceMock;
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java?rev=431552&r1=431551&r2=431552&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java Tue Aug 15 00:45:42 2006
@@ -28,7 +28,6 @@
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import org.springframework.context.ApplicationContext;
-import org.apache.tuscany.container.spring.impl.SpringInvoker;
/**
* Verifies a simple invocation on a Spring bean
Added: incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/sca/default.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/sca/default.scdl?rev=431552&view=auto
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/sca/default.scdl (added)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/resources/META-INF/sca/default.scdl Tue Aug 15 00:45:42 2006
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ 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.
+ -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ name="groovy.test">
+
+ <component name="Spring">
+ <implementation.spring location="."/>
+ <service name = "fooService">
+ <binding.spring/>
+ </service>
+ </component>
+
+</composite>
Added: incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml?rev=431552&view=auto
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml (added)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml Tue Aug 15 00:45:42 2006
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:sca="http://www.springframework.org/schema/sca"
+ xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/SpringSCA.xsd">
+
+<bean id="testBean" class="org.apache.tuscany.container.spring.mock.TestBeanImpl">
+</bean>
+
+</beans>
Propchange: incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/containers/container.spring/src/test/resources/test.xml
------------------------------------------------------------------------------
svn:keywords = Rev,Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org