You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by kw...@apache.org on 2008/04/04 23:28:26 UTC
svn commit: r644938 - in
/incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src:
main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/
main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/
main/resourc...
Author: kwilliams
Date: Fri Apr 4 14:28:25 2008
New Revision: 644938
URL: http://svn.apache.org/viewvc?rev=644938&view=rev
Log:
Applying Gilbert's patch for TUSCANY-2199
Modified:
incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java
incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java
incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite
incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java
Modified: incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java?rev=644938&r1=644937&r2=644938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java Fri Apr 4 14:28:25 2008
@@ -34,7 +34,17 @@
public String getB7Name();
public String getB8Name();
public String getB9Name();
-
+ public String getB10Name();
+ public String getB11Name();
+ public String getB12Name();
+ public String getB13Name(int i);
+ public String getB14Name(int i);
+ public String getB15Name(int i);
+
+ public int getB13Size();
+ public int getB14Size();
+ public int getB15Size();
+
public boolean isB7SetterCalled();
}
Modified: incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java?rev=644938&r1=644937&r2=644938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java Fri Apr 4 14:28:25 2008
@@ -19,6 +19,8 @@
package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl;
+import java.util.List;
+
import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.AService;
import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService;
import org.osoa.sca.annotations.Reference;
@@ -48,6 +50,22 @@
protected BService bNine; // setter injection (different reference and field name)
+ @Reference(required=false)
+ protected BService b10; // multiplicity="0..1" and required=false
+
+ @Reference(required=false)
+ protected BService b11; // multiplicity="1..1" and required=false
+
+ protected BService b12; // multiplicity="1..1" and required=true at setter
+
+ @Reference(required=false)
+ protected List<BService> b13; // multiplicity="0..n" and required=false
+
+ protected List<BService> b14; // multiplicity="1..n" and required=false at setter
+
+ @Reference(name="b15", required=true)
+ protected BService[] b15s; // multiplicity="1..n" and required=true
+
protected boolean b7SetterCalled;
public AServiceImpl(@Reference(name = "b2")
@@ -77,6 +95,16 @@
this.bNine = bNine;
}
+ @Reference(required=true)
+ public void setB12(BService b12) {
+ this.b12 = b12;
+ }
+
+ @Reference(required=true)
+ public void setB14(List<BService> b14) {
+ this.b14 = b14;
+ }
+
public String getName() {
return "AService";
}
@@ -117,7 +145,46 @@
return bNine.getName();
}
+ public String getB10Name() {
+ return b10.getName();
+ }
+
+ public String getB11Name() {
+ return b11.getName();
+ }
+
+ public String getB12Name() {
+ return b12.getName();
+ }
+
+ public String getB13Name(int i) {
+ BService b = (BService) b13.get(i);
+ return b.getName();
+ }
+
+ public String getB14Name(int i) {
+ BService b = (BService) b14.get(i);
+ return b.getName();
+ }
+
+ public String getB15Name(int i) {
+ return b15s[i].getName();
+ }
+
+ public int getB13Size() {
+ return b13.size();
+ }
+
+ public int getB14Size() {
+ return b14.size();
+ }
+
+ public int getB15Size() {
+ return b15s.length;
+ }
+
public boolean isB7SetterCalled() {
return b7SetterCalled;
}
+
}
Modified: incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite?rev=644938&r1=644937&r2=644938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite (original)
+++ incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite Fri Apr 4 14:28:25 2008
@@ -32,7 +32,13 @@
<reference name="b7" target="BComponent"/>
<reference name="b8" target="BComponent"/>
<reference name="b9" target="BComponent"/>
- </component>
+ <reference name="b10" multiplicity="0..1" target="BComponent"/>
+ <reference name="b11" multiplicity="1..1" target="BComponent"/>
+ <reference name="b12" multiplicity="1..1" target="BComponent"/>
+ <reference name="b13" multiplicity="0..n" target=""/>
+ <reference name="b14" multiplicity="1..n" target="BComponent"/>
+ <reference name="b15" multiplicity="1..n" target="BComponent BComponent"/>
+ </component>
<component name="BComponent">
<implementation.java class="org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl.BServiceImpl"/>
Modified: incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java?rev=644938&r1=644937&r2=644938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java Fri Apr 4 14:28:25 2008
@@ -30,7 +30,7 @@
/**
* This test class tests the "@Reference" annotation described in section
- * 1.8.1.4
+ * 1.8.14
*/
public class ReferenceAnnotationTestCase {
@@ -44,7 +44,7 @@
System.out.println("Setting up");
domain = SCADomain.newInstance(compositeName);
a = domain.getService(AService.class, "AComponent");
-
+
} catch (Exception ex) {
ex.printStackTrace();
}
@@ -151,12 +151,51 @@
* Reference and field have different names<br>
* B8 is field injected<br>
* B9 is setter injected
- *
- * @TODO - Would be best to explicitly test "required" attribute
*/
@Test
public void atReference4() throws Exception {
Assert.assertEquals("BService", a.getB8Name());
Assert.assertEquals("BService", a.getB9Name());
+ }
+
+ /**
+ * Lines 1457 to 1459<br>
+ * If the reference is not an array or collection, then the implied
+ * component type has a reference with a multiplicity of either 0..1 or
+ * 1..1 depending on the value of the @Reference required attribute
+ * 1..1 applies if required=true.<br>
+ * <p>
+ * B10 is field injected, required=false, and multiplicity="0..1"<br>
+ * B11 is field injected, required=false, and multiplicity="1..1"<br>
+ * B12 is setter injected, required=true, and multiplicity="1..1"
+
+ */
+ @Test
+ public void atReference5() throws Exception {
+ Assert.assertEquals("BService", a.getB10Name());
+ Assert.assertEquals("BService", a.getB11Name());
+ Assert.assertEquals("BService", a.getB12Name());
+ }
+
+ /**
+ * Lines 1461 to 1463<br>
+ * If the reference is defined as an array or as a java.util.Collection,
+ * then the implied component type has a reference with a multiplicity of
+ * either 1..n or 0..n, depending on whether the required attribute of the
+ * "@Reference" annotation is set to true or false 1..n applies if
+ * required=true.<br>
+ * <p>
+ * B13 is a java.util.List, field injected, required=false, multiplicity="0..n", and no target<br>
+ * B14 is a java.util.List, setter injected, required=true, multiplicity="1..n", and one target<br>
+ * B15 is an array, field injected, required=true, multiplicity="1..n", and two targets
+ */
+ @Test
+ public void atReference6() throws Exception {
+ Assert.assertEquals(0, a.getB13Size());
+ Assert.assertEquals("BService", a.getB14Name(0));
+ Assert.assertEquals(1, a.getB14Size());
+ Assert.assertEquals("BService", a.getB15Name(0));
+ Assert.assertEquals("BService", a.getB15Name(1));
+ Assert.assertEquals(2, a.getB15Size());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org