From a3c48da9bb8971497d414f86e352123d95b9c3da Mon Sep 17 00:00:00 2001 From: lresende Date: Fri, 20 Nov 2009 23:53:35 +0000 Subject: Moving 2.x trunk git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@882795 13f79535-47bb-0310-9956-ffa450edef68 --- .../trunk/samples/webapps/helloworld-bpel/pom.xml | 130 ++++++++++++++ .../src/main/java/sample/HelloworldService.java | 28 +++ .../src/main/resources/helloworld.bpel | 66 +++++++ .../src/main/resources/helloworld.wsdl | 82 +++++++++ .../src/main/webapp/WEB-INF/web.composite | 37 ++++ .../src/main/webapp/WEB-INF/web.xml | 41 +++++ .../helloworld-bpel/src/main/webapp/hello.jsp | 36 ++++ .../trunk/samples/webapps/helloworld-jms/README | 131 ++++++++++++++ .../trunk/samples/webapps/helloworld-jms/pom.xml | 80 +++++++++ .../src/main/java/sample/HelloWorldClient.java | 37 ++++ .../src/main/java/sample/HelloWorldService.java | 29 ++++ .../main/java/sample/HelloWorldServiceImpl.java | 31 ++++ .../src/main/webapp/META-INF/context.xml | 34 ++++ .../src/main/webapp/WEB-INF/jetty-env.xml | 48 ++++++ .../src/main/webapp/WEB-INF/web.composite | 44 +++++ .../helloworld-jms/src/main/webapp/WEB-INF/web.xml | 66 +++++++ .../helloworld-jms/src/main/webapp/hello.jsp | 41 +++++ .../samples/webapps/helloworld-js-client/pom.xml | 62 +++++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 28 +++ .../src/main/webapp/WEB-INF/web.composite | 36 ++++ .../src/main/webapp/WEB-INF/web.xml | 41 +++++ .../src/main/webapp/hello.html | 51 ++++++ .../trunk/samples/webapps/helloworld-jsf/pom.xml | 69 ++++++++ .../src/main/java/sample/HelloWorldController.java | 56 ++++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 27 +++ .../src/main/webapp/WEB-INF/faces-config.xml | 51 ++++++ .../src/main/webapp/WEB-INF/web.composite | 34 ++++ .../helloworld-jsf/src/main/webapp/WEB-INF/web.xml | 191 +++++++++++++++++++++ .../helloworld-jsf/src/main/webapp/helloWorld.jsp | 40 +++++ .../helloworld-jsf/src/main/webapp/index.jsp | 23 +++ .../helloworld-jsf/src/main/webapp/page2.jsp | 38 ++++ .../trunk/samples/webapps/helloworld-jsp/pom.xml | 62 +++++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 28 +++ .../src/main/webapp/WEB-INF/web.composite | 34 ++++ .../helloworld-jsp/src/main/webapp/WEB-INF/web.xml | 41 +++++ .../helloworld-jsp/src/main/webapp/hello.jsp | 37 ++++ .../trunk/samples/webapps/helloworld-rest/README | 37 ++++ .../trunk/samples/webapps/helloworld-rest/pom.xml | 111 ++++++++++++ .../java/helloworldrest/ClientJavaTestService.java | 47 +++++ .../helloworldrest/ClientTestServiceWebapp.java | 126 ++++++++++++++ .../java/helloworldrest/HelloWorldService.java | 31 ++++ .../java/helloworldrest/HelloWorldServiceImpl.java | 62 +++++++ .../src/main/resources/rest.composite | 37 ++++ .../src/main/webapp/HelloWorldJSONRPC.html | 75 ++++++++ .../src/main/webapp/META-INF/sca-contribution.xml | 26 +++ .../src/main/webapp/WEB-INF/web.xml | 35 ++++ .../helloworld-rest/src/main/webapp/style.css | 22 +++ .../helloworld-rest/target/classes/rest.composite | 37 ++++ .../samples/webapps/helloworld-servlet/pom.xml | 61 +++++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 27 +++ .../src/main/java/sample/HelloworldServlet.java | 64 +++++++ .../src/main/webapp/WEB-INF/web.composite | 34 ++++ .../src/main/webapp/WEB-INF/web.xml | 44 +++++ .../helloworld-servlet/src/main/webapp/hello.html | 46 +++++ .../samples/webapps/helloworld-stripes/pom.xml | 72 ++++++++ .../main/java/mystripes/action/BaseActionBean.java | 33 ++++ .../main/java/mystripes/action/HomeActionBean.java | 45 +++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 28 +++ .../src/main/resources/StripesResources.properties | 73 ++++++++ .../src/main/resources/log4j.properties | 48 ++++++ .../src/main/webapp/WEB-INF/jsp/home.jsp | 26 +++ .../src/main/webapp/WEB-INF/jsp/layout.jsp | 39 +++++ .../src/main/webapp/WEB-INF/jsp/taglibs.jsp | 29 ++++ .../src/main/webapp/WEB-INF/web.composite | 34 ++++ .../src/main/webapp/WEB-INF/web.xml | 61 +++++++ .../helloworld-stripes/src/main/webapp/index.html | 24 +++ .../samples/webapps/helloworld-wicket/pom.xml | 83 +++++++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 28 +++ .../src/main/java/sample/wicket/HomePage.html | 48 ++++++ .../src/main/java/sample/wicket/HomePage.java | 66 +++++++ .../src/main/java/sample/wicket/IMyService.java | 35 ++++ .../src/main/java/sample/wicket/MyService.java | 38 ++++ .../main/java/sample/wicket/WicketApplication.java | 47 +++++ .../src/main/resources/log4j.properties | 29 ++++ .../src/main/webapp/WEB-INF/web.composite | 34 ++++ .../src/main/webapp/WEB-INF/web.xml | 50 ++++++ .../trunk/samples/webapps/helloworld/pom.xml | 62 +++++++ .../src/main/java/sample/HelloworldService.java | 25 +++ .../main/java/sample/HelloworldServiceImpl.java | 38 ++++ .../src/main/webapp/WEB-INF/web.composite | 29 ++++ .../helloworld/src/main/webapp/WEB-INF/web.xml | 37 ++++ 87 files changed, 4143 insertions(+) create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.bpel create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.wsdl create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/hello.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/README create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldClient.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/META-INF/context.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/jetty-env.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/hello.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-js-client/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/hello.html create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloWorldController.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/faces-config.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/helloWorld.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/index.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/page2.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsp/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/hello.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/README create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientJavaTestService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientTestServiceWebapp.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/resources/rest.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/HelloWorldJSONRPC.html create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/style.css create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-rest/target/classes/rest.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServlet.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/hello.html create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/BaseActionBean.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/HomeActionBean.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/StripesResources.properties create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/log4j.properties create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/home.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/layout.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/taglibs.jsp create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/index.html create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.html create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/IMyService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/MyService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/resources/log4j.properties create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld/pom.xml create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.xml (limited to 'sca-java-2.x/trunk/samples/webapps') diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/pom.xml new file mode 100644 index 0000000000..dad495c13a --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/pom.xml @@ -0,0 +1,130 @@ + + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-bpel + war + Apache Tuscany SCA Sample Helloworld BPEL + + + 2.0-SNAPSHOT + 6.1.18 + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + + + + org.apache.tuscany.sca + tuscany-implementation-web-runtime + ${tuscany.version} + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-bpel-runtime + ${tuscany.version} + runtime + + + + + junit + junit + 3.8.2 + test + + + + + org.mortbay.jetty + jetty + ${jetty.version} + provided + + + org.mortbay.jetty + jetty-util + ${jetty.version} + provided + + + org.mortbay.jetty + jetty-management + ${jetty.version} + provided + + + + + ${artifactId} + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack + compile + + unpack + + + + + org.apache.ode + ode-dao-jpa-ojpa-derby + 1.1.1 + zip + false + ${project.build.directory}/classes + **/* + + + + + + + + + org.mortbay.jetty + maven-jetty-plugin + ${jetty.version} + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..c1a50d9be5 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/java/sample/HelloworldService.java @@ -0,0 +1,28 @@ +/* + * 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 org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface HelloworldService { + + String hello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.bpel b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.bpel new file mode 100644 index 0000000000..f1e8895f76 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.bpel @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + concat('Hello ', $myVar.TestPart/test:message/text()) + + + + $tmpVar + $myVar.TestPart/test:message + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.wsdl b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.wsdl new file mode 100644 index 0000000000..46cf381577 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/resources/helloworld.wsdl @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..3ffe604ef7 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..bf01a7b759 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,41 @@ + + + + + helloworld-bpel + + + tuscany.helloworld-bpel + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany.helloworld-bpel + /* + + + + hello.jsp + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/hello.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/hello.jsp new file mode 100644 index 0000000000..c52d7b1cb2 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-bpel/src/main/webapp/hello.jsp @@ -0,0 +1,36 @@ +<%-- + * 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. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %> + + + + + + +

helloworld-bpel

+ + Calling HelloworldService sayHello("world") returns: + +

+ + <%= service.hello("world") %> + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/README b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/README new file mode 100644 index 0000000000..88bbe9adcb --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/README @@ -0,0 +1,131 @@ +JMS HelloWorld Sample +===================== +This sample demonstrates a simple webapp containing a hello world style client +and service using the JMS binding for request-response style messaging. + +The README in the samples directory (the directory above this) provides +general instructions about building and running samples. Take a look there +first. + +As this sample provides a web app there is a manual step where the WAR file +that contains the sample is copied to your web app container. If you just want +to give this sample a go deploy the WAR file (target/helloworld-jms.war ) +to you web application server. Alternatevly, the sample pom.xml is configured +with the Jetty plugin so you can run the it with Jetty by simply doing "mvn jetty:run". + +Once the web app is deployed use your browser to visit the following URL; + +http://localhost:8080/helloworld-jms + +The port and hostname will of course vary depending on your local installation. + +Configuring the JMS resources +----------------------------- + +The sample requires JMS resources be manually configured in the server environment, these are: + +- a JMS connection factory named "ConnectionFactory" +- a JMS queue named "HelloWorldService" + +See the following for how to define these resources depending on the application server being used: + +Tuscany with embedded ActiveMQ broker +------------------------------------- + + +Apache Tomcat +------------- + +No configuration is necessary for Tomcat as the sample WAR includes everything pre-configured to run +an ActiveMQ embedded JMS broker and to configure the JMS resources in JNDI. + +The JNDI resources are configured in the META-INF/comtext.xml file, for more information on running +ActiveMQ in Tomcat see: http://activemq.apache.org/tomcat.html + + +Apache Geronimo +--------------- + +For Apache Geronimo 2.0.1 (2.0.2 fails to define JMS resources for me) + +Logon to the Geronimo Server Console (http://localhost:8080/console, uid system, pswd manager) + +In the Console Navigation on the left under Services click JMS Resources + +At the bottom of the JMS Resources panel click under Create a new JMS Resource Group click For ActiveMQ + +In Resource Group Name enter "MyRGN" and click next + +At JMS Resource Group click Add Connection Factory + +For JMS Factory Type choose javax.jms.ConnectionFactory and click Next + +In Connection Factory Name enter "ConnectionFactory" and click Next + +Click Add destination + +For JMS Destination Type choose javax.jms.Queue and click Next + +Enter "HelloWorldService" for both Message Destination Name and PhysicalName and click Next + +Click Deploy Now + +Thats it, you're done. + + +WebSphere +--------- + +To define the JMS resources in a new WebSphere Application Server 6.1 installation: + +1) First define a Service integration bus: + +Logon to the WebSphere Integrated Solutions Console (http://localhost:9060/ibm/console) + +On the Left hand menu expand Service integration, and click on Buses. + +In the Buses panel click on New + +Enter a name for the bus, eg MyBus, and click Next, and then click Finish and Save the changes. + +In the Buses panel click on MyBus + +Find the Topology secion and click on Bus members + +Click on Add, leave the defaults and click Next, Next, Next, Finish, and Save the changes. + +Restart WebSphere and when back up logon back on to the Integrated Solutions Console + +2) Now define the JMS rescources + +On the Left hand menu expand Resources, and JMS and click on Connection Facotories. + +In the Connection factories panel click New. + +Leave the Default messaging provider and click OK + +Enter "ConnectionFactory" in the Name and JNDI name and in the Bus name in the Connection pane choose MyBus and click OK + +On the Left hand menu in JMS click on Queues + +In the Queues panel click New, accept the defaults and click OK + +Enter "HelloWorldService" for the Name and JNDI name and in the Bus name in the Connection pane choose MyBus, +and then in the Queue name drop down list choose "Create SIB destination" + +In the Set queue attributes panel enter "HelloWorldService" for the Identifier and click Next, Next, and Finish + +That should take you back to the Queues panel where you can click OK to create the new JMS queue. + +Save the changes + +Restart WebSphere and you're done. + + + +Others... +--------- + + + + \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/pom.xml new file mode 100644 index 0000000000..4e45d20d5c --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/pom.xml @@ -0,0 +1,80 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-jms + war + Apache Tuscany SCA Sample JMS HelloWorld in a WebApp + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-implementation-web-runtime + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-jms-runtime + 2.0-SNAPSHOT + + + + org.apache.activemq + activemq-core + 5.1.0 + runtime + + + backport-util-concurrent + backport-util-concurrent + 3.1 + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldClient.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldClient.java new file mode 100644 index 0000000000..f209f11605 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldClient.java @@ -0,0 +1,37 @@ +/* + * 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; + +/** + * The HelloWorld client implementation + */ +public class HelloWorldClient implements HelloWorldService { + + HelloWorldService helloWorldRef; + + public String sayHello(String name) { + System.out.println("HelloWorldClient.sayHello " + name); + return helloWorldRef.sayHello(name); + } + + public void setHelloWorldRef(HelloWorldService helloWorldRef) { + System.out.println("HelloWorldClient.setHelloWorldService " + helloWorldRef); + this.helloWorldRef = helloWorldRef; + } +} \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldService.java new file mode 100644 index 0000000000..df2a852161 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldService.java @@ -0,0 +1,29 @@ +/* + * 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 org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for the helloworld service + */ +@Remotable +public interface HelloWorldService { + public String sayHello(String name); +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldServiceImpl.java new file mode 100644 index 0000000000..c09af51e23 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/java/sample/HelloWorldServiceImpl.java @@ -0,0 +1,31 @@ +/* + * 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; + +/** + * This class implements the HelloWorld service. + */ +public class HelloWorldServiceImpl implements HelloWorldService { + + public String sayHello(String name) { + System.out.println("HelloWorldServiceImpl.sayHello " + name); + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/META-INF/context.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/META-INF/context.xml new file mode 100644 index 0000000000..7575edfc29 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/META-INF/context.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/jetty-env.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/jetty-env.xml new file mode 100644 index 0000000000..a8cd27f6c6 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/jetty-env.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + ConnectionFactory + + + vm://localhost?broker.persistent=false + + + + + + HelloWorldService + + + DEMO + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..5c52638661 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..86710435ae --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,66 @@ + + + + + + + Apache Tuscany JMS Web Service Sample + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + + hello.jsp + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/hello.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/hello.jsp new file mode 100644 index 0000000000..9ae037f2c2 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jms/src/main/webapp/hello.jsp @@ -0,0 +1,41 @@ +<%-- + * 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. +--%> + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %> + + + + +HelloWorld JMS sample + + + +If this sample is working correctly you should see "Hello World" on the next line... +

+<%= service.sayHello("world") %> +

+If you do not see "Hello World" on the line above then there has been a problem. +

+The sample requires JMS resources be manually configured in the server environment, these are: +a JMS connection factory named "ConnectionFactory", and a destination queues named "HelloWorldService". +See the sample README file for more information. + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/pom.xml new file mode 100644 index 0000000000..a85e72b925 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/pom.xml @@ -0,0 +1,62 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-js-client + war + Apache Tuscany SCA Sample Helloworld Javascript Client + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-implementation-web-client + 2.0-SNAPSHOT + runtime + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..123774b936 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..66cef71a25 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,28 @@ +/* + * 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; + + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..c59c7a8f6d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..babeb7b203 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,41 @@ + + + + + Apache Tuscany Helloworld JSP Sample + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + + hello.html + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/hello.html b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/hello.html new file mode 100644 index 0000000000..12024cc4d3 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-js-client/src/main/webapp/hello.html @@ -0,0 +1,51 @@ + + + + + Apache Tuscany Helloworld Javascript Client Sample + + + + + + + + + +

Apache Tuscany Helloworld Javascript Client Sample

+ + + + + +
+ + + \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/pom.xml new file mode 100644 index 0000000000..e9093cc098 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/pom.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-jsf + Apache Tuscany SCA Sample Helloworld JSF + war + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-implementation-web-runtime + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-myfaces + 2.0-SNAPSHOT + runtime + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloWorldController.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloWorldController.java new file mode 100644 index 0000000000..9c9f541997 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloWorldController.java @@ -0,0 +1,56 @@ +/* + * 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 org.oasisopen.sca.annotation.Reference; + +/** + * + */ +public class HelloWorldController { + + @Reference + protected HelloworldService service; + + private String name; + + public HelloWorldController() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Method that is backed to a submit button of a form. + */ + public String send() { + if (service == null) { + name = "reference not injected!"; + } else { + name = service.sayHello(name); + } + return "success"; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..53ff7a5ca1 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..23925d6c69 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,27 @@ +/* + * 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; + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/faces-config.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/faces-config.xml new file mode 100644 index 0000000000..99cee9faeb --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/faces-config.xml @@ -0,0 +1,51 @@ + + + + + + + helloWorld + sample.HelloWorldController + request + + + + + /helloWorld.jsp + + success + /page2.jsp + + + + + + /page2.jsp + + back + /helloWorld.jsp + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..875d6aae9d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..fecbd7c79b --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,191 @@ + + + + + MyProject web.xml + + + + org.apache.tuscany.sca.host.webapp.TuscanyContextListener + + + org.apache.myfaces.config.annotation.LifecycleProvider + org.apache.tuscany.sca.myfaces.TuscanyAnnotationLifecycleProvider + + + + + State saving method: "client" or "server" (= default) + See JSF Specification 2.5.3 + javax.faces.STATE_SAVING_METHOD + client + + + Only applicable if state saving method is "server" (= default). + Defines the amount (default = 20) of the latest views are stored in session. + org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION + 20 + + + Only applicable if state saving method is "server" (= default). + If true (default) the state will be serialized to a byte stream before it + is written to the session. + If false the state will not be serialized to a byte stream. + org.apache.myfaces.SERIALIZE_STATE_IN_SESSION + true + + + Only applicable if state saving method is "server" (= default) and if + org.apache.myfaces.SERIALIZE_STATE_IN_SESSION is true (= default) + If true (default) the serialized state will be compressed before it + is written to the session. If false the state will not be compressed. + org.apache.myfaces.COMPRESS_STATE_IN_SESSION + true + + + This parameter tells MyFaces if javascript code should be allowed in the + rendered HTML output. + If javascript is allowed, command_link anchors will have javascript code + that submits the corresponding form. + If javascript is not allowed, the state saving info and nested parameters + will be added as url parameters. + Default: "true" + org.apache.myfaces.ALLOW_JAVASCRIPT + true + + + org.apache.myfaces.DETECT_JAVASCRIPT + false + + + If true, rendered HTML code will be formatted, so that it is "human readable". + i.e. additional line separators and whitespace will be written, that do not + influence the HTML code. + Default: "true" + org.apache.myfaces.PRETTY_HTML + true + + + If true, a javascript function will be rendered that is able to restore the + former vertical scroll on every request. Convenient feature if you have pages + with long lists and you do not want the browser page to always jump to the top + if you trigger a link or button action that stays on the same page. + Default: "false" + org.apache.myfaces.AUTO_SCROLL + true + + + + Used for encrypting view state. Only relevant for client side + state saving. See MyFaces wiki/web site documentation for instructions + on how to configure an application for diffenent encryption strengths. + + org.apache.myfaces.SECRET + NzY1NDMyMTA= + + + + + Validate managed beans, navigation rules and ensure that forms are not nested. + + org.apache.myfaces.VALIDATE + true + + + + + Treat readonly same as if disabled attribute was set for select elements. + + org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS + true + + + + + Use the defined class as the class which will be called when a resource is added to the + ExtensionFilter handling. Using StreamingAddResource here helps with performance. If you want to add + custom components and want to use the ExtensionFilter, you need to provide your custom implementation here. + + org.apache.myfaces.ADD_RESOURCE_CLASS + org.apache.myfaces.renderkit.html.util.DefaultAddResource + + + + + Virtual path in the URL which triggers loading of resources for the MyFaces extended components + in the ExtensionFilter. + + org.apache.myfaces.RESOURCE_VIRTUAL_PATH + /faces/myFacesExtensionResource + + + + + Check if the extensions-filter has been properly configured. + + org.apache.myfaces.CHECK_EXTENSIONS_FILTER + true + + + + + Define partial state saving as true/false. + + javax.faces.PARTIAL_STATE_SAVING_METHOD + false + + + + + org.apache.myfaces.webapp.StartupServletContextListener + + + + + Faces Servlet + javax.faces.webapp.FacesServlet + 1 + + + + + Faces Servlet + *.jsf + + + + + index.jsp + index.html + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/helloWorld.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/helloWorld.jsp new file mode 100644 index 0000000000..189c142c99 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/helloWorld.jsp @@ -0,0 +1,40 @@ + + +<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> +<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> + + + + Apache Tuscany Helloworld JSF sample + + +

Apache Tuscany Helloworld JSF sample

+ + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/index.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/index.jsp new file mode 100644 index 0000000000..5ca296e115 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/index.jsp @@ -0,0 +1,23 @@ + + +<%@ page session="false"%> +<% +response.sendRedirect("helloWorld.jsf"); +%> diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/page2.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/page2.jsp new file mode 100644 index 0000000000..89259021c7 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsf/src/main/webapp/page2.jsp @@ -0,0 +1,38 @@ + + +<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> +<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> + + + Apache Tuscany Helloworld JSF sample + + +

Apache Tuscany Helloworld JSF sample

+ + + +
+ + + +
+
+ + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/pom.xml new file mode 100644 index 0000000000..88773913a5 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/pom.xml @@ -0,0 +1,62 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-jsp + war + Apache Tuscany SCA Sample Helloworld JSP + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-implementation-web-runtime + 2.0-SNAPSHOT + runtime + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..53ff7a5ca1 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..a22c095f29 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,28 @@ +/* + * 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; + + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..875d6aae9d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..fa1f7ad7b9 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,41 @@ + + + + + Apache Tuscany Helloworld JSP Sample + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + + hello.jsp + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/hello.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/hello.jsp new file mode 100644 index 0000000000..ffd01cca73 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-jsp/src/main/webapp/hello.jsp @@ -0,0 +1,37 @@ + + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %> + + + + + + +

Apache Tuscany Helloworld JSP Sample

+ + Calling HelloworldService sayHello("world") returns: + +

+ + <%= service.sayHello("world") %> + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/README b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/README new file mode 100644 index 0000000000..00568d9bb0 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/README @@ -0,0 +1,37 @@ +Hello World REST Sample +======================= + +Sample Overview +--------------- +The service 'HelloWorldService' is exposed using the REST binding. + +helloworld-jsonrpc-webapp/ + src/ + main/ + java/ + helloworldjsonrpc/ + HelloWorldService.java - service interface + HelloWorldServiceImpl.java - service implementation + ClientTestServiceWebapp.java - Test class; uses java.net.HttpURLConnection to make 'GET', 'PUT', 'POST requests + resources/ + rest.composite - the SCA assembly for this sample + webapp + META-INF/ + sca-contribution.xml - specifies the composite to be deployed + WEB-INF/ + web.xml - defines the listener that starts up the + Tuscany SCA runtime + pom.xml - the Maven build file + +Build the sample using Maven. +A war 'helloworld-rest-webapp.war' will be created in the target directory. Deploy it in your web container. +You can access the service from the browser by making a simple GET request using the following URL: +http://:/helloworld-rest-webapp/HelloWorldService/helloworld/getname + +Use the test class 'ClientTestServiceWebapp' to test PUT, POST operations. + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/pom.xml new file mode 100644 index 0000000000..0bb7a58812 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/pom.xml @@ -0,0 +1,111 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + helloworld-rest + war + HelloWorld RESTFul Web Application + + + + maven2-repository.dev.java.net + Java.net Repository for Maven + http://download.java.net/maven/2/ + default + + + maven-repository.dev.java.net + Java.net Maven 1 Repository (legacy) + http://download.java.net/maven/1 + legacy + + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-node-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-node-impl + 2.0-SNAPSHOT + runtime + + + + + org.apache.tuscany.sca + tuscany-implementation-web-runtime + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-rest-runtime + 2.0-SNAPSHOT + runtime + + + + javax.ws.rs + jsr311-api + 1.0 + compile + + + + com.sun.jersey + jersey-bundle + 1.0.3 + compile + + + + junit + junit + 4.5 + test + + + + + + ${artifactId} + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientJavaTestService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientJavaTestService.java new file mode 100644 index 0000000000..8c84b4f372 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientJavaTestService.java @@ -0,0 +1,47 @@ +/* + * 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 helloworldrest; + +import org.apache.tuscany.sca.node.Node; +import org.apache.tuscany.sca.node.NodeFactory; + +/* + * To test, simply run the program + * Access the service by invoking the getName() method of HelloWorldService + */ + +public class ClientJavaTestService { + + /** + * @param args + */ + public static void main(String[] args) { + NodeFactory factory = NodeFactory.newInstance(); + Node node = factory.createNode("rest.composite", ClientJavaTestService.class.getClassLoader()).start(); + HelloWorldService helloService = node.getService(HelloWorldService.class, "HelloWorldRESTServiceComponent"); + + //HelloWorldService helloService = new HelloWorldServiceImpl(); + System.out.println("### Message from REST service " + helloService.getName()); + + node.stop(); + node.destroy(); + factory.destroy(); + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientTestServiceWebapp.java b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientTestServiceWebapp.java new file mode 100644 index 0000000000..31ff956185 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/ClientTestServiceWebapp.java @@ -0,0 +1,126 @@ +/* + * 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 helloworldrest; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Formatter; + +/** + * + * To test, deploy the application as a webapp. + * Then, run this file to access the REST web service by making HTTP GET/POST requests + * + */ +public class ClientTestServiceWebapp { + + final static String UrlBase = "http://localhost:8080/helloworld-rest-webapp/HelloWorldService"; + + final static class HttpResponse { + Object content; + int code; + String message; + } + + static HttpResponse makeHttpGetRequest(String method, String url, String contentType) throws Exception { + HttpResponse response = new HttpResponse(); + URL urlAddress = new URL(url); + HttpURLConnection huc = (HttpURLConnection)urlAddress.openConnection(); + huc.setRequestMethod(method); + huc.setRequestProperty("Content-type", contentType); + huc.connect(); + InputStreamReader isr = new InputStreamReader(huc.getInputStream()); + + BufferedReader in = new BufferedReader(isr); + String uline = in.readLine(); + response.content = uline; + + // huc.disconnect(); + // System.out.println("#### huc disconnected ###"); + + return response; + } + + static HttpResponse makeHttpRequest(String method, String url, String contentType, InputStream is) throws Exception { + HttpResponse response = new HttpResponse(); + URL urlAddress = new URL(url); + HttpURLConnection huc = (HttpURLConnection)urlAddress.openConnection(); + huc.setRequestMethod(method); + if (null != is) { + huc.setDoOutput(true); + huc.setRequestProperty("Content-Type", contentType); + OutputStream os = huc.getOutputStream(); + byte[] buf = new byte[1024]; + int read; + while ((read = is.read(buf)) != -1) { + os.write(buf, 0, read); + } + } + InputStreamReader isr = new InputStreamReader(huc.getInputStream()); + BufferedReader in = new BufferedReader(isr); + String uline = in.readLine(); + response.content = uline; + return response; + } + + static HttpResponse makeHttpGetRequest(String method, String url, String contentType, String content) + throws Exception { + return makeHttpRequest(method, url, contentType, new ByteArrayInputStream(content.getBytes("UTF-8"))); + } + + static HttpResponse makeHttpRequest(String method, String url) throws Exception { + return makeHttpRequest(method, url, null, (InputStream)null); + } + + public static void main(String[] args) { + try { + + HttpResponse response; + + System.out.println("Getting the name *BEFORE* setting it:"); + response = makeHttpGetRequest("GET", UrlBase + "/helloworld/getname", "text/plain"); + System.out.println(new Formatter().format("---- Received String:\n%s", response.content.toString())); + + System.out.println("Setting the name:"); + String newText = "Morpheus"; + InputStream inputStream = new ByteArrayInputStream(newText.getBytes()); + response = makeHttpRequest("PUT", UrlBase + "/helloworld/setname", "text/plain", inputStream); + + System.out.println("Getting the name *AFTER* setting it:"); + response = makeHttpGetRequest("GET", UrlBase + "/helloworld/getname", "text/plain"); + System.out.println(new Formatter().format("---- Received String:\n%s", response.content.toString())); + + System.out.println("POST Operation:"); + response = makeHttpGetRequest("POST", UrlBase + "/helloworld/postoperation/prateek", "text/plain"); + //System.out.println(new Formatter().format("---- Received String:\n%s", response.content.toString())); + + System.out.println("Getting the name *AFTER* the POST operation:"); + response = makeHttpGetRequest("GET", UrlBase + "/helloworld/getname", "text/plain"); + System.out.println(new Formatter().format("---- Received String:\n%s", response.content.toString())); + } catch (Exception e) { + System.out.println("TEST FAILED! :-("); + e.printStackTrace(System.out); + } + } +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldService.java new file mode 100644 index 0000000000..7e33b15efc --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldService.java @@ -0,0 +1,31 @@ +/* + * 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 helloworldrest; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface HelloWorldService { + + public void setName(String name); + + public String getName(); + + public void postOperationTest(String name); +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldServiceImpl.java new file mode 100644 index 0000000000..d4441c0ab8 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/java/helloworldrest/HelloWorldServiceImpl.java @@ -0,0 +1,62 @@ +/* + * 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 helloworldrest; + +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; + +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(HelloWorldService.class) +@Scope("Composite") +@Path("/helloworld") +public class HelloWorldServiceImpl implements HelloWorldService { + + private String name = new String("original!"); + + @Path("/setname") + @PUT + @Consumes("text/plain") + public void setName(String name) { + this.name = name; + + } + + //http://:/helloworld-rest-webapp/HelloWorldService/helloworld/getname + @Path("/getname") + @GET + @Produces("text/plain") + public String getName() { + return this.name; + } + + @POST + @Path("/postoperation/{name}/") + @Consumes("text/plain") + public void postOperationTest(@PathParam("name") String name) { + this.name = name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/resources/rest.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/resources/rest.composite new file mode 100644 index 0000000000..7f76f5946d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/resources/rest.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/HelloWorldJSONRPC.html b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/HelloWorldJSONRPC.html new file mode 100644 index 0000000000..745164bf8d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/HelloWorldJSONRPC.html @@ -0,0 +1,75 @@ + + + + Tuscany JSON-RPC HelloWorld Example + + + + + + + + + + +

Tuscany JSON-RPC HelloWorld Sample

+ + + + + + + + + + + + + + + +
Non-Dojo Example
+ This example uses the JavaScript served from + SCADomain/scaDomain.js + to make JSON-RPC requests to the SCA service 'HelloWorldService' +
RequestResponse
+

+ Name please:     + + +

+ +
+
None Yet.
+
+ + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/META-INF/sca-contribution.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..9fc16372b3 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/META-INF/sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..3a670696e4 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,35 @@ + + + + + + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/style.css b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/style.css new file mode 100644 index 0000000000..0f1cea3aaf --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/src/main/webapp/style.css @@ -0,0 +1,22 @@ +/* + * 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. + */ +* { font-family: arial; } + +table, th, td { border: 2px solid blue; border-collapse: collapse; } +th { color: white; background-color: blue; } diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-rest/target/classes/rest.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/target/classes/rest.composite new file mode 100644 index 0000000000..70b83fd986 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-rest/target/classes/rest.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/pom.xml new file mode 100644 index 0000000000..7c60031b6f --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/pom.xml @@ -0,0 +1,61 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-servlet + war + Apache Tuscany SCA Sample Helloworld Servlet + + + + + org.apache.tuscany.sca + tuscany-implementation-web-runtime + 2.0-SNAPSHOT + + + + javax.servlet + servlet-api + 2.5 + provided + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..2e43e09897 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..9e79276704 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,27 @@ +/* + * 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; + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServlet.java b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServlet.java new file mode 100644 index 0000000000..bb72c50f6a --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/java/sample/HelloworldServlet.java @@ -0,0 +1,64 @@ +/* + * 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.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Reference; + +/** + */ +public class HelloworldServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + @Reference + protected HelloworldService service; + + @Override + public void init(ServletConfig servletConfig) throws ServletException { + if (service == null) { + System.out.println("HelloworldServlet reference injection failed, using ComponentContext"); + ComponentContext cc = (ComponentContext)servletConfig.getServletContext().getAttribute("org.oasisopen.sca.ComponentContext"); + service = cc.getService(HelloworldService.class, "service"); + } + } + + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { + + String name = request.getParameter("name"); + String greeting = service.sayHello(name); + + Writer out = response.getWriter(); + out.write("Apache Tuscany Helloworld Servlet Sample"); + out.write("

Apache Tuscany Helloworld Servlet Sample

"); + out.write("
Result: " + greeting); + out.write(""); + out.flush(); + out.close(); + } +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..875d6aae9d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..a91b3fc96b --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,44 @@ + + + + + Apache Tuscany Helloworld Servlet Sample + + org.apache.tuscany.sca.host.webapp.TuscanyContextListener + + + HelloworldServlet + sample.HelloworldServlet + + + + HelloworldServlet + /HelloworldServlet + + + + hello.html + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/hello.html b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/hello.html new file mode 100644 index 0000000000..c4484916aa --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-servlet/src/main/webapp/hello.html @@ -0,0 +1,46 @@ + + + + +Apache Tuscany Helloworld Servlet Sample + + + + +

Apache Tuscany Helloworld Servlet Sample

+ +
+ + + + + + + + +
Enter your name: + +
+ +
+
+ + + \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/pom.xml new file mode 100644 index 0000000000..ec5cb600ea --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/pom.xml @@ -0,0 +1,72 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-stripes + war + Apache Tuscany SCA Sample Helloworld using Stripes + + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-stripes + 2.0-SNAPSHOT + + + + + net.sourceforge.stripes + stripes + 1.5 + + + taglibs + standard + 1.1.2 + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/BaseActionBean.java b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/BaseActionBean.java new file mode 100644 index 0000000000..0ab02682ac --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/BaseActionBean.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 mystripes.action; + +import net.sourceforge.stripes.action.ActionBean; +import net.sourceforge.stripes.action.ActionBeanContext; + +public class BaseActionBean implements ActionBean { + private ActionBeanContext context; + + public ActionBeanContext getContext() { + return context; + } + public void setContext(ActionBeanContext context) { + this.context = context; + } +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/HomeActionBean.java b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/HomeActionBean.java new file mode 100644 index 0000000000..0385c92369 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/mystripes/action/HomeActionBean.java @@ -0,0 +1,45 @@ +/* + * 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 mystripes.action; + +import net.sourceforge.stripes.action.DefaultHandler; +import net.sourceforge.stripes.action.ForwardResolution; +import net.sourceforge.stripes.action.Resolution; +import net.sourceforge.stripes.action.UrlBinding; + +import org.oasisopen.sca.annotation.Reference; + +import sample.HelloworldService; + +@UrlBinding("/Home.htm") +public class HomeActionBean extends BaseActionBean { + + @Reference + HelloworldService service; + + @DefaultHandler + public Resolution view() { + return new ForwardResolution("/WEB-INF/jsp/home.jsp"); + } + + public String getHello() { + return service.sayHello("world"); + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..53ff7a5ca1 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..a22c095f29 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,28 @@ +/* + * 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; + + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/StripesResources.properties b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/StripesResources.properties new file mode 100644 index 0000000000..902842a19e --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/StripesResources.properties @@ -0,0 +1,73 @@ +# +# 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. +# + +# Resource strings used by the tag when there are no nested tags +stripes.errors.header=
Please fix the following errors:
    +stripes.errors.beforeError=
  1. +stripes.errors.afterError=
  2. +stripes.errors.footer=
+ +# Resource strings used by the tag when displaying errors for a +# specific field (e.g. ). If not supplied the +# values above will be used instead. +stripes.fieldErrors.header= +stripes.fieldErrors.beforeError= +stripes.fieldErrors.afterError=
+stripes.fieldErrors.footer= + +# Resource strings used by the stripes:messages tag +stripes.messages.header=
    +stripes.messages.beforeMessage=
  • +stripes.messages.afterMessage=
  • +stripes.messages.footer=
+ +# Validation error messages produced by Stripes' built-in converter classes. These +# are default error messages and can be overridden on per-field and per-form levels. +# Using the 'invalidNumber' error for a field 'age' of a form posting to +# '/user/Profile.action', the keys looked for (in order) would be: +# 1: /user/Profile.action.age.invalidNumber +# 2: /user/Profile.action.age.errorMessage +# 3: age.errorMessage +# 4: /user/Profile.action.invalidNumber +# 5: converter.number.invalidNumber +converter.number.invalidNumber=The value ({1}) entered in field {0} must be a valid number +converter.byte.outOfRange=The value ({1}) entered in field {0} was out of the range {2} to {3} +converter.short.outOfRange=The value ({1}) entered in field {0} was out of the range {2} to {3} +converter.integer.outOfRange=The value ({1}) entered in field {0} was out of the range {2} to {3} +converter.float.outOfRange=The value ({1}) entered in field {0} was out of the range {2} to {3} +converter.enum.notAnEnumeratedValue=The value "{1}" is not a valid value for field {0} +converter.date.invalidDate=The value ({1}) entered in field {0} must be a valid date +converter.email.invalidEmail=The value ({1}) entered is not a valid email address +converter.creditCard.invalidCreditCard=The value ({1}) entered is not a valid credit card number + +# Validation error messages produced by Stripes' annotation based validations. These +# are default error messages and can be overridden on per-field and per-form levels. +# Using the 'valueNotPresent' required field error for a field 'username' of a form +# posting to '/user/Register.action', the keys looked for (in order) would be: +# 1: /user/Register.action.username.valueNotPresent +# 2: /user/Register.action.username.errorMessage +# 3: username.errorMessage +# 4: /user/Register.action.valueNotPresent +# 5: validation.required.valueNotPresent +validation.required.valueNotPresent={0} is a required field +validation.minlength.valueTooShort={0} must be at least {2} characters long +validation.maxlength.valueTooLong={0} must be no more than {2} characters long +validation.minvalue.valueBelowMinimum=The minimum allowed value for {0} is {2} +validation.maxvalue.valueAboveMaximum=The maximum allowed value for {0} is {2} +validation.mask.valueDoesNotMatch={1} is not a valid {0} +validation.expression.valueFailedExpression=The value supplied ({1}) for field {0} is invalid +validation.file.postBodyTooBig=Total upload size of {3} KB exceeds the maximum size of {2} KB diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/log4j.properties b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/log4j.properties new file mode 100644 index 0000000000..2741999098 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/resources/log4j.properties @@ -0,0 +1,48 @@ +# +# 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. +# + +# log4j.properties + +# Set up a logger to the console +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %-5p %c %x - %m%n + +# Use this to only see log messages beyond a certain threshold in the console +#log4j.appender.stdout.Threshold=WARN + +# Set up a logger to a log file +log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender +log4j.appender.logfile.layout=org.apache.log4j.PatternLayout +log4j.appender.logfile.layout.ConversionPattern=[%d{HH:mm:ss}] %-5p %c %x - %m%n +log4j.appender.logfile.File=${user.home}/stripesquick.log +log4j.appender.logfile.DatePattern='.'yyyy-MM-dd + +# Use this to only see log messages beyond a certain threshold in the log file +#log4j.appender.logfile.Threshold=WARN + +# Logger settings +log4j.rootLogger=INFO, stdout, logfile + +# Valid levels are TRACE, DEBUG, INFO, WARN, ERROR, FATAL +# Change to TRACE or DEBUG to see more log messages +log4j.logger.net.sourceforge.stripes=WARN +log4j.logger.org.stripesbook.quickstart=INFO +log4j.logger.org.mortbay.log=INFO +log4j.logger.org=WARN +log4j.logger.com=WARN +log4j.logger.net=WARN diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/home.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/home.jsp new file mode 100644 index 0000000000..0681c1f2bf --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/home.jsp @@ -0,0 +1,26 @@ + +<%@ include file="/WEB-INF/jsp/taglibs.jsp" %> + + + +

sayHello returns: ${actionBean.hello}

+

Congratulations, you've set up a Stripes SCA project!

+
+
diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/layout.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/layout.jsp new file mode 100644 index 0000000000..d0fb716b80 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/layout.jsp @@ -0,0 +1,39 @@ + +<%@ include file="/WEB-INF/jsp/taglibs.jsp" %> + + + + + + + ${title} + + + + + +
+ + +
+ + + +
\ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/taglibs.jsp b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/taglibs.jsp new file mode 100644 index 0000000000..f85602fcfa --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/jsp/taglibs.jsp @@ -0,0 +1,29 @@ + +<%-- Stripes TLD --%> +<%@ taglib prefix="s" uri="http://stripes.sourceforge.net/stripes.tld" %> +<%@ taglib prefix="sdyn" uri="http://stripes.sourceforge.net/stripes-dynattr.tld" %> + +<%-- JSTL TLDs --%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> + +<%-- This is so that you can conveniently refer to the context path with ${contextPath} --%> + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..875d6aae9d --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..f01584cc2f --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,61 @@ + + + + + Apache Tuscany Helloworld Stripes Sample + + + org.apache.tuscany.sca.host.webapp.TuscanyContextListener + + + + StripesFilter + net.sourceforge.stripes.controller.StripesFilter + + ActionResolver.Packages + mystripes.action + + + Extension.Packages + org.apache.tuscany.sca.stripes + + + + + DispatcherServlet + net.sourceforge.stripes.controller.DispatcherServlet + 1 + + + + StripesFilter + DispatcherServlet + REQUEST + FORWARD + + + + DispatcherServlet + *.htm + + + + index.html + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/index.html b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/index.html new file mode 100644 index 0000000000..c79d29e6a5 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-stripes/src/main/webapp/index.html @@ -0,0 +1,24 @@ + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/pom.xml new file mode 100644 index 0000000000..82f08f1e41 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/pom.xml @@ -0,0 +1,83 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld-wicket + war + Apache Tuscany SCA Sample Helloworld using Wicket + + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-wicket + 2.0-SNAPSHOT + + + javax.servlet + servlet-api + 2.5 + provided + + + + + org.apache.wicket + wicket + 1.4-rc2 + + + org.slf4j + slf4j-log4j12 + 1.4.2 + + + log4j + log4j + 1.2.14 + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..53ff7a5ca1 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..a22c095f29 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,28 @@ +/* + * 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; + + +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.html b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.html new file mode 100644 index 0000000000..61eb207e23 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.html @@ -0,0 +1,48 @@ + + + + + Wicket Examples - guice + + + +

+ This page uses Google Guice. + There is a service interface called IMyService, with an implementation POJO called MyService. + Guice is used to wire the implementation into the Page using an @Inject annotation. You can use this + annotation on the fields of any Component subclass. +

+

+ The value of the Label component below will be updated with the return value from one of the service's methods when you click the link. +

+
+
+ Value: Message goes here +
+ To update the label above, click here. +
+
+

+ The wicket-guice project will take care of proxying the injected beans so that your pages can be serialized safely. + To configure your application for Guice injection, see the javadoc for GuiceComponentInjector. +

+ + + \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.java b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.java new file mode 100644 index 0000000000..061f4c58ae --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/HomePage.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.wicket; + +import org.apache.wicket.markup.html.WebPage; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.Link; +import org.apache.wicket.model.AbstractReadOnlyModel; +import org.oasisopen.sca.annotation.Reference; + +/** + * Everybody's favorite example (Hello World), modified to use Guice. + * + * @author Alastair Maw + */ +public class HomePage extends WebPage +{ + @Reference + IMyService service; + + private String labelValue = ""; + + /** + * Constructor + */ + public HomePage() + { + add(new Link("link") + { + /** + * @see org.apache.wicket.markup.html.link.Link#onClick() + */ + @Override + public void onClick() + { + labelValue = service.getHelloWorldText(); + } + }); + add(new Label("message", new AbstractReadOnlyModel() + { + + @Override + public String getObject() + { + return labelValue; + } + + })); + } +} \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/IMyService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/IMyService.java new file mode 100644 index 0000000000..fdd91b0933 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/IMyService.java @@ -0,0 +1,35 @@ +/* + * 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.wicket; + + +/** + * Service interface for a simple "Hello World" app. + * + * @author Alastair Maw + */ +public interface IMyService +{ + /** + * Retrieves the text to say "Hello World". + * + * @return "Hello World" + */ + public String getHelloWorldText(); +} \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/MyService.java b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/MyService.java new file mode 100644 index 0000000000..e7d864c5e6 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/MyService.java @@ -0,0 +1,38 @@ +/* + * 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.wicket; + + +/** + * Implementation of IService. + * + * @author Alastair Maw + */ +public class MyService implements IMyService +{ + + /** + * @see org.apache.wicket.examples.guice.service.IMyService#getHelloWorldText() + */ + public String getHelloWorldText() + { + return "Hello World"; + } + +} \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java new file mode 100644 index 0000000000..85f2c00dbc --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/java/sample/wicket/WicketApplication.java @@ -0,0 +1,47 @@ +/* + * 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.wicket; + +import org.apache.wicket.Page; +import org.apache.wicket.protocol.http.WebApplication; +import org.apache.tuscany.sca.wicket.TuscanyComponentInjector;; + +/** + * Application object for your web application. If you want to run this application without deploying, run the Start class. + * + * @see com.mycompany.Start#main(String[]) + */ +public class WicketApplication extends WebApplication +{ + + @Override + protected void init() + { + addComponentInstantiationListener(new TuscanyComponentInjector(this)); + } + + /** + * @see org.apache.wicket.Application#getHomePage() + */ + @Override + public Class< ? extends Page> getHomePage() + { + return HomePage.class; + } +} \ No newline at end of file diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/resources/log4j.properties b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/resources/log4j.properties new file mode 100644 index 0000000000..1e24577860 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/resources/log4j.properties @@ -0,0 +1,29 @@ +# +# 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. +# + +log4j.appender.Stdout=org.apache.log4j.ConsoleAppender +log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n + +log4j.rootLogger=INFO,Stdout + +log4j.logger.org.apache.wicket=INFO +log4j.logger.org.apache.wicket.protocol.http.HttpSessionStore=INFO +log4j.logger.org.apache.wicket.version=INFO +log4j.logger.org.apache.wicket.RequestCycle=INFO + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..a52d6b6cbe --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..3783b7bf82 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld-wicket/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,50 @@ + + + + + Apache Tuscany Helloworld Wicket Sample + + + org.apache.tuscany.sca.host.webapp.TuscanyContextListener + + + + + + wicket.tuscany + org.apache.wicket.protocol.http.WicketFilter + + applicationClassName + sample.wicket.WicketApplication + + + + + wicket.tuscany + /* + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld/pom.xml b/sca-java-2.x/trunk/samples/webapps/helloworld/pom.xml new file mode 100644 index 0000000000..1d8a7d3a72 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld/pom.xml @@ -0,0 +1,62 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../../pom.xml + + + helloworld + Apache Tuscany SCA Sample Helloworld + war + + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-host-webapp + 2.0-SNAPSHOT + runtime + + + + + + ${artifactId} + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.18 + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldService.java b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..53ff7a5ca1 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldService.java @@ -0,0 +1,25 @@ +/* + * 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; + +public interface HelloworldService { + + String sayHello(String name); + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..8d220029a5 --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/java/sample/HelloworldServiceImpl.java @@ -0,0 +1,38 @@ +/* + * 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 org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Scope; + +@EagerInit +@Scope("COMPOSITE") +public class HelloworldServiceImpl implements HelloworldService { + + public String sayHello(String name) { + return "Hello " + name; + } + + @Init + public void init() { + System.out.println(sayHello("world")); + } + +} diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..045aa4674f --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..d7b237641c --- /dev/null +++ b/sca-java-2.x/trunk/samples/webapps/helloworld/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,37 @@ + + + + + Apache Tuscany Helloworld Sample + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + -- cgit v1.2.3