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