summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sandbox/slaws/spring/pom.xml125
-rw-r--r--sandbox/slaws/spring/src/main/java/app/MyBean.java55
-rw-r--r--sandbox/slaws/spring/src/main/java/app/Test.java66
-rw-r--r--sandbox/slaws/spring/src/main/resources/context1.xml35
-rw-r--r--sandbox/slaws/spring/src/main/resources/context2.xml39
-rw-r--r--sandbox/slaws/spring/src/main/resources/context3.xml39
6 files changed, 359 insertions, 0 deletions
diff --git a/sandbox/slaws/spring/pom.xml b/sandbox/slaws/spring/pom.xml
new file mode 100644
index 0000000000..92ee342ed6
--- /dev/null
+++ b/sandbox/slaws/spring/pom.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </parent>
+ <artifactId>spring</artifactId>
+ <name>Apache Tuscany SCA Spring Sample</name>
+
+ <repositories>
+ <repository>
+ <id>apache.incubator</id>
+ <url>http://people.apache.org/repo/m2-incubating-repository</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-domain-manager</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-node-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-sca</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-sca-axis2</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-http-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-resource-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <version>3.2.1</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+</project>
diff --git a/sandbox/slaws/spring/src/main/java/app/MyBean.java b/sandbox/slaws/spring/src/main/java/app/MyBean.java
new file mode 100644
index 0000000000..2fa7d72e65
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/java/app/MyBean.java
@@ -0,0 +1,55 @@
+/*
+ * 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 app;
+
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.access.BeanFactoryLocator;
+import org.springframework.beans.factory.access.BeanFactoryReference;
+import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;
+
+public class MyBean {
+
+ private String field1;
+ private MyBean anotherBean;
+ private BeanFactory factory;
+
+ public String getField1() {
+ return field1;
+ }
+
+ public void setField1(String field1) {
+ this.field1 = field1;
+ }
+
+ public MyBean getAnotherBean() {
+ return anotherBean;
+ }
+
+ public void setAnotherBean(MyBean anotherBean) {
+ this.anotherBean = anotherBean;
+ }
+
+ public BeanFactory getFactory() {
+ return factory;
+ }
+
+ public void setFactory(BeanFactory factory) {
+ this.factory = factory;
+ }
+}
diff --git a/sandbox/slaws/spring/src/main/java/app/Test.java b/sandbox/slaws/spring/src/main/java/app/Test.java
new file mode 100644
index 0000000000..81a71faaf8
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/java/app/Test.java
@@ -0,0 +1,66 @@
+/*
+ * 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 app;
+
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.access.BeanFactoryLocator;
+import org.springframework.beans.factory.access.BeanFactoryReference;
+import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ */
+public class Test {
+
+ public static void main(String[] args) {
+ // single app context
+/*
+ ApplicationContext context1 = new ClassPathXmlApplicationContext("context1.xml");
+ MyBean myBean1 = (MyBean) context1.getBean("mybean1");
+ System.out.println("mybean1 " + myBean1.getField1());
+ System.out.println("mybean2 " + myBean1.getAnotherBean().getField1());
+*/
+
+ // multi app context - recursive composition
+/*
+ ApplicationContext context2 = new ClassPathXmlApplicationContext("context2.xml");
+ MyBean myBean3 = (MyBean) context2.getBean("mybean4");
+ System.out.println("mybean3 " + myBean3.getField1());
+ System.out.println("mybean1 " + myBean3.getAnotherBean().getField1());
+*/
+
+ // multi app context - declarative app context read from bean
+ ApplicationContext context2 = new ClassPathXmlApplicationContext("context3.xml");
+ MyBean myBean3 = (MyBean) context2.getBean("mybean3");
+ MyBean myBean1 = (MyBean) myBean3.getFactory().getBean("mybean1");
+ System.out.println("mybean1 " + myBean1.getField1());
+ System.out.println("mybean2 " + myBean1.getAnotherBean().getField1());
+
+ // multi app context - declarative app context read from file
+/*
+ BeanFactoryLocator bfLocator = SingletonBeanFactoryLocator.getInstance();
+ BeanFactoryReference bfReference = bfLocator.useBeanFactory("context3.xml");
+ BeanFactory factory = bfReference.getFactory();
+ MyBean myBean1 = (MyBean) factory.getBean("mybean1");
+ System.out.println("mybean1 " + myBean1.getField1());
+ System.out.println("mybean2 " + myBean1.getAnotherBean().getField1());
+*/
+ }
+}
diff --git a/sandbox/slaws/spring/src/main/resources/context1.xml b/sandbox/slaws/spring/src/main/resources/context1.xml
new file mode 100644
index 0000000000..6cd9717649
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/resources/context1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ 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.osoa.org/xmlns/sca/1.0/spring-sca.xsd">
+
+ <bean id="mybean1" class="app.MyBean">
+ <property name="field1" value="27"/>
+ <property name="anotherBean" ref="mybean2"/>
+ </bean>
+
+ <bean id="mybean2" class="app.MyBean">
+ <property name="field1" value="28"/>
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sandbox/slaws/spring/src/main/resources/context2.xml b/sandbox/slaws/spring/src/main/resources/context2.xml
new file mode 100644
index 0000000000..4c03c40c61
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/resources/context2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ 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.osoa.org/xmlns/sca/1.0/spring-sca.xsd">
+
+ <bean id="mybean3" class="app.MyBean">
+ <property name="field1" value="26"/>
+ <property name="anotherBean" ref="mybean1"/>
+ </bean>
+
+ <bean id="mybean4" class="org.springframework.context.support.ClassPathXmlApplicationContext">
+ <constructor-arg>
+ <list>
+ <value>context1.xml</value>
+ </list>
+ </constructor-arg>
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sandbox/slaws/spring/src/main/resources/context3.xml b/sandbox/slaws/spring/src/main/resources/context3.xml
new file mode 100644
index 0000000000..a2b468761a
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/resources/context3.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ 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.osoa.org/xmlns/sca/1.0/spring-sca.xsd">
+
+ <bean id="mybean3" class="app.MyBean">
+ <property name="field1" value="26"/>
+ <property name="factory" ref="mybean4"/>
+ </bean>
+
+ <bean id="mybean4" class="org.springframework.context.support.ClassPathXmlApplicationContext">
+ <constructor-arg>
+ <list>
+ <value>context1.xml</value>
+ </list>
+ </constructor-arg>
+ </bean>
+
+</beans> \ No newline at end of file