diff options
Diffstat (limited to 'branches/sca-java-20080910/vtest/java-api/annotations/property')
17 files changed, 0 insertions, 1636 deletions
diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/pom.xml b/branches/sca-java-20080910/vtest/java-api/annotations/property/pom.xml deleted file mode 100644 index 3d4781846a..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>java-api-annotations</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>vtest-java-api-annotations-property</artifactId> - <name>Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Property</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> - - </dependencies> -</project> diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java deleted file mode 100644 index 5cfea1b099..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * 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.annotations.property; - -/** - * Simple Service - */ -public interface AService { - - public String getName(); - - public String getP1(); - - public String getP2(); - - public String getP3(); - - public String getP4(); - - public String getP5(); - - public String getP6(); - - public String getP7AString(); - - public int getP7BInt(); - - public String getP8AString(); - - public int getP8BInt(); - - public String getP9AString(); - - public int getP9BInt(); - - public String getP10AString(); - - public int getP10BInt(); - - public String getP11AString(); - - public int getP11BInt(); - - public String getP12AString(); - - public int getP12BInt(); - - public String getP15(); - - public String getP16(); - - public String getP17(); - - public String getP18(); - - public int getP19Size(); - - public String getP20(int i); - - public int getP20Size(); - - public int getP21(int i); - - public int getP21Size(); - -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java deleted file mode 100644 index 5ddc59f8b6..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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.annotations.property; - -/** - * Simple Service - */ -public interface AnotherAService { - - public String getName(); - - public String getP13(); - - public String getP14(); - - public String getP22(); - - public String getP23(); - - public String getP24(); - - public String getP25(); - - public boolean getP14SetterIsCalled(); - - public boolean getP23SetterIsCalled(); - - public boolean getP24SetterIsCalled(); - - public boolean getP25SetterIsCalled(); - -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java deleted file mode 100644 index 99fb842a9a..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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.annotations.property; - -import org.osoa.sca.annotations.Remotable; - - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - String getName(); - -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java deleted file mode 100644 index 5de3b5fcff..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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.annotations.property; - - -/** - * Simple Service used by another service - */ -public interface CService { - - String getName(); - - public String getB1Name(); - - public String getP2(); - - public int getP3(); - - public String getP4(); - - public String getConstructor(); -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java deleted file mode 100644 index f30c4c69fc..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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.annotations.property.impl; - -/** - * A simple object to hold a string - */ -public class AObject { - - public String aString; - public int bInt; - - public AObject() { - this.aString = null; - this.bInt = 0; - } - -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java deleted file mode 100644 index b385083533..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * 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.annotations.property.impl; - -import java.util.List; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.AService; -import org.osoa.sca.annotations.Service; -import org.osoa.sca.annotations.Property; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Property - protected String p1; // simple Java type injected via field - - @Property - public String p2; // simple Java type injected via field - - protected String p3; // simple Java type injected via setter - - public String p4; // simple Java type injected via setter - - protected String p5; // simple Java type injected via constructor parameter - - public String p6; // simple Java type injected via constructor parameter - - @Property(required=true) - protected AObject p7; // complex Java type injected via field - - @Property - public AObject p8; // complex Java type injected via field - - protected AObject p9; // complex Java type injected via setter - - public AObject p10; // complex Java type injected via setter - - protected AObject p11; // complex Java type injected via constructor parameter - - public AObject p12; // complex Java type injected via constructor parameter - - @Property(name="pFifteen") - protected String p15; // injected via field with different name - - protected String p16; // injected via setter with different name - - @Property(name="p17", required=false) - public String p17; // injected via field but not defined in composite - - public String p18; // injected via setter but not defined in composite - - @Property(name="p19", required=true) - public List<String> p19; // a List and injected via field with no element - - public List<String> p20; // a List and injected via setter - - @Property(required=false) - public Integer[] p21; // an array and injected via field - - public String getName() { - return "AService"; - } - - public AServiceImpl( - @Property(name = "p5") String p5, - @Property(name = "p6") String p6, - @Property(name = "p11") AObject p11, - @Property(name = "p12") AObject p12 - ) { - super(); - this.p5 = p5; - this.p6 = p6; - this.p11 = p11; - this.p12 = p12; - } - - @Property - public void setP3(String p3) { - this.p3 = p3; - } - - @Property(required=true) - public void setP4(String p4) { - this.p4 = p4; - } - - @Property - public void setP9(AObject p9) { - this.p9 = p9; - } - - @Property - public void setP10(AObject p10) { - this.p10 = p10; - } - - @Property(name="pSixteen") - public void setP16(String p16) { - this.p16 = p16; - } - - @Property(name="p18", required=false) - public void setP18(String p18) { - this.p18 = p18; - } - - @Property(name="p20", required=true) - public void setP20(List<String> p20) { - this.p20 = p20; - } - - public String getP1() { - return p1; - } - - public String getP2() { - return p2; - } - - public String getP3() { - return p3; - } - - public String getP4() { - return p4; - } - - public String getP5() { - return p5; - } - - public String getP6() { - return p6; - } - - public String getP7AString() { - return p7.aString; - } - - public int getP7BInt() { - return p7.bInt; - } - - public String getP8AString() { - return p8.aString; - } - - public int getP8BInt() { - return p8.bInt; - } - - public String getP9AString() { - return p9.aString; - } - - public int getP9BInt() { - return p9.bInt; - } - - public String getP10AString() { - return p10.aString; - } - - public int getP10BInt() { - return p10.bInt; - } - - public String getP11AString() { - return p11.aString; - } - - public int getP11BInt() { - return p11.bInt; - } - - public String getP12AString() { - return p12.aString; - } - - public int getP12BInt() { - return p12.bInt; - } - - public String getP15() { - return p15; - } - - public String getP16() { - return p16; - } - - public String getP17() { - return p17; - } - - public String getP18() { - return p18; - } - - public int getP19Size() { - return p19.size(); - } - - public String getP20(int i) { - return p20.get(i); - } - - public int getP20Size() { - return p20.size(); - } - - public int getP21(int i) { - return p21[i].intValue(); - } - - public int getP21Size() { - return p21.length; - } - -} - - - diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java deleted file mode 100644 index fd1ba5ee52..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.AnotherAService; -import org.osoa.sca.annotations.Service; - -@Service(AnotherAService.class) -public class AnotherAServiceImpl implements AnotherAService { - - public String p13; // injected via field and un-annotated - - public String p14; // injected via setter and un-annotated - - protected String p22; // unannotated protected field should not be injected - - protected String p23; // un-annotated protected and has protected setter - - protected String p24; // un-annotated protected field and has public setter - - private String p25; // un-annotated private field and has public setter - - public boolean p14SetterIsCalled = false; - - public boolean p23SetterIsCalled = false; - - public boolean p24SetterIsCalled = false; - - public boolean p25SetterIsCalled = false; - - - public String getName() { - return "AService"; - } - - public void setP14(String p14) { - p14SetterIsCalled = true; - this.p14 = p14; - } - - protected void setP23(String p23) { - p23SetterIsCalled = true; - this.p23 = p23; - } - - public void setP24(String p24) { - p24SetterIsCalled = true; - this.p24 = p24; - } - - public void setP25(String p25) { - p25SetterIsCalled = true; - this.p25 = p25; - } - - public String getP13() { - return p13; - } - - public String getP14() { - return p14; - } - - public String getP22() { - return p22; - } - - public String getP23() { - return p23; - } - - public String getP24() { - return p24; - } - - public String getP25() { - return p25; - } - - public boolean getP14SetterIsCalled() { - return p14SetterIsCalled; - } - - - public boolean getP23SetterIsCalled() { - return p23SetterIsCalled; - } - - - public boolean getP24SetterIsCalled() { - return p24SetterIsCalled; - } - - - public boolean getP25SetterIsCalled() { - return p25SetterIsCalled; - } - -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java deleted file mode 100644 index f22f4a35b7..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.osoa.sca.annotations.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java deleted file mode 100644 index 280d2275f8..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.osoa.sca.annotations.Constructor; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -@Service(CService.class) -public class CServiceImpl1 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - @Constructor - public CServiceImpl1() { - constructor = "NoArgument"; - } - - public CServiceImpl1(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "AllArguments"; - } - - public CServiceImpl1(BService bOne, String pTwo, int pThree) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - constructor = "LessArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java deleted file mode 100644 index 6bc4384e73..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.osoa.sca.annotations.Constructor; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -@Service(CService.class) -public class CServiceImpl2 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl2() { - constructor = "NoArgument"; - } - - @Constructor() - public CServiceImpl2(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "AllArguments"; - } - - public CServiceImpl2(BService bOne, String pTwo, int pThree) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - constructor = "LessArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java deleted file mode 100644 index 6715b64fad..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.osoa.sca.annotations.Constructor; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -@Service(CService.class) -public class CServiceImpl3 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl3() { - constructor = "NoArgument"; - } - - @Constructor({"bOne", "pTwo", "pThree", "pFour"}) - public CServiceImpl3(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "AllArguments"; - } - - public CServiceImpl3(BService bOne, String pTwo, int pThree) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - constructor = "LessArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java deleted file mode 100644 index e10f07b0be..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.osoa.sca.annotations.Constructor; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -@Service(CService.class) -public class CServiceImpl4 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl4() { - constructor = "NoArgument"; - } - - public CServiceImpl4(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "ExtraArguments"; - } - - @Constructor({"bOne", "pTwo", "pThree", "pFour"}) - public CServiceImpl4(BService bOne, String pTwo, int pThree, String pFour) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - this.p4 = pFour; - constructor = "AllArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java deleted file mode 100644 index 9a23e2de8d..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.osoa.sca.annotations.Constructor; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -@Service(CService.class) -public class CServiceImpl5 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl5() { - constructor = "NoArgument"; - } - - public CServiceImpl5(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "ExtraArguments"; - } - - @Constructor({"bOne", "pFour", "pThree", "pTwo"}) - public CServiceImpl5(BService bOne, String pTwo, int pThree, String pFour) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - this.p4 = pFour; - constructor = "SwitchedValues"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java deleted file mode 100644 index b4797595ac..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * 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.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.osoa.sca.annotations.Constructor; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -@Service(CService.class) -public class CServiceImpl6 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl6() { - constructor = "NoArgument"; - } - - public CServiceImpl6(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "ExtraArguments"; - } - - @Constructor({"bOne", "pTwo", "pThree", "pWrong"}) - public CServiceImpl6(BService bOne, String pTwo, int pThree, String pFour) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - this.p4 = pFour; - constructor = "WrongValues"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/resources/property.composite b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/resources/property.composite deleted file mode 100644 index f7af170f33..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/main/resources/property.composite +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://java-api-tests" name="Property-Composite"> - - <component name="AComponent"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.AServiceImpl" /> - <property name="p1">p1</property> - <property name="p2">p2</property> - <property name="p3">p3</property> - <property name="p4">p4</property> - <property name="p5">p5</property> - <property name="p6">p6</property> - <property name="p7" type="AObject"> - <AObject xmlns=""> - <aString>p7.aString</aString> - <bInt>7</bInt> - </AObject> - </property> - <property name="p8" type="AObject"> - <AObject xmlns=""> - <aString>p8.aString</aString> - <bInt>8</bInt> - </AObject> - </property> - <property name="p9" type="AObject"> - <AObject xmlns=""> - <aString>p9.aString</aString> - <bInt>9</bInt> - </AObject> - </property> - <property name="p10" type="AObject"> - <AObject xmlns=""> - <aString>p10.aString</aString> - <bInt>10</bInt> - </AObject> - </property> - <property name="p11" type="AObject"> - <AObject xmlns=""> - <aString>p11.aString</aString> - <bInt>11</bInt> - </AObject> - </property> - <property name="p12" type="AObject"> - <AObject xmlns=""> - <aString>p12.aString</aString> - <bInt>12</bInt> - </AObject> - </property> - <property name="pFifteen">p15</property> - <property name="pSixteen">p16</property> - <property name="p19" many="true"></property> - <property name="p20" many="true">"p20"</property> - <property name="p21" many="true">2 1 21</property> - </component> - - <component name="CComponent1"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.CServiceImpl1" /> - <reference name="bOne" target="BComponent"/> - <property name="pTwo">p2</property> - <property name="pThree">3</property> - <property name="pFour">p4</property> - </component> - - <component name="CComponent2"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.CServiceImpl2" /> - <reference name="bOne" target="BComponent"/> - <property name="pTwo">p2</property> - <property name="pThree">3</property> - <property name="pFour">p4</property> - </component> - - <component name="CComponent3"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.CServiceImpl3" /> - <reference name="bOne" target="BComponent"/> - <property name="pTwo">p2</property> - <property name="pThree">3</property> - <property name="pFour">p4</property> - </component> - - <component name="CComponent4"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.CServiceImpl4" /> - <reference name="bOne" target="BComponent"/> - <property name="pTwo">p2</property> - <property name="pThree">3</property> - <property name="pFour">p4</property> - </component> - - <component name="CComponent5"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.CServiceImpl5" /> - <reference name="bOne" target="BComponent"/> - <property name="pTwo">p2</property> - <property name="pThree">3</property> - <property name="pFour">p4</property> - </component> - - <component name="CComponent6"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.CServiceImpl6" /> - <reference name="bOne" target="BComponent"/> - <property name="pTwo">p2</property> - <property name="pThree">3</property> - <property name="pFour">p4</property> - </component> - - <component name="BComponent"> - <implementation.java class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.BServiceImpl"/> - </component> - - <component name="AnotherAComponent"> - <implementation.java - class="org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl.AnotherAServiceImpl" /> - <property name="p13">p13</property> - <property name="p14">p14</property> - <property name="p22">p22</property> - <property name="p23">p23</property> - <property name="p24">p24</property> - <property name="p25">p25</property> - </component> -</composite> diff --git a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java b/branches/sca-java-20080910/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java deleted file mode 100644 index d5fbc568f7..0000000000 --- a/branches/sca-java-20080910/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * 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.annotations.property; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This test class tests the Property annotation described in section 1.2.3 - * including 1.8.5 and 1.8.13 - */ -public class PropertyAnnotationTestCase { - - protected static String compositeName = "property.composite"; - protected static AService aService = null; - protected static CService cService1 = null; - protected static CService cService2 = null; - protected static CService cService3 = null; - protected static CService cService4 = null; - protected static CService cService5 = null; - protected static CService cService6 = null; - protected static AnotherAService anotherAService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - cService1 = ServiceFinder.getService(CService.class, "CComponent1"); - cService2 = ServiceFinder.getService(CService.class, "CComponent2"); - cService3 = ServiceFinder.getService(CService.class, "CComponent3"); - cService4 = ServiceFinder.getService(CService.class, "CComponent4"); - cService5 = ServiceFinder.getService(CService.class, "CComponent5"); - cService6 = ServiceFinder.getService(CService.class, "CComponent6"); - anotherAService = ServiceFinder.getService(AnotherAService.class, "AnotherAComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Lines 1343 to 1348:<br> - * The "@Property" annotation type is used to annotate a Java class field or - * a setter method that is used to inject an SCA property value. The type of - * the property injected, which can be a simple Java type or a complex Java - * type, is defined by the type of the Java class field or the type of the - * setter method input argument.<br> - * The "@Property" annotation may be used on protected or public fields and - * on setter methods or on a constructor method.<br> - * <p> - * p1 - simple Java type injected via field<br> - * p2 - simple Java type injected via field<br> - * p3 - simple Java type injected via setter<br> - * p4 - simple Java type injected via setter and required=true<br> - * p5 - simple Java type injected via constructor parameter<br> - * p6 - simple Java type injected via constructor parameter<br> - * p7 - complex Java type injected via field and required=true<br> - * p8 - complex Java type injected via field<br> - * p9 - complex Java type injected via setter<br> - * p10 - complex Java type injected via setter<br> - * p11 - complex Java type injected via constructor parameter<br> - * p12 - complex Java type injected via constructor parameter<br> - */ - @Test - public void atProperty1() throws Exception { - Assert.assertEquals("p1", aService.getP1()); - Assert.assertEquals("p2", aService.getP2()); - Assert.assertEquals("p3", aService.getP3()); - Assert.assertEquals("p4", aService.getP4()); - Assert.assertEquals("p5", aService.getP5()); - Assert.assertEquals("p6", aService.getP6()); - Assert.assertEquals("p7.aString", aService.getP7AString()); - Assert.assertEquals(7, aService.getP7BInt()); - Assert.assertEquals("p8.aString", aService.getP8AString()); - Assert.assertEquals(8, aService.getP8BInt()); - Assert.assertEquals("p9.aString", aService.getP9AString()); - Assert.assertEquals(9, aService.getP9BInt()); - Assert.assertEquals("p10.aString", aService.getP10AString()); - Assert.assertEquals(10, aService.getP10BInt()); - Assert.assertEquals("p11.aString", aService.getP11AString()); - Assert.assertEquals(11, aService.getP11BInt()); - Assert.assertEquals("p12.aString", aService.getP12AString()); - Assert.assertEquals(12, aService.getP12BInt()); - } - - /** - * Lines 1349 to 1352:<br> - * Properties may also be injected via public setter methods even when the - * "@Property" annotation is not present. However, the - * - * @Property annotation must be used in order to inject a property onto a - * non-public field. In the case where there is no "@Property" - * annotation, the name of the property is the same as the name of - * the field or setter.<br> - * <p> - * p13 is an un-annotated public field which should be injected - * via field<br> - */ - @Test - public void atProperty2() throws Exception { - Assert.assertEquals("p13", anotherAService.getP13()); - } - - /** - * Line 1353:<br> - * Where there is both a setter method and a field for a property, the - * setter method is used.<br> - * <p> - * p14 is an un-annotated public field, it should be injected via public - * setter<br> - */ - @Test - public void atProperty3() throws Exception { - Assert.assertEquals("p14", anotherAService.getP14()); - Assert.assertTrue(anotherAService.getP14SetterIsCalled()); - } - - /** - * Lines 1355 to 1357:<br> - * The "@Property" annotation has the following attributes:<br> - * <li>name (optional) – the name of the property, defaults to the name of - * the field of the Java class</li> - * <li>required (optional) – specifies whether injection is required, - * defaults to false</li> - * <p> - * p15 - injected via field with different name "pFifteen"<br> - * p16 - injected via setter with different name "pSixteen"<br> - * p17 - injected via field but not defined in composite<br> - * p18 - injected via setter but not defined in composite<br> - * - * @TODO - Need to test required=true but not defined in composite (The - * specification does not describe the proper behaviour in this - * situation.) - */ - @Test - public void atProperty4() throws Exception { - Assert.assertEquals("p15", aService.getP15()); - Assert.assertEquals("p16", aService.getP16()); - Assert.assertNull(aService.getP17()); - Assert.assertNull(aService.getP18()); - } - - /** - * Lines 1369 to 1370:<br> - * If the property is defined as an array or as a java.util.Collection, then - * the implied component type has a property with a many attribute set to - * true.<br> - * <p> - * p19 - a List and injected via field with no element<br> - * p20 - a List and injected via setter<br> - * p21 - an array and injected via field<br> - */ - @Test - public void atProperty5() throws Exception { - Assert.assertEquals(0, aService.getP19Size()); - Assert.assertEquals(1, aService.getP20Size()); - Assert.assertEquals("p20", aService.getP20(0)); - Assert.assertEquals(3, aService.getP21Size()); - Assert.assertEquals(2, aService.getP21(0)); - Assert.assertEquals(1, aService.getP21(1)); - Assert.assertEquals(21, aService.getP21(2)); - } - - /** - * Lines 1141 to 1162:<br> - * 1.8.5. "@Constructor"<br> - * ...<br> - * The "@Constructor" annotation is used to mark a particular constructor to - * use when instantiating a Java component implementation.<br> - * The "@Constructor" annotation has the following attribute:<br> - * <li>value (optional) – identifies the property/reference names that - * correspond to each of the constructor arguments. The position in the - * array determines which of the arguments are being named.</li> - * <p> - * cService1 - "@Constructor" without value and constructor arguments<br> - * cService2 - "@Constructor" without value but with constructor arguments<br> - * cService3 - "@Constructor" with values and constructor arguments<br> - * cService4 - "@Constructor" with values and constructor arguments where - * value, property and parameter names are same<br> - * cService5 - "@Constructor" with switched values and constructor arguments<br> - * cService6 - "@Constructor" with wrong values<br> - */ - @Test - public void atProperty6() throws Exception { - Assert.assertNull(cService1.getB1Name()); - Assert.assertNull(cService1.getP2()); - Assert.assertEquals(0, cService1.getP3()); - Assert.assertNull(cService1.getP4()); - Assert.assertEquals("NoArgument", cService1.getConstructor()); - - Assert.assertEquals("BService", cService2.getB1Name()); - Assert.assertEquals("p2", cService2.getP2()); - Assert.assertEquals(3, cService2.getP3()); - Assert.assertEquals("p4", cService2.getP4()); - Assert.assertEquals("AllArguments", cService2.getConstructor()); - - Assert.assertEquals("BService", cService3.getB1Name()); - Assert.assertEquals("p2", cService3.getP2()); - Assert.assertEquals(3, cService3.getP3()); - Assert.assertEquals("p4", cService3.getP4()); - Assert.assertEquals("AllArguments", cService3.getConstructor()); - - Assert.assertEquals("BService", cService4.getB1Name()); - Assert.assertEquals("p2", cService4.getP2()); - Assert.assertEquals(3, cService4.getP3()); - Assert.assertEquals("p4", cService4.getP4()); - Assert.assertEquals("AllArguments", cService4.getConstructor()); - - Assert.assertEquals("BService", cService5.getB1Name()); - Assert.assertEquals("p4", cService5.getP2()); - Assert.assertEquals(3, cService5.getP3()); - Assert.assertEquals("p2", cService5.getP4()); - Assert.assertEquals("SwitchedValues", cService5.getConstructor()); - - try { - System.out.println(cService6.getB1Name()); - fail("Should have failed to call this service"); - } catch (Throwable t) { - } - - } - - /** - * Lines 1349 to 1352:<br> - * 1.8.13. "@Property"<br> - * ...<br> - * Properties may also be injected via public setter methods even when the - * "@Property" annotation is not present. However, the "@Property" - * annotation must be used in order to inject a property onto a non-public - * field. In the case where there is no "@Property" annotation, the name of - * the property is the same as the name of the field or setter. - * <p> - * p22 is unannotated protected field which should not be injected p23 is - * un-annotated protected which should not be injected via protected setter<br> - */ - @Test - @Ignore("JIRA-2289 - p23 failed") - public void atProperty7() throws Exception { - Assert.assertNull(anotherAService.getP22()); - Assert.assertNull(anotherAService.getP23()); - Assert.assertFalse(anotherAService.getP23SetterIsCalled()); - } - - /** - * Lines 1349 to 1352:<br> - * 1.8.13. "@Property"<br> - * ...<br> - * Properties may also be injected via public setter methods even when the - * "@Property" annotation is not present. However, the "@Property" - * annotation must be used in order to inject a property onto a non-public - * field. In the case where there is no "@Property" annotation, the name of - * the property is the same as the name of the field or setter. - * <p> - * p24 is un-annotated protected field which should be injected via public - * setter<br> - * p25 is un-annotated private field which should be injected via public - * setter<br> - */ - @Test - public void atProperty8() throws Exception { - Assert.assertEquals("p24", anotherAService.getP24()); - Assert.assertTrue(anotherAService.getP24SetterIsCalled()); - Assert.assertEquals("p25", anotherAService.getP25()); - Assert.assertTrue(anotherAService.getP25SetterIsCalled()); - } - -} |