Author: antelder
Date: Wed Nov 14 09:03:41 2007
New Revision: 594949

URL: http://svn.apache.org/viewvc?rev=594949&view=rev
Log:
Start at supporting domains and nodes with URLs using paths. Domains work, 
nodes don't yet

Modified:
    
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
    
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java

Modified: 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java?rev=594949&r1=594948&r2=594949&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
 Wed Nov 14 09:03:41 2007
@@ -257,17 +257,21 @@
                 domainManagementRuntime = new 
ReallySmallRuntime(domainClassLoader);
                 domainManagementRuntime.start();
                 
+                String path = URI.create(domainModel.getDomainURI()).getPath();
 
                 // invent a default URL for the runtime
                 String host = InetAddress.getLocalHost().getHostName();
                 ServerSocket socket = new ServerSocket(0);
                 int port = socket.getLocalPort();
-                nodeURI = "http://"; + host + ":" + port;
+                nodeURI = "http://"; + host + ":" + port + path;
                 socket.close();
                 
                 ServletHostExtensionPoint servletHosts = 
domainManagementRuntime.getExtensionPointRegistry().getExtensionPoint(ServletHostExtensionPoint.class);
                 for (ServletHost servletHost: servletHosts.getServletHosts()) {
                     servletHost.setDefaultPort(port);
+                    if (path != null && path.length() > 0 && 
!path.equals("/")) {
+                        servletHost.setContextPath(path);
+                    }
                 }
 
                 // Create an in-memory domain level management composite
@@ -278,6 +282,16 @@
             } else {
                 domainManagementRuntime = nodeImpl.getNodeRuntime();
                 domainManagementComposite = 
domainManagementRuntime.getCompositeActivator().getDomainComposite();
+
+// TODO: doing this breaks testcase
+//                // set the context path for the node
+//                String path = URI.create(nodeImpl.getURI()).getPath();
+//                if (path != null && path.length() > 0 && !path.equals("/")) {
+//                    ServletHostExtensionPoint servletHosts = 
domainManagementRuntime.getExtensionPointRegistry().getExtensionPoint(ServletHostExtensionPoint.class);
+//                    for (ServletHost servletHost: 
servletHosts.getServletHosts()) {
+//                        servletHost.setContextPath(path);
+//                    }
+//                }
             }
           
             // Find the composite that will configure the domain
@@ -325,8 +339,7 @@
                                         
                                         if ( bindingPort == 9999){
                                             // replace the old with the new
-                                            bindingURIString = 
bindingURIString.replace(String.valueOf(bindingPort), 
String.valueOf(domainPort));          
-                                            bindingURIString = 
bindingURIString.replace(bindingHost, domainHost);
+                                            bindingURIString = domainURI + 
bindingURI.getPath() ;
                                             
                                             // set the address back into the 
NodeManager binding.
                                             binding.setURI(bindingURIString);  
                                             

Modified: 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java?rev=594949&r1=594948&r2=594949&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
 Wed Nov 14 09:03:41 2007
@@ -165,11 +165,16 @@
             nodeRuntime = new ReallySmallRuntime(nodeClassLoader);
             nodeRuntime.start();
             
-            // configure the default port for this runtime
+            // configure the default port and path for this runtime
             int port = URI.create(nodeURI).getPort();
+            String path = nodeURL.getPath();
             ServletHostExtensionPoint servletHosts = 
nodeRuntime.getExtensionPointRegistry().getExtensionPoint(ServletHostExtensionPoint.class);
             for (ServletHost servletHost: servletHosts.getServletHosts()) {
                 servletHost.setDefaultPort(port);
+                if (path != null && path.length() > 0 && !path.equals("/")) {
+// TODO: doing this breaks testcase
+//                    servletHost.setContextPath(path);
+                }
             }            
             
             // If a non-null domain name is provided make the node available 
to the model



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to