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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]