From 6865c59e74f19ed6057d03583944b47abd6e036e Mon Sep 17 00:00:00 2001 From: antelder Date: Tue, 26 Oct 2010 07:46:08 +0000 Subject: Create branch for next release git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1027394 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/sample/HelloWorldResource.java | 68 ++++++++++++++++++++++ .../src/main/java/sample/HelloworldService.java | 25 ++++++++ .../main/java/sample/HelloworldServiceImpl.java | 28 +++++++++ .../src/main/webapp/WEB-INF/application | 14 +++++ .../src/main/webapp/WEB-INF/web.composite | 34 +++++++++++ .../src/main/webapp/WEB-INF/web.xml | 49 ++++++++++++++++ .../src/test/java/itest/HelloworldTestCase.java | 43 ++++++++++++++ 7 files changed, 261 insertions(+) create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloWorldResource.java create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloworldService.java create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/application create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.composite create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.xml create mode 100644 sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/test/java/itest/HelloworldTestCase.java (limited to 'sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src') diff --git a/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloWorldResource.java b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloWorldResource.java new file mode 100644 index 0000000000..42625b8a78 --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloWorldResource.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * 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.util.Date; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; + +import org.oasisopen.sca.annotation.Reference; + +/** + * Simple example - Hello World! + *

+ * The SDK dispatches HTTP requests for URI + * http://[host]:[port]/helloworld-jaxrs/rest/world, where + * helloworld-jaxrs is the context root, to this class. A simple + * plain text entry is returned in HTTP response. + *

+ * The service document is available at URI + * http://[host]:[port]/helloworld-jaxrs/rest but it is empty because + * this simple demo doesn't contain any collection of resources. + *

+ * This resource must be registered within a JAX-RS application, this example + * uses the default usage of application /WEB-INF/application + */ +@Path("/world") +public class HelloWorldResource { + + @Reference + protected HelloworldService service; + + + /** + * This method is called by the SDK for HTTP GET method requests where the + * Accept header allows the Atom media type application/atom+xml. A + * SyndEntry is created with basic information. Serialization of the + * SyndEntry to Atom entry is performed by the SDK automatically. The + * default status code of 200 (OK) is returned in the response. + * + * @return SyndEntry of the requested resource + */ + @GET + @Produces("text/plain") + public String getClichedMessage() { + return service == null ? "SCA reference not injected" : service.sayHello("World"); + } + +} diff --git a/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloworldService.java b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloworldService.java new file mode 100644 index 0000000000..123774b936 --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/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/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloworldServiceImpl.java b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/java/sample/HelloworldServiceImpl.java new file mode 100644 index 0000000000..66cef71a25 --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/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/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/application b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/application new file mode 100644 index 0000000000..8ce781d6c8 --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/application @@ -0,0 +1,14 @@ +# 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. +sample.HelloWorldResource \ No newline at end of file diff --git a/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..7ff71519e9 --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..3c5726a818 --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,49 @@ + + + + + Apache Tuscany Helloworld JAX-RS Sample + + + org.apache.tuscany.sca.host.webapp.TuscanyContextListener + + + + restSdkService + org.apache.wink.server.internal.servlet.RestServlet + + applicationConfigLocation + /WEB-INF/application + + + + deploymentConfiguration + org.apache.tuscany.sca.wink.TuscanyDeploymentConfiguration + + + + restSdkService + /rest/* + + + diff --git a/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/test/java/itest/HelloworldTestCase.java b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/test/java/itest/HelloworldTestCase.java new file mode 100644 index 0000000000..50197cdfcb --- /dev/null +++ b/sca-java-2.x/branches/2.0-Beta1/samples/learning-more/implementation-web/helloworld-jaxrs/src/test/java/itest/HelloworldTestCase.java @@ -0,0 +1,43 @@ +/* + * 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 itest; + +import static org.junit.Assert.assertEquals; + +import java.io.IOException; +import java.net.MalformedURLException; + +import org.junit.Test; + +import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; +import com.gargoylesoftware.htmlunit.TextPage; +import com.gargoylesoftware.htmlunit.WebClient; + +/** + */ +public class HelloworldTestCase { + + @Test + public void testA() throws FailingHttpStatusCodeException, MalformedURLException, IOException { + TextPage page = (TextPage)new WebClient().getPage("http://localhost:8085/helloworld-jaxrs/rest/world"); + assertEquals("Hello World", page.getContent()); + } + +} -- cgit v1.2.3