You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/11/17 09:17:36 UTC

svn commit: r476072 - in /incubator/tuscany/java/sca/kernel/spi/src: main/java/org/apache/tuscany/spi/component/ test/java/org/apache/tuscany/spi/component/

Author: jmarino
Date: Fri Nov 17 00:17:34 2006
New Revision: 476072

URL: http://svn.apache.org/viewvc?view=rev&rev=476072
Log:
add support for SCAObject canonical names used for things such as tracking persisted instances

Modified:
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AbstractSCAObject.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/SCAObject.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/component/AbstractSCAObjectTestCase.java

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AbstractSCAObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AbstractSCAObject.java?view=diff&rev=476072&r1=476071&r2=476072
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AbstractSCAObject.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AbstractSCAObject.java Fri Nov 17 00:17:34 2006
@@ -42,6 +42,7 @@
     protected final CompositeComponent parent;
     private final String name;
     private final Map<Object, Object> extensions = new HashMap<Object, Object>();
+    private String cannonicalName;
 
     public AbstractSCAObject(String name, CompositeComponent parent) {
         this.name = name;
@@ -50,6 +51,17 @@
 
     public String getName() {
         return name;
+    }
+
+    public String getCanonicalName() {
+        if (cannonicalName == null) {
+            StringBuffer b = new StringBuffer(name);
+            if (parent != null) {
+                b.insert(0, parent.getCanonicalName() + "/");
+            }
+            cannonicalName = b.toString();
+        }
+        return cannonicalName;
     }
 
     public CompositeComponent getParent() {

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/SCAObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/SCAObject.java?view=diff&rev=476072&r1=476071&r2=476072
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/SCAObject.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/SCAObject.java Fri Nov 17 00:17:34 2006
@@ -37,6 +37,11 @@
     String getName();
 
     /**
+     * Returns the canonical artifact name
+     */
+    String getCanonicalName();
+
+    /**
      * Returns the parent composite, or null if the artifact does not have one
      */
     CompositeComponent getParent();

Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/component/AbstractSCAObjectTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/component/AbstractSCAObjectTestCase.java?view=diff&rev=476072&r1=476071&r2=476072
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/component/AbstractSCAObjectTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/component/AbstractSCAObjectTestCase.java Fri Nov 17 00:17:34 2006
@@ -89,6 +89,13 @@
         object.prepare();
     }
 
+    public void testCanonicalName() {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        EasyMock.expect(parent.getCanonicalName()).andReturn("foo");
+        EasyMock.replay(parent);
+        TestSCAObject test = new TestSCAObject("bar", parent);
+        assertEquals("foo/bar", test.getCanonicalName());
+    }
 
     private class TestSCAObject extends AbstractSCAObject {
         public TestSCAObject(String name, CompositeComponent parent) {



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