You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2006/10/14 00:24:14 UTC

svn commit: r463855 - in /incubator/tuscany/java/sca: commands/launcher/src/main/java/org/apache/tuscany/launcher/ kernel/core/src/main/java/org/apache/tuscany/core/launcher/ kernel/host-api/src/main/java/org/apache/tuscany/host/ runtime/standalone/src...

Author: jboynes
Date: Fri Oct 13 15:24:12 2006
New Revision: 463855

URL: http://svn.apache.org/viewvc?view=rev&rev=463855
Log:
enable an 'offline' designation for the runtime

Modified:
    incubator/tuscany/java/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncherBooter.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherRuntimeInfo.java
    incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java
    incubator/tuscany/java/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java
    incubator/tuscany/java/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java
    incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java
    incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java
    incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java
    incubator/tuscany/java/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java
    incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java
    incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java

Modified: incubator/tuscany/java/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncherBooter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncherBooter.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncherBooter.java (original)
+++ incubator/tuscany/java/sca/commands/launcher/src/main/java/org/apache/tuscany/launcher/MainLauncherBooter.java Fri Oct 13 15:24:12 2006
@@ -53,7 +53,8 @@
         File installDir = getInstallDirectory();
         URL baseUrl = installDir.toURI().toURL();
         File bootDir = getBootDirectory(installDir);
-        StandaloneRuntimeInfo runtimeInfo = new StandaloneRuntimeInfoImpl(baseUrl, installDir, installDir);
+        boolean online = System.getProperty("offline") != null; 
+        StandaloneRuntimeInfo runtimeInfo = new StandaloneRuntimeInfoImpl(baseUrl, installDir, installDir, online);
 
         File applicationJar = new File(args[0]);
         URL applicationURL = applicationJar.toURI().toURL();

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java Fri Oct 13 15:24:12 2006
@@ -83,7 +83,7 @@
 
         // initialize the runtime info
         CompositeComponent parent = runtime.getSystemComponent();
-        RuntimeInfo runtimeInfo = new LauncherRuntimeInfo(getInstallDirectory(), getApplicationRootDirectory());
+        RuntimeInfo runtimeInfo = new LauncherRuntimeInfo(getInstallDirectory(), getApplicationRootDirectory(), true);
         parent.registerJavaObject("RuntimeInfo", RuntimeInfo.class, runtimeInfo);
 
         // registory the monitor factory

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherRuntimeInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherRuntimeInfo.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherRuntimeInfo.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherRuntimeInfo.java Fri Oct 13 15:24:12 2006
@@ -35,15 +35,18 @@
     /** Application root directory */
     private final File applicationRootDirectory;
 
+    private final boolean online;
+
     /**
      * Initializes the installation and application root directories.
      * 
      * @param installDirectory Installation directory.
      * @param applicationRootDirectory Application root directory.
      */
-    public LauncherRuntimeInfo(File installDirectory, File applicationRootDirectory) {
+    public LauncherRuntimeInfo(File installDirectory, File applicationRootDirectory, boolean online) {
         this.installDirectory = installDirectory;
         this.applicationRootDirectory = applicationRootDirectory;
+        this.online = online;
     }
 
     /**
@@ -78,4 +81,7 @@
         }
     }
 
+    public boolean isOnline() {
+        return online;
+    }
 }

Modified: incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java (original)
+++ incubator/tuscany/java/sca/kernel/host-api/src/main/java/org/apache/tuscany/host/RuntimeInfo.java Fri Oct 13 15:24:12 2006
@@ -52,4 +52,12 @@
      * @return The base URL for the runtime.
      */
     URL getBaseURL();
+
+    /**
+     * Returns whether the runtime considers itself "online" or connected to the internet.
+     * This can be used by services to enable access to remote resources.
+     *
+     * @return true if the runtime is online.
+     */
+    boolean isOnline();
 }

Modified: incubator/tuscany/java/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java Fri Oct 13 15:24:12 2006
@@ -28,11 +28,16 @@
     private final File installDirectory;
     private final File applicationRootDirectory;
     private final URL baseURL;
+    private final boolean online;
 
-    public StandaloneRuntimeInfoImpl(URL baseURL, File installDirectory, File applicationRootDirectory) {
+    public StandaloneRuntimeInfoImpl(URL baseURL, 
+                                     File installDirectory,
+                                     File applicationRootDirectory,
+                                     boolean online) {
         this.baseURL = baseURL;
         this.installDirectory = installDirectory;
         this.applicationRootDirectory = applicationRootDirectory;
+        this.online = online;
     }
 
     public File getInstallDirectory() {
@@ -45,5 +50,9 @@
 
     public URL getBaseURL() {
         return baseURL;
+    }
+
+    public boolean isOnline() {
+        return online;
     }
 }

Modified: incubator/tuscany/java/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java Fri Oct 13 15:24:12 2006
@@ -57,7 +57,7 @@
         context = createMock(ServletContext.class);
 
         runtime = new WebappRuntimeImpl();
-        runtime.setRuntimeInfo(new WebappRuntimeInfoImpl(context, null));
+        runtime.setRuntimeInfo(new WebappRuntimeInfoImpl(context, null, false));
         runtime.setMonitorFactory(new NullMonitorFactory());
         runtime.setHostClassLoader(getClass().getClassLoader());
         runtime.setServletContext(context);

Modified: incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java Fri Oct 13 15:24:12 2006
@@ -47,6 +47,10 @@
      */
     static final String APPLICATION_SCDL_PATH_DEFAULT = "/WEB-INF/default.scdl";
 
+    /**
+     * Servlet context-param name for setting if the runtime is online.
+     */
+    static final String ONLINE_PARAM = "tuscany.online";
 
 
 

Modified: incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java Fri Oct 13 15:24:12 2006
@@ -26,6 +26,7 @@
 
 import org.apache.tuscany.api.TuscanyRuntimeException;
 import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
+import static org.apache.tuscany.runtime.webapp.Constants.ONLINE_PARAM;
 
 /**
  * Launches a Tuscany runtime in a web application, loading information from servlet context parameters. This listener
@@ -55,8 +56,10 @@
             ClassLoader webappClassLoader = Thread.currentThread().getContextClassLoader();
             ClassLoader bootClassLoader = utils.getBootClassLoader(webappClassLoader);
             WebappRuntime runtime = utils.getRuntime(bootClassLoader);
+            boolean online = Boolean.valueOf(utils.getInitParameter(ONLINE_PARAM, "true"));
             WebappRuntimeInfo info = new WebappRuntimeInfoImpl(servletContext,
-                                                               servletContext.getResource("/WEB-INF/tuscany/"));
+                                                               servletContext.getResource("/WEB-INF/tuscany/"),
+                                                               online);
             URL systemScdl = utils.getSystemScdl(bootClassLoader);
             URL applicationScdl = utils.getApplicationScdl(webappClassLoader);
             String name = utils.getApplicationName();

Modified: incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java Fri Oct 13 15:24:12 2006
@@ -28,10 +28,12 @@
 public class WebappRuntimeInfoImpl implements WebappRuntimeInfo {
     private final ServletContext servletContext;
     private final URL baseURL;
+    private final boolean online;
 
-    public WebappRuntimeInfoImpl(ServletContext servletContext, URL baseURL) {
+    public WebappRuntimeInfoImpl(ServletContext servletContext, URL baseURL, boolean online) {
         this.servletContext = servletContext;
         this.baseURL = baseURL;
+        this.online = online;
     }
 
     public ServletContext getServletContext() {
@@ -48,5 +50,9 @@
 
     public File getApplicationRootDirectory() {
         return new File("");
+    }
+
+    public boolean isOnline() {
+        return online;
     }
 }

Modified: incubator/tuscany/java/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java (original)
+++ incubator/tuscany/java/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java Fri Oct 13 15:24:12 2006
@@ -49,6 +49,7 @@
 
         WebappRuntime runtime = createMock(WebappRuntime.class);
         expect(utils.getBootClassLoader(cl)).andReturn(bootClassLoader);
+        expect(utils.getInitParameter("tuscany.online", "true")).andReturn("true");
         expect(utils.getRuntime(bootClassLoader)).andReturn(runtime);
         expect(utils.getSystemScdl(bootClassLoader)).andReturn(systemUrl);
         expect(utils.getApplicationScdl(cl)).andReturn(applicationUrl);

Modified: incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java Fri Oct 13 15:24:12 2006
@@ -56,4 +56,8 @@
     public URL getBaseURL() {
         return null;
     }
+
+    public boolean isOnline() {
+        return true;
+    }
 }

Modified: incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java?view=diff&rev=463855&r1=463854&r2=463855
==============================================================================
--- incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java (original)
+++ incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java Fri Oct 13 15:24:12 2006
@@ -22,14 +22,13 @@
 import java.net.URL;
 import java.util.Set;
 
-import org.apache.tuscany.spi.services.artifact.Artifact;
-import org.apache.tuscany.host.RuntimeInfo;
-
 import junit.framework.TestCase;
 
+import org.apache.tuscany.host.RuntimeInfo;
+import org.apache.tuscany.spi.services.artifact.Artifact;
+
 /**
  * @version $Rev$ $Date$
- *
  */
 public class MavenArtifactRepositoryTestCase extends TestCase {
 
@@ -49,13 +48,25 @@
      * Test method for 'org.apache.tuscany.services.maven.MavenArtifactRepository.resolve(Artifact)'
      */
     public void testResolveArtifact() throws Exception {
-        
+
         final URL BASE_URL = new File(System.getProperty("user.home") + File.separator + ".m2").toURL();
         String remoteRepoUrl = "http://repo1.maven.org/maven2/";
         MavenArtifactRepository repository = new MavenArtifactRepository(remoteRepoUrl, new RuntimeInfo() {
-            public File getApplicationRootDirectory() { return null; }
-            public URL getBaseURL() { return BASE_URL; }
-            public File getInstallDirectory() { return null; }
+            public File getApplicationRootDirectory() {
+                return null;
+            }
+
+            public URL getBaseURL() {
+                return BASE_URL;
+            }
+
+            public File getInstallDirectory() {
+                return null;
+            }
+
+            public boolean isOnline() {
+                return false;
+            }
         });
         Artifact artifact = new Artifact();
         artifact.setGroup("org.apache.maven");



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org