You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/04/13 12:12:18 UTC

svn commit: r933537 - /tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java

Author: antelder
Date: Tue Apr 13 10:12:18 2010
New Revision: 933537

URL: http://svn.apache.org/viewvc?rev=933537&view=rev
Log:
Add a NodeFactory newInstance method that takes a Properties object instead of a map or maps to configure the runtime, which makes it easier to use

Modified:
    tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java

Modified: tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java?rev=933537&r1=933536&r2=933537&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java Tue Apr 13 10:12:18 2010
@@ -31,8 +31,10 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 
 import org.apache.tuscany.sca.node.configuration.DefaultNodeConfigurationFactory;
 import org.apache.tuscany.sca.node.configuration.NodeConfiguration;
@@ -192,6 +194,28 @@ public abstract class NodeFactory extend
         return nodeFactory;
     }
 
+    public static NodeFactory newInstance(Properties properties) {
+        Map<String, Map<String, String>> attributes = new HashMap<String, Map<String,String>>();
+        for (String key : properties.stringPropertyNames()) {
+            int i = key.lastIndexOf('.');
+            String mk, m2k;
+            if (i > -1) {
+                mk = key.substring(0, i);
+                m2k = key.substring(i+1);
+            } else {
+                mk = "system";
+                m2k = key;
+            }
+            Map<String,String> m2 = attributes.get(mk);
+            if (m2 == null) {
+                m2 = new HashMap<String, String>();
+                attributes.put(mk, m2);
+            }
+            m2.put(m2k, properties.getProperty(key));
+        }
+        return newInstance(attributes);
+    }
+
     /**
      * Configure the NodeFactory instance
      * @param attributes