summaryrefslogtreecommitdiffstats
path: root/java/sca/vtest/java-api
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/vtest/java-api')
-rw-r--r--java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java4
-rw-r--r--java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java11
-rw-r--r--java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java (renamed from java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AnotherAServiceImpl.java)16
-rw-r--r--java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite7
-rw-r--r--java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java20
-rw-r--r--java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java3
-rw-r--r--java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java3
-rw-r--r--java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java3
-rw-r--r--java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java121
-rw-r--r--java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite7
-rw-r--r--java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java3
-rw-r--r--java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite1
12 files changed, 190 insertions, 9 deletions
diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java
index 3322b542a9..b28704a3b4 100644
--- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java
+++ b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java
@@ -48,4 +48,8 @@ public interface AService {
public boolean isB7SetterCalled();
public boolean isB16Null();
public boolean isB17Null();
+
+ public boolean isB4Null();
+ public boolean isB5Null();
+ public boolean isB6Null();
}
diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java
index 916ee25d7a..67299d322d 100644
--- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java
+++ b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java
@@ -201,4 +201,15 @@ public class AServiceImpl implements AService {
return b17 == null;
}
+ public boolean isB4Null() {
+ return b4 == null;
+ }
+
+ public boolean isB5Null() {
+ return b5 == null;
+ }
+
+ public boolean isB6Null() {
+ return b6 == null;
+ }
}
diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AnotherAServiceImpl.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java
index 82cd8014cd..a819dfd87d 100644
--- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AnotherAServiceImpl.java
+++ b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java
@@ -24,7 +24,7 @@ import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService;
import org.osoa.sca.annotations.Service;
@Service(AService.class)
-public class AnotherAServiceImpl implements AService {
+public class AUnannotatedServiceImpl implements AService {
public BService b4; // field injection (public, un-annotated)
@@ -32,7 +32,7 @@ public class AnotherAServiceImpl implements AService {
public BService b6; // setter injection (public, un-annotated)
- public AnotherAServiceImpl() {
+ public AUnannotatedServiceImpl() {
}
public String getName() {
@@ -126,4 +126,16 @@ public class AnotherAServiceImpl implements AService {
public boolean isB17Null() {
return true;
}
+
+ public boolean isB4Null() {
+ return b4 == null;
+ }
+
+ public boolean isB5Null() {
+ return b5 == null;
+ }
+
+ public boolean isB6Null() {
+ return b6 == null;
+ }
}
diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite b/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite
index 9937173894..b4ad1e77d5 100644
--- a/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite
+++ b/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite
@@ -26,9 +26,6 @@
<reference name="b1" target="BComponent"/>
<reference name="b2" target="BComponent"/>
<reference name="b3" target="BComponent"/>
- <reference name="b4" target="BComponent"/>
- <reference name="b5" target="BComponent"/>
- <reference name="b6" target="BComponent"/>
<reference name="b7" target="BComponent"/>
<reference name="b8" target="BComponent"/>
<reference name="b9" target="BComponent"/>
@@ -40,8 +37,8 @@
<reference name="b15" multiplicity="1..n" target="BComponent BComponent"/>
</component>
- <component name="AnotherAComponent">
- <implementation.java class="org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl.AnotherAServiceImpl"/>
+ <component name="AUnannotatedComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl.AUnannotatedServiceImpl"/>
<reference name="b4" target="BComponent"/>
<reference name="b5" target="BComponent"/>
<reference name="b6" target="BComponent"/>
diff --git a/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java
index a399d892cb..1fe50b4ea7 100644
--- a/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java
+++ b/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java
@@ -110,7 +110,12 @@ public class ReferenceAnnotationTestCase {
*/
@Test
public void atReference2() throws Exception {
- AService anotherA = ServiceFinder.getService(AService.class, "AnotherAComponent");
+ AService anotherA = ServiceFinder.getService(AService.class, "AUnannotatedComponent");
+
+ Assert.assertFalse(anotherA.isB4Null());
+ Assert.assertTrue(anotherA.isB5Null());
+ Assert.assertFalse(anotherA.isB6Null());
+
Assert.assertEquals("BService", anotherA.getB4Name());
try {
anotherA.getB5Name();
@@ -208,4 +213,17 @@ public class ReferenceAnnotationTestCase {
Assert.assertTrue(a.isB16Null());
Assert.assertTrue(a.isB17Null());
}
+
+ /**
+ * Java Component Implementation Spec
+ * Section 1.2.7
+ * Line 361 when @Property and @Reference annotations are present
+ * then unannotated fields are ignored
+ */
+ @Test
+ public void atReference8() throws Exception {
+ Assert.assertTrue(a.isB4Null());
+ Assert.assertTrue(a.isB5Null());
+ Assert.assertTrue(a.isB6Null());
+ }
}
diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java
index 255d91e168..eff7cc5a88 100644
--- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java
+++ b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java
@@ -19,9 +19,12 @@
package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext;
+import org.osoa.sca.annotations.Remotable;
+
/**
* Simple Service B.
*/
+@Remotable
public interface BService {
String getBName();
diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java
index 597dca0ea5..a221ba11fc 100644
--- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java
+++ b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java
@@ -19,6 +19,9 @@
package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
public interface DComponent {
public String getName();
diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java
index 318b6ae0dd..606443a480 100644
--- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java
+++ b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java
@@ -45,6 +45,9 @@ public class AComponentImpl implements AComponent {
@Reference
protected BService bReference;
+
+ @Reference
+ protected DComponent dReference;
@Property(name="aProperty", required=true)
protected String aProperty;
diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java
new file mode 100644
index 0000000000..34a71e1318
--- /dev/null
+++ b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl;
+
+import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.AComponent;
+import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService;
+import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent;
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ComponentContext;
+import org.osoa.sca.RequestContext;
+import org.osoa.sca.ServiceReference;
+import org.osoa.sca.annotations.Context;
+import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+@Service(AComponent.class)
+@Scope("COMPOSITE")
+@EagerInit
+public class AUnannotatedComponentImpl implements AComponent {
+
+ public static String rcContent = null;
+
+ protected ComponentContext componentContext;
+
+ protected BService bReference;
+
+ protected DComponent dReference;
+
+ protected String aProperty;
+
+ public String getName() {
+ return "ComponentA";
+ }
+
+ @Context
+ public void setComponentContext(ComponentContext context) {
+ this.componentContext = context;
+ }
+
+ @Init
+ public void init() {
+ RequestContext rc = componentContext.getRequestContext();
+ if (rc != null) {
+ rcContent = "NotNull";
+ } else {
+ rcContent = "Null";
+ }
+ }
+
+ public String getContextURI() {
+ return componentContext.getURI();
+ }
+
+ public String getServiceBName() {
+ return componentContext.getService(BService.class, "bReference").getBName();
+ }
+
+ public String getServiceReferenceBName() {
+ ServiceReference<BService> bSR = componentContext.getServiceReference(BService.class, "bReference");
+ return bSR.getService().getBName();
+ }
+
+ public String getSelfReferenceName() {
+ ServiceReference<AComponent> aSR = componentContext.createSelfReference(AComponent.class);
+ return aSR.getService().getName();
+ }
+
+ public String getProperty() {
+ return componentContext.getProperty(String.class, "aProperty");
+ }
+
+ public String getRequestContextServiceName() {
+ return componentContext.getRequestContext().getServiceName();
+ }
+
+ public String getCastCallableReferenceServiceName() {
+ BService b = componentContext.getService(BService.class, "bReference");
+ CallableReference<BService> bCR = componentContext.cast(b);
+ return bCR.getService().getBName();
+ }
+
+ public String getCastServiceReferenceServiceName() {
+ BService b = componentContext.getService(BService.class, "bReference");
+ ServiceReference<BService> bSR = componentContext.cast(b);
+ return bSR.getService().getBName();
+ }
+
+ public void illegalCast() {
+ componentContext.cast("");
+ }
+
+ public String testServiceLookup() {
+ return componentContext.getService(DComponent.class, "dReference").getName();
+ }
+
+ public String getRequestContextContent() {
+ return rcContent;
+ }
+
+}
diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite b/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite
index 695922e9ec..19f110d5dc 100644
--- a/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite
+++ b/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite
@@ -28,6 +28,13 @@
<reference name="dReference" target="DComponent"/>
<property name="aProperty" type="xsd:string">PropertyA</property>
</component>
+
+ <component name="AUnannotatedComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl.AUnannotatedComponentImpl"/>
+ <reference name="bReference" target="BComponent/BService"/>
+ <reference name="dReference" target="DComponent"/>
+ <property name="aProperty" type="xsd:string">PropertyA</property>
+ </component>
<component name="BComponent">
<implementation.java class="org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl.BComponentImpl"/>
diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java b/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java
index 5f39638e5c..9bfe0c06e7 100644
--- a/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java
+++ b/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java
@@ -35,6 +35,7 @@ public class ComponentContextTestCase {
protected static String compositeName = "ab.composite";
protected static AComponent a;
+ protected static AComponent aUnannotated;
protected static BService b;
@BeforeClass
@@ -43,6 +44,7 @@ public class ComponentContextTestCase {
System.out.println("Setting up");
ServiceFinder.init(compositeName);
a = ServiceFinder.getService(AComponent.class, "AComponent");
+ aUnannotated = ServiceFinder.getService(AComponent.class, "AUnannotatedComponent");
b = ServiceFinder.getService(BService.class, "BComponent/BService");
} catch (Exception e) {
e.printStackTrace();
@@ -65,6 +67,7 @@ public class ComponentContextTestCase {
@Test
public void testGetURI() throws Exception {
Assert.assertEquals("AComponent", a.getContextURI());
+ Assert.assertEquals("AUnannotatedComponent", aUnannotated.getContextURI());
}
/**
diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite b/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite
index 6e6c08c185..21ee8acac1 100644
--- a/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite
+++ b/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite
@@ -24,7 +24,6 @@
<implementation.java
class="org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl.AServiceImpl" />
<reference name="b" target="BComponent" />
- <reference name="c" target="CComponent" />
<reference name="d" target="DComponent" />
</component>