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/21 10:04:27 UTC

svn commit: r936188 - in /tuscany/sca-java-2.x/trunk/modules/node-impl/src: main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java test/resources/test.properties

Author: antelder
Date: Wed Apr 21 08:04:27 2010
New Revision: 936188

URL: http://svn.apache.org/viewvc?rev=936188&view=rev
Log:
Add testcase for properties and add properties to the attributes

Added:
    tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/resources/test.properties
Modified:
    tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
    tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java

Modified: tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java?rev=936188&r1=936187&r2=936188&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java Wed Apr 21 08:04:27 2010
@@ -99,8 +99,7 @@ public class NodeFactoryImpl extends Nod
     protected ExtensionPointRegistry registry;
     protected ProxyFactory proxyFactory;
     protected MonitorFactory monitorFactory;
-
-
+    
     /**
      * Automatically destroy the factory when last node is stopped. Subclasses
      * can set this flag.
@@ -471,6 +470,14 @@ public class NodeFactoryImpl extends Nod
         for (Map.Entry<String, Map<String, String>> e : attributes.entrySet()) {
             discovery.setAttribute(e.getKey(), e.getValue());
         }
+        for (Object o : properties.keySet()) {
+            String p = (String) o;
+            if (p.indexOf('.') > -1) {
+                String serviceType = p.substring(0, p.lastIndexOf('.'));
+                String attribute = p.substring(p.lastIndexOf('.')+1);
+                discovery.setAttribute(serviceType, attribute, properties.getProperty(p));
+            }
+        }
         super.configure(attributes);
     }
     

Modified: tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java?rev=936188&r1=936187&r2=936188&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java Wed Apr 21 08:04:27 2010
@@ -30,14 +30,18 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.extensibility.ServiceDeclarationParser;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.node.Contribution;
 import org.apache.tuscany.sca.node.Node;
 import org.apache.tuscany.sca.node.NodeFactory;
 import org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint;
+import org.apache.tuscany.sca.runtime.RuntimeProperties;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -146,6 +150,63 @@ public class NodeImplTestCase {
     }
     
     @Test
+    public void testNodeFactoryProperties() throws Exception {
+        NodeFactoryImpl factory = (NodeFactoryImpl)NodeFactory.newInstance();
+        factory.init();
+        UtilityExtensionPoint utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        Properties ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(1, ps.size());
+        Assert.assertEquals("vm", ps.getProperty("defaultScheme"));
+
+        Properties properties = new Properties();
+        properties.setProperty("foo.bla", "some value");
+        factory = (NodeFactoryImpl)NodeFactory.newInstance(properties);
+        factory.init();
+        utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(1, ps.size());
+        Assert.assertEquals("some value", ps.getProperty("foo.bla"));
+        
+        factory = (NodeFactoryImpl)NodeFactory.newInstance("properties:test.properties");
+        factory.init();
+        utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(1, ps.size());
+        Assert.assertEquals("xyz", ps.getProperty("foo.bla"));
+        
+        factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:foo?k1=v1&k2=v2");
+        factory.init();
+        utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(3, ps.size());
+        Assert.assertEquals("foo", ps.getProperty("defaultDomainName"));
+        Assert.assertEquals("v1", ps.getProperty("k1"));
+        Assert.assertEquals("v2", ps.getProperty("k2"));
+        
+        factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:");
+        factory.init();
+        utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(1, ps.size());
+        Assert.assertEquals("", ps.getProperty("defaultDomainName"));
+
+        factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:?");
+        factory.init();
+        utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(1, ps.size());
+        Assert.assertEquals("", ps.getProperty("defaultDomainName"));
+        
+        factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:?foo");
+        factory.init();
+        utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class);
+        ps = utilities.getUtility(RuntimeProperties.class).getProperties();
+        Assert.assertEquals(2, ps.size());
+        Assert.assertEquals("", ps.getProperty("defaultDomainName"));
+        Assert.assertEquals("", ps.getProperty("foo"));
+    }
+
+    @Test
     public void testLoadNodeFactoryProperties() throws Exception {
         URL url = getClass().getResource("/org/apache/tuscany/sca/node/configuration/test-node-factory.config");
         Collection<Map<String, String>> items = ServiceDeclarationParser.load(url, false);

Added: tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/resources/test.properties
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/resources/test.properties?rev=936188&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/resources/test.properties (added)
+++ tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/resources/test.properties Wed Apr 21 08:04:27 2010
@@ -0,0 +1,2 @@
+foo.bla = xyz
+