summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-04-15 14:47:05 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-04-15 14:47:05 +0000
commit904dfab75e47aaa12610ecdf2a26ea266d8069f1 (patch)
tree6db9e69a8f9edc0b4d3bdee295df3f998713b72b /branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src
parentf91b8cf613c4cdaf20a9bbf85efeb2824608d6ef (diff)
Separate the contribution JEE sample scenarios from the contribution JEE itests so we can see the source for the samples and more easily mix and match to construct the various combinations required. Add a new test relating to a single sample scenario to explore the problem with classloading where the JEE archive classloader is not available during contribution resolution.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@765218 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/HelloworldEjbServlet.java66
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/ejb3/HelloworldService.java33
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/geronimo-web.xml49
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.composite32
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.xml41
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/hello.html50
6 files changed, 271 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/HelloworldEjbServlet.java b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/HelloworldEjbServlet.java
new file mode 100644
index 0000000000..ae8613f8db
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/HelloworldEjbServlet.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 sample;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import javax.ejb.EJB;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.osoa.sca.annotations.Reference;
+
+import sample.ejb3.HelloworldService;
+
+/**
+ * A servlet that invokes HelloworldService which is an SCA enhanced stateless EJB.
+ *
+ * @version $Rev$ $Date$
+ */
+public class HelloworldEjbServlet extends HttpServlet {
+ private static final long serialVersionUID = -4448818871934180718L;
+
+ @EJB
+ private HelloworldService service;
+
+ @Reference
+ protected HelloworldService helloworldSca;
+
+ @Override
+ protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ String name = request.getParameter("name");
+ String greeting = service.getGreetings(name);
+ String greeting2 = helloworldSca.getGreetings(name.toUpperCase());
+
+ Writer out = response.getWriter();
+ out.write("<html><head><title>Apache Tuscany Helloworld Web Sample</title></head><body>");
+ out.write("<h2>Apache Tuscany Helloworld Web Sample</h2>");
+ out.write("This page displays the response got from HelloworldServiceBean, which is a Stateless EJB.");
+ out.write("<br>Parameter sent to HelloworldService.getGreeting: "+name);
+ out.write(greeting);
+ out.write("The following is got by invoking the HelloworldService SCA service provided by the HelloworldServiceBean");
+ out.write("<br>Parameter sent to HelloworldService.getGreeting: "+name.toUpperCase());
+ out.write(greeting2);
+ out.write("</body></html>");
+ out.flush();
+ out.close();
+ }
+}
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/ejb3/HelloworldService.java b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/ejb3/HelloworldService.java
new file mode 100644
index 0000000000..0194d1870c
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/java/sample/ejb3/HelloworldService.java
@@ -0,0 +1,33 @@
+/*
+ * 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 sample.ejb3;
+
+import javax.ejb.Remote;
+
+/**
+ * HelloworldService EJB interface.
+ *
+ * @version $Rev$ $Date$
+ */
+
+@Remote
+public interface HelloworldService {
+ String getGreetings(String name);
+}
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/geronimo-web.xml b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/geronimo-web.xml
new file mode 100644
index 0000000000..2563c8b7c8
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/geronimo-web.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * 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.
+-->
+<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.2">
+ <environment>
+ <moduleId>
+ <groupId>test</groupId>
+ <artifactId>helloworld-web</artifactId>
+ <version>1.0</version>
+ <type>car</type>
+ </moduleId>
+ <dependencies>
+ <dependency>
+ <groupId>test</groupId>
+ <artifactId>helloworld-ejb</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ <hidden-classes />
+ <non-overridable-classes />
+ </environment>
+ <context-root>helloworld-web</context-root>
+ <nam:ejb-ref xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2">
+ <nam:ref-name>ejb/HelloworldServiceBean</nam:ref-name>
+ <nam:pattern>
+ <nam:groupId>test</nam:groupId>
+ <nam:artifactId>helloworld-ejb</nam:artifactId>
+ <nam:version>1.0</nam:version>
+ <nam:name>HelloworldServiceBean</nam:name>
+ </nam:pattern>
+ </nam:ejb-ref>
+</web-app> \ No newline at end of file
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.composite b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.composite
new file mode 100644
index 0000000000..29898fe006
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.composite
@@ -0,0 +1,32 @@
+<?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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://sample"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ name="Helloworld-web">
+
+ <component name="helloworldWebComponent">
+ <implementation.web web-uri="helloworld-web.war"/>
+ <reference name="helloworldSca" target="helloworldEjbComponent/HelloworldService">
+ <interface.java interface="sample.ejb3.HelloworldService"/>
+ </reference>
+ </component>
+</composite>
+
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.xml b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..628588a974
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * 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.
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
+Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+
+ <display-name>Helloworld Web Sample</display-name>
+
+ <servlet>
+ <servlet-name>HelloworldEjbServlet</servlet-name>
+ <servlet-class>sample.HelloworldEjbServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>HelloworldEjbServlet</servlet-name>
+ <url-pattern>/HelloworldEjbServlet</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list id="WelcomeFileList">
+ <welcome-file>hello.html</welcome-file>
+ </welcome-file-list>
+
+</web-app>
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/hello.html b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/hello.html
new file mode 100644
index 0000000000..69473543c9
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/war-appcomp-contrib-implicit/src/main/webapp/hello.html
@@ -0,0 +1,50 @@
+<!--
+ * 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.
+-->
+<html>
+
+<head>
+<title>Apache Tuscany Helloworld Web Sample</title>
+</head>
+
+<body>
+
+<h2>Apache Tuscany Helloworld Web Sample</h2>
+
+This web page posts the data to <b>HelloworldEjbServlet</b>. The servlet invokes <b>HelloworldServiceBean</b>, which is a Stateless EJB.
+The EJB in turn invokes <b>Helloworld</b> SCA service through proxies injected into EJB fields.
+
+<br/><br/>
+
+<form action="HelloworldEjbServlet" method="post">
+ <table>
+ <tr>
+ <td>Enter your name:</td>
+ <td>
+ <input type="text" name="name" width="10">
+ </td>
+ </tr>
+ <tr>
+ <td align="left" colspan="2">
+ <button name="submit" type="submit">getGreeting</button>
+ </td>
+ </tr>
+ </table>
+</form>
+</body>
+</html>