Author: antelder
Date: Sun Apr 27 02:49:38 2008
New Revision: 651906

URL: http://svn.apache.org/viewvc?rev=651906&view=rev
Log:
Update servlet hosts so that the webapp host takes precidence and include 
webapp host in sca all jar and exclude tomcat host from all jar 

Modified:
    incubator/tuscany/java/sca/distribution/bundle/pom.xml
    incubator/tuscany/java/sca/distribution/manifest/pom.xml
    incubator/tuscany/java/sca/distribution/pom.xml
    
incubator/tuscany/java/sca/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java
    
incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java
    
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java

Modified: incubator/tuscany/java/sca/distribution/bundle/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/distribution/bundle/pom.xml?rev=651906&r1=651905&r2=651906&view=diff
==============================================================================
--- incubator/tuscany/java/sca/distribution/bundle/pom.xml (original)
+++ incubator/tuscany/java/sca/distribution/bundle/pom.xml Sun Apr 27 02:49:38 
2008
@@ -263,11 +263,11 @@
             <artifactId>tuscany-host-rmi</artifactId>
             <version>${pom.version}</version>
         </dependency>
-        <!-- dependency> removed for now, see TUSCANY-1572 and TUSCANY-1568
+        <dependency> 
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-host-webapp</artifactId>
             <version>${pom.version}</version>
-        </dependency -->
+        </dependency>
         <dependency>
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-host-jetty</artifactId>
@@ -277,7 +277,7 @@
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-host-tomcat</artifactId>
             <version>${pom.version}</version>
-        </dependency-->
+        </dependency -->
         <dependency>
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-interface</artifactId>
@@ -352,6 +352,12 @@
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-implementation-node-runtime</artifactId>
             <version>${pom.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>${pom.groupId}</groupId>
+                    <artifactId>tuscany-host-tomcat</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>${pom.groupId}</groupId>
@@ -447,6 +453,12 @@
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-domain-manager</artifactId>
             <version>${pom.version}</version>
+            <exclusions> 
+                <exclusion>
+                    <groupId>${pom.groupId}</groupId>
+                    <artifactId>tuscany-host-tomcat</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>${pom.groupId}</groupId>

Modified: incubator/tuscany/java/sca/distribution/manifest/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/distribution/manifest/pom.xml?rev=651906&r1=651905&r2=651906&view=diff
==============================================================================
--- incubator/tuscany/java/sca/distribution/manifest/pom.xml (original)
+++ incubator/tuscany/java/sca/distribution/manifest/pom.xml Sun Apr 27 
02:49:38 2008
@@ -350,11 +350,11 @@
             <artifactId>tuscany-host-jetty</artifactId>
             <version>${pom.version}</version>
         </dependency>
-        <dependency>
+        <!-- dependency>
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-host-tomcat</artifactId>
             <version>${pom.version}</version>
-        </dependency>
+        </dependency -->
         <dependency>
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-interface</artifactId>
@@ -430,6 +430,12 @@
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-implementation-node-runtime</artifactId>
             <version>${pom.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>${pom.groupId}</groupId>
+                    <artifactId>tuscany-host-tomcat</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>${pom.groupId}</groupId>
@@ -525,6 +531,12 @@
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-domain-manager</artifactId>
             <version>${pom.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>${pom.groupId}</groupId>
+                    <artifactId>tuscany-host-tomcat</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>${pom.groupId}</groupId>

Modified: incubator/tuscany/java/sca/distribution/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/distribution/pom.xml?rev=651906&r1=651905&r2=651906&view=diff
==============================================================================
--- incubator/tuscany/java/sca/distribution/pom.xml (original)
+++ incubator/tuscany/java/sca/distribution/pom.xml Sun Apr 27 02:49:38 2008
@@ -88,11 +88,11 @@
         <!--don't put two servlet hosts in the classpath TUSCANY-1954 -->
         <!--include tomcat here so it is shipped in modules/ but not  -->
         <!--in the all jar                                            -->
-        <dependency> 
+        <!-- dependency> 
             <groupId>${pom.groupId}</groupId>
             <artifactId>tuscany-host-tomcat</artifactId>
             <version>2.0-incubating-SNAPSHOT</version>
-        </dependency>
+        </dependency -->
         <dependency>
             <groupId>org.apache.tuscany.sdo</groupId>
             <artifactId>tuscany-sdo-impl</artifactId>

Modified: 
incubator/tuscany/java/sca/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java?rev=651906&r1=651905&r2=651906&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java
 Sun Apr 27 02:49:38 2008
@@ -40,21 +40,26 @@
         // Register a Jetty Servlet host
         ServletHostExtensionPoint servletHosts =
             
extensionPointRegistry.getExtensionPoint(ServletHostExtensionPoint.class);
-        final WorkScheduler workScheduler = 
extensionPointRegistry.getExtensionPoint(WorkScheduler.class);
-        // Allow privileged access to start MBeans. Requires MBeanPermission 
in security policy.
-        server = AccessController.doPrivileged(new 
PrivilegedAction<JettyServer>() {
-            public JettyServer run() {
-                return new JettyServer(workScheduler);
-             }
-        });        
-        servletHosts.addServletHost(server);
+        
+        if (servletHosts.getServletHosts().size() < 1) {
+            final WorkScheduler workScheduler = 
extensionPointRegistry.getExtensionPoint(WorkScheduler.class);
+            // Allow privileged access to start MBeans. Requires 
MBeanPermission in security policy.
+            server = AccessController.doPrivileged(new 
PrivilegedAction<JettyServer>() {
+                public JettyServer run() {
+                    return new JettyServer(workScheduler);
+                 }
+            });        
+            servletHosts.addServletHost(server);
+        }
     }
 
     public void stop(ExtensionPointRegistry registry) {
         // Allow privileged access to stop MBeans. Requires MBeanPermission in 
security policy.
         AccessController.doPrivileged(new PrivilegedAction<Object>() {
             public Object run() {
-                server.stop();
+                if (server != null) {
+                    server.stop();
+                }
                 return null;
             }
         });            

Modified: 
incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java?rev=651906&r1=651905&r2=651906&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java
 Sun Apr 27 02:49:38 2008
@@ -40,21 +40,26 @@
         // Register a Tomcat Servlet host
         ServletHostExtensionPoint servletHosts =
             
extensionPointRegistry.getExtensionPoint(ServletHostExtensionPoint.class);
-        final WorkScheduler workScheduler = 
extensionPointRegistry.getExtensionPoint(WorkScheduler.class);
-        // Allow privileged access to start MBeans. Requires MBeanPermission 
in security policy.
-        server = AccessController.doPrivileged(new 
PrivilegedAction<TomcatServer>() {
-            public TomcatServer run() {
-                return new TomcatServer(workScheduler);
-             }
-        });        
-        servletHosts.addServletHost(server);
+        
+        if (servletHosts.getServletHosts().size() < 1) {
+            final WorkScheduler workScheduler = 
extensionPointRegistry.getExtensionPoint(WorkScheduler.class);
+            // Allow privileged access to start MBeans. Requires 
MBeanPermission in security policy.
+            server = AccessController.doPrivileged(new 
PrivilegedAction<TomcatServer>() {
+                public TomcatServer run() {
+                    return new TomcatServer(workScheduler);
+                 }
+            });        
+            servletHosts.addServletHost(server);
+        }
     }
 
     public void stop(ExtensionPointRegistry registry) {
         // Allow privileged access to stop MBeans. Requires MBeanPermission in 
security policy.
         AccessController.doPrivileged(new PrivilegedAction<Object>() {
             public Object run() {
-                server.stop();
+                if (server != null) {
+                    server.stop();
+                }
                 return null;
             }
         });            

Modified: 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java?rev=651906&r1=651905&r2=651906&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java
 Sun Apr 27 02:49:38 2008
@@ -19,8 +19,11 @@
 
 package org.apache.tuscany.sca.host.webapp;
 
+import java.util.List;
+
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ModuleActivator;
+import org.apache.tuscany.sca.host.http.ServletHost;
 import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
 
 /**
@@ -32,11 +35,30 @@
 
         ServletHostExtensionPoint servletHosts =
             
extensionPointRegistry.getExtensionPoint(ServletHostExtensionPoint.class);
-
-        servletHosts.addServletHost(WebAppServletHost.getInstance());
+        
+        List<ServletHost> hosts = servletHosts.getServletHosts();
+        if (isRunningInWebapp()) {
+            if (hosts.size() > 0) {
+                hosts.removeAll(hosts);
+            }
+            servletHosts.addServletHost(WebAppServletHost.getInstance());
+        }
     }
 
     public void stop(ExtensionPointRegistry registry) {
+    }
+
+    /**
+     * TODO: this seems a bit of a hacky way to find if its running in a webapp
+     *       is there a better way?
+     */
+    private boolean isRunningInWebapp() {
+        for (StackTraceElement ste : new Exception().getStackTrace()) {
+            if (ste.getClassName().equals(WebSCADomain.class.getName())) {
+                return true;
+            }
+        }
+        return false;
     }
 
 }


Reply via email to