Author: rfeng
Date: Fri Jan 30 07:07:16 2009
New Revision: 739196

URL: http://svn.apache.org/viewvc?rev=739196&view=rev
Log:
Revert the changes to pass args[] into EquinoxHost. We should use system 
properties or config.ini instead

Modified:
    
tuscany/java/sca/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java

Modified: 
tuscany/java/sca/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java?rev=739196&r1=739195&r2=739196&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java
 (original)
+++ 
tuscany/java/sca/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java
 Fri Jan 30 07:07:16 2009
@@ -54,7 +54,7 @@
     protected void setUp() throws Exception {
         // domain = 
SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransferservice.composite");
         // Tuscany specific code which starts the contribution holding the test
-        launcher = NodeLauncher.newInstance(null);
+        launcher = NodeLauncher.newInstance();
         node = launcher.createNode("filetransferservice.composite", // 
testConfiguration.getComposite(), 
                                    new 
Contribution("FileTransferMTOMTestCase", getContributionURI()));
     }

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java?rev=739196&r1=739195&r2=739196&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
 Fri Jan 30 07:07:16 2009
@@ -83,7 +83,7 @@
         try {
 
             // Start the OSGi host 
-            equinox = new EquinoxHost(args);
+            equinox = new EquinoxHost();
             equinox.start();
 
             // Start the domain manager

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java?rev=739196&r1=739195&r2=739196&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
 Fri Jan 30 07:07:16 2009
@@ -38,6 +38,7 @@
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -74,8 +75,6 @@
     private List<Bundle> installedBundles = new ArrayList<Bundle>();
 
     private Set<URL> bundleLocations;
-    private String[] arguments = {};
-
     public EquinoxHost() {
         super();
     }
@@ -85,13 +84,6 @@
         this.bundleLocations = urls;
     }
     
-    public EquinoxHost(String[] args) {
-        super();
-        if (args != null) {
-            this.arguments = args;
-        }
-    }    
-    
     private static String getSystemProperty(final String name) {
         return AccessController.doPrivileged(new PrivilegedAction<String>() {
             public String run() {
@@ -99,6 +91,29 @@
             }
         });
     }
+    
+    private static Properties getSystemProperties() {
+        return AccessController.doPrivileged(new 
PrivilegedAction<Properties>() {
+            public Properties run() {
+                Properties props = new Properties();
+                for (Map.Entry<Object, Object> e : 
System.getProperties().entrySet()) {
+                    if (e.getKey() instanceof String) {
+                        String prop = (String)e.getKey();
+                        if (prop.startsWith("osgi.") || 
prop.startsWith("eclipse.")) {
+                            props.put(prop, e.getValue());
+                        }
+                    }
+                }
+                return props;
+            }
+        });
+    } 
+    
+    private static void put(Properties props, String key, String value) {
+        if (!props.contains(key)) {
+            props.put(key, value);
+        }
+    }
 
     /**
      * Start the Equinox host.
@@ -120,13 +135,16 @@
                     props.load(is);
                     is.close();
                 }
+                
+                props.putAll(getSystemProperties());
+                
                 // Configure Eclipse properties
 
                 // Use the boot classloader as the parent classloader
-                props.put("osgi.contextClassLoaderParent", "app");
+                put(props, "osgi.contextClassLoaderParent", "app");
 
                 // Set startup properties
-                props.put(EclipseStarter.PROP_CLEAN, "true");
+                put(props, EclipseStarter.PROP_CLEAN, "true");
 
                 // Set location properties
                 // FIXME Use proper locations
@@ -135,23 +153,27 @@
                 if (logger.isLoggable(Level.FINE)) {
                     logger.fine("Equinox location: " + root);
                 }
-                if (!props.contains(LocationManager.PROP_INSTANCE_AREA)) {
-                    props.put(LocationManager.PROP_INSTANCE_AREA, new 
File(root, "workspace").toURI().toString());
-                }
-                if (!props.contains(LocationManager.PROP_INSTALL_AREA)) {
-                    props.put(LocationManager.PROP_INSTALL_AREA, new 
File(root, "install").toURI().toString());
-                }
-                if (!props.contains(LocationManager.PROP_CONFIG_AREA)) {
-                    props.put(LocationManager.PROP_CONFIG_AREA, new File(root, 
"config").toURI().toString());
-                }
-                if (!props.contains(LocationManager.PROP_USER_AREA)) {
-                    props.put(LocationManager.PROP_USER_AREA, new File(root, 
"user").toURI().toString());
-                }
+
+                put(props, LocationManager.PROP_INSTANCE_AREA, new File(root, 
"workspace").toURI().toString());
+                put(props, LocationManager.PROP_INSTALL_AREA, new File(root, 
"install").toURI().toString());
+                put(props, LocationManager.PROP_CONFIG_AREA, new File(root, 
"config").toURI().toString());
+                put(props, LocationManager.PROP_USER_AREA, new File(root, 
"user").toURI().toString());
 
                 EclipseStarter.setInitialProperties(props);
+                
+                // Test if the configuration/config.ini or osgi.bundles has 
been set
+                // If yes, try to avoid discovery of bundles
+                if (bundleLocations == null) {
+                    String config = 
props.getProperty(LocationManager.PROP_CONFIG_AREA);
+                    File ini = new File(config, "config.ini");
+                    if (ini.isFile() || props.getProperty("osgi.bundles") != 
null) {
+                        bundleLocations = Collections.emptySet();
+                    }
+                }
+                
 
                 // Start Eclipse
-                bundleContext = EclipseStarter.startup(arguments, null);
+                bundleContext = EclipseStarter.startup(new String[] {}, null);
                 startedEclipse = true;
 
             } else {
@@ -381,8 +403,4 @@
         this.bundleLocations = bundleLocations;
     }
 
-    public void setArguments(String[] arguments) {
-        this.arguments = arguments;
-    }
-
 }

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java?rev=739196&r1=739195&r2=739196&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
 Fri Jan 30 07:07:16 2009
@@ -72,7 +72,7 @@
         try {
 
             // Start the OSGi host 
-            equinox = new EquinoxHost(args);
+            equinox = new EquinoxHost();
             equinox.start();
 
             // Start the node

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java?rev=739196&r1=739195&r2=739196&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
 Fri Jan 30 07:07:16 2009
@@ -41,8 +41,8 @@
     /**
      * Constructs a new node launcher.
      */
-    private NodeLauncher(String args[]) {
-        equinoxHost = new EquinoxHost(args);
+    private NodeLauncher() {
+        equinoxHost = new EquinoxHost();
         bundleContext = equinoxHost.start();
     }
 
@@ -51,13 +51,10 @@
      *  
      * @return a new launcher instance
      */
-    public static NodeLauncher newInstance(String[] args) {
-        return new NodeLauncher(args);
+    public static NodeLauncher newInstance() {
+        return new NodeLauncher();
     }
 
-    public static NodeLauncher newInstance() {
-        return new NodeLauncher(null);
-    }    
     /**
      * Creates a new SCA node from the configuration URL
      * 
@@ -104,7 +101,7 @@
         logger.info("Apache Tuscany SCA Node is starting...");
 
         // Create a node launcher
-        NodeLauncher launcher = newInstance(args);
+        NodeLauncher launcher = newInstance();
 
         EquinoxHost equinox = launcher.equinoxHost;
         Object node = null;

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java?rev=739196&r1=739195&r2=739196&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
 Fri Jan 30 07:07:16 2009
@@ -34,7 +34,7 @@
     @BeforeClass
     public static void setUp() {
         try {
-            launcher = NodeLauncher.newInstance(null);
+            launcher = NodeLauncher.newInstance();
         } catch (Exception e) {
             e.printStackTrace();
         }


Reply via email to