Author: antelder
Date: Mon Aug 11 00:46:36 2008
New Revision: 684663

URL: http://svn.apache.org/viewvc?rev=684663&view=rev
Log:
Change to work with the embedded webapp runtime and new implementation.web, and 
change the service name to make the scdl more obvious

Modified:
    tuscany/java/sca/samples/helloworld-servlet/pom.xml
    
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java
    
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java
    
tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite
    tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml

Modified: tuscany/java/sca/samples/helloworld-servlet/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/helloworld-servlet/pom.xml?rev=684663&r1=684662&r2=684663&view=diff
==============================================================================
--- tuscany/java/sca/samples/helloworld-servlet/pom.xml (original)
+++ tuscany/java/sca/samples/helloworld-servlet/pom.xml Mon Aug 11 00:46:36 2008
@@ -35,7 +35,21 @@
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-sca-api</artifactId>
             <version>1.4-SNAPSHOT</version>
-            <scope>provided</scope>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-web-runtime</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>

Modified: 
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java?rev=684663&r1=684662&r2=684663&view=diff
==============================================================================
--- 
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java
 (original)
+++ 
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java
 Mon Aug 11 00:46:36 2008
@@ -1,5 +1,8 @@
 package sample;
 
+import org.osoa.sca.annotations.Service;
+
[EMAIL PROTECTED](HelloworldService.class)
 public class HelloworldServiceImpl implements HelloworldService {
 
        public String sayHello(String name) {

Modified: 
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java?rev=684663&r1=684662&r2=684663&view=diff
==============================================================================
--- 
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java
 (original)
+++ 
tuscany/java/sca/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java
 Mon Aug 11 00:46:36 2008
@@ -21,25 +21,38 @@
 import java.io.IOException;
 import java.io.Writer;
 
+import javax.servlet.ServletConfig;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.osoa.sca.ComponentContext;
 import org.osoa.sca.annotations.Reference;
 
 /**
  */
 public class HelloworldServlet extends HttpServlet {
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
     @Reference
-    protected HelloworldService helloworldService;
+    protected HelloworldService service;
 
     @Override
+    public void init(ServletConfig config) {
+        if (service == null) {
+            // The helloworldService reference will only be injected from the 
@Reference 
+            // annotation in containers supporting SCA "deep" integration. In 
other 
+            // environments in can be looked up from the ComponentContext.
+            ComponentContext cc = 
(ComponentContext)config.getServletContext().getAttribute("org.osoa.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 = helloworldService.sayHello(name);
+       String greeting = service.sayHello(name);
        
         Writer out = response.getWriter();
         out.write("<html><head><title>Apache Tuscany Helloworld Servlet 
Sample</title></head><body>");

Modified: 
tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite?rev=684663&r1=684662&r2=684663&view=diff
==============================================================================
--- 
tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite
 (original)
+++ 
tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite
 Mon Aug 11 00:46:36 2008
@@ -23,10 +23,10 @@
 
     <component name="WebClient">
         <implementation.web web-uri=""/>
-        <reference name="helloworldService" target="helloworldService"/>
+        <reference name="service" target="HelloworldService"/>
     </component>
 
-    <component name="helloworldService">
+    <component name="HelloworldService">
         <implementation.java class="sample.HelloworldServiceImpl"/>
     </component>
 

Modified: 
tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml?rev=684663&r1=684662&r2=684663&view=diff
==============================================================================
--- tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml 
(original)
+++ tuscany/java/sca/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml 
Mon Aug 11 00:46:36 2008
@@ -1,42 +1,52 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<web-app version="2.4"
-         xmlns="http://java.sun.com/xml/ns/j2ee";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; >
-
-    <display-name>Apache Tuscany Helloworld Servlet Sample</display-name>
-
-    <servlet>
-        <servlet-name>HelloworldServlet</servlet-name>
-        <servlet-class>sample.HelloworldServlet</servlet-class>
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>HelloworldServlet</servlet-name>
-        <url-pattern>/HelloworldServlet</url-pattern>
-    </servlet-mapping>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<web-app version="2.4"
+         xmlns="http://java.sun.com/xml/ns/j2ee";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; >
+
+    <display-name>Apache Tuscany Helloworld Servlet Sample</display-name>
+
+  <filter>
+    <filter-name>tuscany</filter-name> 
+    
<filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
 
+  </filter>
+
+  <filter-mapping>
+    <filter-name>tuscany</filter-name> 
+    <url-pattern>/*</url-pattern> 
+  </filter-mapping>
+
+    <servlet>
+        <servlet-name>HelloworldServlet</servlet-name>
+        <servlet-class>sample.HelloworldServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>HelloworldServlet</servlet-name>
+        <url-pattern>/HelloworldServlet</url-pattern>
+    </servlet-mapping>
+
   <welcome-file-list id="WelcomeFileList">
     <welcome-file>hello.html</welcome-file>
   </welcome-file-list>
-
-</web-app>
+
+</web-app>


Reply via email to