diff options
Diffstat (limited to 'branches/sca-java-1.2/itest/properties/src/main')
27 files changed, 1868 insertions, 0 deletions
diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyService.java b/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyService.java new file mode 100644 index 0000000000..b0fd64c9da --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyService.java @@ -0,0 +1,34 @@ +/* + * 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 mysca.test.myservice.impl; + +public interface MyService { + /** + * This is a method to get the location property value from the sca runtime environment. It is implemented in the + * class MyServiceImpl + */ + String getLocation(); + + /** + * This is a method to get the year property value from the sca runtime environment. It is implemented in the class + * MyServiceImpl + */ + String getYear(); +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyServiceImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyServiceImpl.java new file mode 100644 index 0000000000..8d37877d98 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyServiceImpl.java @@ -0,0 +1,88 @@ +/* + * 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 mysca.test.myservice.impl; + +import java.util.logging.Logger; + +import org.osoa.sca.annotations.ComponentName; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +/** + * This class Implements the interface MyService and gives implementation for all methods which are declared in that + * interface. scope is specified as Composite using + * + * @scope annotaiton. + */ + +@Service(MyService.class) +public class MyServiceImpl implements MyService { + + @Property(name = "location") + protected String location = "RTP"; + + @Property(name = "year") + protected String year = "2006"; + + @ComponentName + protected String componentName; + + private Logger logger; + + /** + * @ to print the message in the log + */ + public MyServiceImpl() { + logger = Logger.getAnonymousLogger(); + logger.info("creating service instance..."); + } + + /** + * @Init annotation to Start the service. Which is executed all the time + */ + @Init + public void start() { + logger.info("Start service.."); + } + + /** + * @Destroy annotation to stop the service. Which is executed in the end + */ + @Destroy + public void stop() { + logger.info("Stop service.."); + + } + + public String getComponentName() { + return componentName; + } + + public String getLocation() { + return location; + } + + public String getYear() { + return year; + } + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyTotalServiceImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyTotalServiceImpl.java new file mode 100644 index 0000000000..06699ca1ee --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/mysca/test/myservice/impl/MyTotalServiceImpl.java @@ -0,0 +1,46 @@ +/* + * 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 mysca.test.myservice.impl; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class Implements the interface MyService and gives implementation for all methods which are declared in that + * interface. scope is specified as Composite using + * + * @scope annotaiton. + */ + +@Service(MyService.class) +public class MyTotalServiceImpl implements MyService { + + // default required==true so it is 1:1 + @Reference + public MyService myService; + + public String getLocation() { + return myService.getLocation(); + } + + public String getYear() { + return myService.getYear(); + } + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponent.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponent.java new file mode 100644 index 0000000000..2f5e07a343 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponent.java @@ -0,0 +1,50 @@ +/* + * 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.itest; + +/** + * It is an Interface which has method declarations. Methods which are to be accessed as a service are declared in this + * interface. Implementation for these methods is provided in ABCDComponentImpl Class + */ +public interface ABCDComponent { + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABCDComponentImpl + */ + String getA(); + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABCDComponentImpl + */ + String getB(); + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABCDComponentImpl + */ + String getC(); + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABCDComponentImpl + */ + String getD(); +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponentImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponentImpl.java new file mode 100644 index 0000000000..d996c3d108 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponentImpl.java @@ -0,0 +1,73 @@ +/* + * 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.itest; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; + +/** + * This class Implements the interface ABCDComponent and gives implementation for all methods which are declared in that + * interface. scope is specified as Composite using + * + * @scope annotaiton. + */ +@Scope("COMPOSITE") +public class ABCDComponentImpl implements ABCDComponent { + private ABComponent abComponent; + private CDComponent cdComponent; + + /** + * It is a method which injects the property value to the variable 'abComponent' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Reference + public void setAb(ABComponent component) { + this.abComponent = component; + } + + /** + * It is a method which injects the property value to the variable 'cdComponent' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Reference + public void setCd(CDComponent component) { + this.cdComponent = component; + } + + public String getA() { + return this.abComponent.getA(); + } + + public String getB() { + return this.abComponent.getB(); + } + + public String getC() { + return this.cdComponent.getC(); + } + + public String getD() { + return this.cdComponent.getD(); + } +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponent.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponent.java new file mode 100644 index 0000000000..16accc1680 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponent.java @@ -0,0 +1,75 @@ +/* + * 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.itest; + +import java.util.Collection; + +import org.osoa.sca.annotations.Remotable; + +/** + * It is an Interface which has method declarations. Methods which are to be accessed as a service are declared in this + * interface. Implementation for these methods is provided in ABComponentImpl Class + */ +@Remotable +public interface ABComponent { + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABComponentImpl + */ + + String getA(); + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABComponentImpl + */ + String getB(); + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABComponentImpl + */ + String getZ(); + + /** + * This is a method to get an integer property value from the sca runtime environment. It is implemented in the + * class ABComponentImpl + */ + int getIntValue(); + + /** + * This is a method to get a string property value from the sca runtime environment. It is implemented in the class + * ABComponentImpl + */ + String getF(); + + /** + * This is a method to get collectioon of property values from the sca runtime environment. It is implemented in the + * class ABComponentImpl + */ + Collection<String> getManyStringValues(); + + /** + * This is a method to get collection of property value from the sca runtime environment. It is implemented in the + * class ABComponentImpl + */ + Collection<Integer> getManyIntegers(); +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponentImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponentImpl.java new file mode 100644 index 0000000000..5e3c985144 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponentImpl.java @@ -0,0 +1,131 @@ +/* + * 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.itest; + +import java.util.Collection; + +import org.osoa.sca.annotations.Property; + +/** + * This class Implements the interface ABComponent and gives implementation for all methods which are declared in that + * interface. + */ + +public class ABComponentImpl implements ABComponent { + + private String aProperty; + private String bProperty; + private int intValue; + private Collection<String> manyStringValues; + private Collection<Integer> manyIntegerValues; + private String zProperty; + private String fProperty; + + /** + * It is a method which injects the property value to the variable 'zProperty' from the SCA runtime environment + * using Annotations. + */ + @Property(name = "xpath") + public void setZProperty(final String value) { + this.zProperty = value; + } + + /** + * It is a method which injects collection of property values to the variable 'manyStringValues' from the SCA + * runtime environment using Annotations. + */ + @Property(name = "foobar") + public void setManyStringValues(final Collection<String> value) { + this.manyStringValues = value; + } + + /** + * It is a method which injects collection of integer property values to the variable 'manyIntegerValues' from the + * SCA runtime environment using Annotations. + */ + @Property(name = "fooInts") + public void setManyIntegers(final Collection<Integer> value) { + this.manyIntegerValues = value; + } + + /** + * It is a method which injects the property value to the variable 'aProperty' from the SCA runtime environment + * using Annotations. + */ + @Property + public void setA(final String A) { + this.aProperty = A; + } + + /** + * It is a method which injects the property value to the variable 'bProperty' from the SCA runtime environment + * using Annotations. + */ + @Property + public void setB(final String B) { + this.bProperty = B; + } + + /** + * It is a method which injects the property value to the variable 'fProperty' from the SCA runtime environment + * using Annotations. + */ + @Property + public void setF(final String F) { + this.fProperty = F; + } + + /** + * It is a method which injects integer property value to the variable 'intValue' from the SCA runtime environment + * using Annotations. + */ + @Property + public void setOne(final int value) { + this.intValue = value; + } + + public String getA() { + return this.aProperty; + } + + public String getB() { + return this.bProperty; + } + + public int getIntValue() { + return this.intValue; + } + + public String getZ() { + return this.zProperty; + } + + public String getF() { + return this.fProperty; + } + + public Collection<String> getManyStringValues() { + return manyStringValues; + } + + public Collection<Integer> getManyIntegers() { + return manyIntegerValues; + } +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponent.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponent.java new file mode 100644 index 0000000000..eac497636b --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponent.java @@ -0,0 +1,71 @@ +/* + * 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.itest; + +import java.util.Collection; + +/** + * It is an Interface which has method declarations. Methods which are to be accessed as a service are declared in this + * interface. Implementation for these methods is provided in CDComponentImpl Class + */ +public interface CDComponent { + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + String getC(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + String getC2(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + String getD(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + String getNoSource(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + String getFileProperty(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + Collection<String> getManyValuesFileProperty(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * CDComponentImpl Class + */ + int getOverrideValue(); +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponentImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponentImpl.java new file mode 100644 index 0000000000..5b93bd8b8a --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponentImpl.java @@ -0,0 +1,143 @@ +/* + * 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.itest; + +import java.util.Collection; + +import org.osoa.sca.annotations.Property; + +/** + * This class Implements the interface CDComponent and gives implementation for all methods which are declared in that + * interface. + */ +public class CDComponentImpl implements CDComponent { + + private String cProperty; + private String dProperty; + private String nosource; + private String fileProperty; + private Collection<String> manyValuesFileProperty; + private int overrideNumber; + private String cProperty2; + + /** + * It is a method which injects the property value to the variable 'cProperty2' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Property(name = "nonFileProperty") + public void setC2(final String value) { + this.cProperty2 = value; + } + + /** + * It is a method which injects the property value to the variable 'overrideNumber' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Property(name = "two") + public void setOverrideNumber(final int value) { + this.overrideNumber = value; + } + + /** + * It is a method which injects the property value to the variable 'fileProperty' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Property(name = "fileProperty") + public void setFileProp(final String value) { + this.fileProperty = value; + } + + /** + * It is a method which injects the property value to the variable 'manyValuesFileProperty' from the SCA runtime + * environment using + * + * @Property Annotations. + */ + @Property(name = "manyValuesFileProperty") + public void setFileManyValueProp(final Collection<String> values) { + this.manyValuesFileProperty = values; + } + + /** + * It is a method which injects the property value to the variable 'cProperty' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Property + public void setC(final String C) { + this.cProperty = C; + } + + /** + * It is a method which injects the property value to the variable 'dProperty' from the SCA runtime environment + * using + * + * @Property Annotations. + */ + @Property + public void setD(final String D) { + this.dProperty = D; + } + + /** + * It is a method which injects the property value to the variable 'nosource' from the SCA runtime environment using + * + * @Property Annotations. + */ + @Property + public void setNosource(final String value) { + this.nosource = value; + } + + public String getFileProperty() { + return this.fileProperty; + } + + public String getC() { + return this.cProperty; + } + + public String getC2() { + return this.cProperty2; + } + + public String getD() { + return this.dProperty; + } + + public String getNoSource() { + return this.nosource; + } + + public int getOverrideValue() { + return this.overrideNumber; + } + + public Collection<String> getManyValuesFileProperty() { + return this.manyValuesFileProperty; + } +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ComplexPropertyBean.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ComplexPropertyBean.java new file mode 100644 index 0000000000..8286621ed0 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ComplexPropertyBean.java @@ -0,0 +1,151 @@ +/* + * 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.itest; + +/** + * This is a Java Bean which has setter and getter methods for for the variables used in the property tests. + */ +public class ComplexPropertyBean { + + /** + * Variable declarations + */ + protected int integerNumber = 25; + protected float floatNumber = 50; + protected double doubleNumber = 75; + protected int[] intArray = null; + protected double[] doubleArray = null; + protected String[] stringArray = null; + + ComplexPropertyBean numberSet; + protected ComplexPropertyBean[] numberSetArray = null; + + public ComplexPropertyBean() { + + } + + public double getDoubleNumber() { + return doubleNumber; + } + + /** + * It is a setter method to set a value for the variable doubleNumber + */ + public void setDoubleNumber(double doubleNumber) { + this.doubleNumber = doubleNumber; + } + + /** + * It is a getter method to get a value for the variable floatNumber + */ + public float getFloatNumber() { + return floatNumber; + } + + /** + * It is a setter method to set a value for the variable floatNumber + */ + public void setFloatNumber(float floatNumber) { + this.floatNumber = floatNumber; + } + + /** + * It is a getter method to get a value for the variable floatNumber + */ + public int getIntegerNumber() { + return integerNumber; + } + + /** + * It is a getter method to get a value for the variable integerNumber + */ + public void setIntegerNumber(int integerNumber) { + this.integerNumber = integerNumber; + } + + /** + * It is a getter method to set a value for the variable numberSet + */ + public ComplexPropertyBean getNumberSet() { + return numberSet; + } + + /** + * It is a setter method to set a value for the variable numberSet + */ + public void setNumberSet(ComplexPropertyBean numberSet) { + this.numberSet = numberSet; + } + + /** + * It is a method which implements toString() function + */ + @Override + public String toString() { + return Double.toString(integerNumber) + " - " + + Double.toString(floatNumber) + + " - " + + Double.toString(doubleNumber) + + " \n" + + ((intArray == null) ? "" : intArray[0] + " - " + intArray[1] + " \n ") + + ((doubleArray == null) ? "" : doubleArray[0] + " - " + doubleArray[1] + " \n ") + + ((stringArray == null) ? "" : stringArray[0] + " - " + stringArray[1] + " \n ") + + ((numberSetArray == null) ? "" : numberSetArray[0] + " - " + numberSetArray[1] + " \n ") + + ((numberSet == null) ? "" : numberSet.toString()); + } + + /** + * It is a setter method to set values for the variable stringArray + */ + public String[] getStringArray() { + return stringArray; + } + + /** + * It is a setter method to set values for the variable stringArray + */ + public void setStringArray(String[] stringArray) { + this.stringArray = stringArray; + } + + public int[] getIntArray() { + return intArray; + } + + public void setIntArray(int[] intArray) { + this.intArray = intArray; + } + + public double[] getDoubleArray() { + return doubleArray; + } + + public void setDoubleArray(double[] doubleArray) { + this.doubleArray = doubleArray; + } + + public ComplexPropertyBean[] getNumberSetArray() { + return numberSetArray; + } + + public void setNumberSetArray(ComplexPropertyBean[] numberSetArray) { + this.numberSetArray = numberSetArray; + } +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideService.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideService.java new file mode 100644 index 0000000000..acd1f26670 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideService.java @@ -0,0 +1,27 @@ +/* + * 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.itest; + +/** + * This is an Interface for the services + */ +public interface OverrideService { + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideServiceImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideServiceImpl.java new file mode 100644 index 0000000000..71dce41efc --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideServiceImpl.java @@ -0,0 +1,28 @@ +/* + * 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.itest; + +/** + * An implementation for the interface OverrideService. + */ + +public class OverrideServiceImpl implements OverrideService { + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponent.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponent.java new file mode 100644 index 0000000000..c6b9096e8b --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponent.java @@ -0,0 +1,120 @@ +/* + * 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.itest; + +import java.util.Collection; + +import commonj.sdo.DataObject; + +/** + * It is an Interface which has method declarations. Methods which are to be accessed as a service are declared in this + * interface. Implementation for these methods is provided in PropertyComponentImpl Class + */ +public interface PropertyComponent { + + /** + * This is a method to get a value for a property name 'location' from the sca runtime environment. It is + * implemented in the class PropertyComponentImpl + */ + public String getLocation(); + + /** + * This is a method to get a value for a property name 'year' from the sca runtime environment. It is implemented in + * the class PropertyComponentImpl + */ + public String getYear(); + + /** + * This method is used to test injecting a primitive String Array + * + * @return The injected array + */ + public String[] getDaysOfTheWeek(); + + /** + * This method is used to test injecting an Object Integer Array + * + * @return The injected array + */ + public Integer[] getIntegerNumbers(); + + /** + * This method is used to test injecting an int Array + * + * @return The injected array + */ + public int[] getIntNumbers(); + + /** + * This method is used to test injecting an Object Array + * + * @return The injected array + */ + public DataObject[] getSdoArrayProperty(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + + public ComplexPropertyBean getComplexPropertyOne(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + public ComplexPropertyBean getComplexPropertyTwo(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + public ComplexPropertyBean getComplexPropertyThree(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + public Collection<ComplexPropertyBean> getComplexPropertyFour(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + + public ComplexPropertyBean getComplexPropertyFive(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + public DataObject getSdoProperty(); + + /** + * This is a method to get a property value from the sca runtime environment. It is implemented in the class + * PropertyComponentImpl + */ + public DataObject getCustomerSdo(); + + /** + * @return + */ + public String getLocationFromComponentContext(); +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponentImpl.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponentImpl.java new file mode 100644 index 0000000000..b3a5b3d702 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponentImpl.java @@ -0,0 +1,172 @@ +/* + * 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.itest; + +import java.util.Collection; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Property; + +import com.example.customer.sdo.impl.CustomerImpl; +import commonj.sdo.DataObject; + +/** + * This class Implements the interface PropertyComponent and gives implementation for all methods which are declared in + * that interface. + */ +public class PropertyComponentImpl implements PropertyComponent { + @Context + protected ComponentContext context; + + @Property + protected CustomerImpl customerSdo; + + @Property + protected DataObject sdoProperty; + + @Property + protected ComplexPropertyBean complexPropertyOne; + + @Property + protected ComplexPropertyBean complexPropertyTwo; + + @Property + protected ComplexPropertyBean complexPropertyThree; + + @Property + protected Collection<ComplexPropertyBean> complexPropertyFour; + + @Property + protected ComplexPropertyBean complexPropertyFive; + + @Property(name = "location") + protected String location; + + @Property(name = "year") + protected String year; + + @Property(name = "daysOfTheWeek") + protected String[] daysOfTheWeek; + + @Property(name = "integerNumbers") + protected Integer[] integerNumbers; + + @Property(name = "intNumbers") + protected int[] intNumbers; + + @Property(name = "sdoArray") + protected DataObject[] sdoArray; + + public String getLocation() { + return location; + } + + public String getYear() { + return year; + } + + public ComplexPropertyBean getComplexPropertyOne() { + //System.out.println(complexPropertyOne); + return complexPropertyOne; + } + + public ComplexPropertyBean getComplexPropertyTwo() { + //System.out.println(complexPropertyTwo); + return complexPropertyTwo; + } + + public ComplexPropertyBean getComplexPropertyThree() { + //System.out.println(complexPropertyThree); + return complexPropertyThree; + } + + public Collection<ComplexPropertyBean> getComplexPropertyFour() { + //System.out.println(complexPropertyThree); + return complexPropertyFour; + } + + public ComplexPropertyBean getComplexPropertyFive() { + return complexPropertyFive; + } + + public DataObject getSdoProperty() { + return sdoProperty; + } + + /** + * It is a method which injects the property value to the variable 'sdoProperty' from the SCA runtime environment. + */ + public void setSdoProperty(DataObject sdoProperty) { + System.out.println("Reached here da machi"); + this.sdoProperty = sdoProperty; + } + + public CustomerImpl getCustomerSdo() { + return customerSdo; + } + + /** + * It is a method which injects the property value to the variable 'customerSdo' from the SCA runtime environment. + */ + public void setCustomerSdo(CustomerImpl customerSdo) { + this.customerSdo = customerSdo; + } + + /** + * This method is used to test injecting an Array + * + * @return The injected array + */ + public String[] getDaysOfTheWeek() { + return daysOfTheWeek; + } + + /** + * This method is used to test injecting an Object Integer Array + * + * @return The injected array + */ + public Integer[] getIntegerNumbers() { + return integerNumbers; + } + + /** + * This method is used to test injecting an int Array + * + * @return The injected array + */ + public int[] getIntNumbers() { + return intNumbers; + } + + /** + * This method is used to test injecting an Object Array + * + * @return The injected array + */ + public DataObject[] getSdoArrayProperty() { + return sdoArray; + } + + public String getLocationFromComponentContext() { + return context.getProperty(String.class, "location"); + } +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyService.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyService.java new file mode 100644 index 0000000000..a57ccd90c8 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyService.java @@ -0,0 +1,27 @@ +/* + * 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.itest; + +/** + * This is an Interface for the services. + */ +public interface PropertyService { + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Bar.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Bar.java new file mode 100644 index 0000000000..c147a2affe --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Bar.java @@ -0,0 +1,23 @@ +/* + * 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.itest.cdi; + +public interface Bar { + public String getBar(); +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo1.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo1.java new file mode 100644 index 0000000000..0a84e93828 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo1.java @@ -0,0 +1,39 @@ +/* + * 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.itest.cdi; + +import org.osoa.sca.annotations.Constructor; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +@Service(Bar.class) +public class Foo1 implements Bar { + + @Property + protected String bar; + + @Constructor( {"bar"}) + public Foo1(String b) { + this.bar = b; + } + + public String getBar() { + return this.bar; + } +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo2.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo2.java new file mode 100644 index 0000000000..6344a8aa83 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo2.java @@ -0,0 +1,39 @@ +/* + * 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.itest.cdi; + +import org.osoa.sca.annotations.Constructor; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +@Service(Bar.class) +public class Foo2 implements Bar { + + protected String bar; + + @Constructor + public Foo2(@Property(name = "bar") String b) { + this.bar = b; + } + + public String getBar() { + return this.bar; + } + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo3.java b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo3.java new file mode 100644 index 0000000000..11a0a758cd --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo3.java @@ -0,0 +1,44 @@ +/* + * 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.itest.cdi; + +import org.osoa.sca.annotations.Constructor; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +@Service(Bar.class) +public class Foo3 implements Bar { + + protected String bar; + + @Constructor + public Foo3() { + this.bar = "bar"; + } + + public String getBar() { + return this.bar; + } + + @Property(name = "bar") + public void setBar(String b) { + this.bar = b; + } + +} diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/ConstructorPropertyInjection.composite b/branches/sca-java-1.2/itest/properties/src/main/resources/ConstructorPropertyInjection.composite new file mode 100644 index 0000000000..70a251fa16 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/ConstructorPropertyInjection.composite @@ -0,0 +1,41 @@ +<?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"
+ name="ConstructorPropertyInjection">
+
+ <component name="Foo1Component">
+ <implementation.java
+ class="org.apache.tuscany.sca.itest.cdi.Foo1" />
+ <property name="bar">fubar</property>
+ </component>
+
+ <component name="Foo2Component">
+ <implementation.java
+ class="org.apache.tuscany.sca.itest.cdi.Foo2" />
+ <property name="bar">fubar</property>
+ </component>
+
+ <component name="Foo3Component">
+ <implementation.java
+ class="org.apache.tuscany.sca.itest.cdi.Foo3" />
+ <property name="bar">fubar</property>
+ </component>
+
+</composite>
\ No newline at end of file diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/Outer.composite b/branches/sca-java-1.2/itest/properties/src/main/resources/Outer.composite new file mode 100644 index 0000000000..b3e529e8b5 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/Outer.composite @@ -0,0 +1,43 @@ +<?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
+ * 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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:foo="http://foo" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xsi:schemaLocation="http://www.osoa.org/xmlns/sca/1.0 http://www.osoa.org/xmlns/sca/1.0" name="Iteration3Composite"
+ targetNamespace="http://foo" local="true" autowire="false">
+
+ <property name="newLocation" type="xsd:anyURI">Raleigh</property>
+ <property name="newYear" type="xsd:anyURI">2008</property>
+ <component name="MyServiceComponent">
+ <implementation.java class="mysca.test.myservice.impl.MyServiceImpl" />
+ </component>
+ <component name="MyServiceComponentNew">
+ <implementation.java class="mysca.test.myservice.impl.MyServiceImpl" />
+ <property name="location" source="$newLocation" />
+ <property name="year" source="$newYear" />
+ </component>
+ <component name="MyTotalServiceNewComponent">
+ <implementation.java class="mysca.test.myservice.impl.MyTotalServiceImpl" />
+ <reference name="myService" target="MyServiceComponentNew/MyService" />
+ </component>
+ <component name="MySimpleServiceInRecursiveAnother">
+ <implementation.composite name="foo:MySimpleService" />
+ <property name="newLocation">Durham</property>
+ <property name="newYear">2009</property>
+ </component>
+</composite>
diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/OuterPropertyTest.composite b/branches/sca-java-1.2/itest/properties/src/main/resources/OuterPropertyTest.composite new file mode 100644 index 0000000000..5237e964a3 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/OuterPropertyTest.composite @@ -0,0 +1,42 @@ +<?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
+ * 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"
+ xmlns:foo="http://foo"
+ targetNamespace="http://foo"
+ name="OuterPropertyTest" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <component name="OuterComponent">
+ <implementation.composite name="foo:PropertyTest"/>
+ <property name="number">125</property>
+ <property name="complex" type="foo:MyComplexType">
+ <foo:MyComplexValue xsi:type="foo:MyComplexType" >
+ <foo:a>Overriden A</foo:a>
+ <foo:b>Overriden B</foo:b>
+ <foo:c>Overriden C</foo:c>
+ <foo:d>Overriden D</foo:d>
+ <foo:x>
+ <foo:y>Overriden Y</foo:y>
+ <foo:z>Overriden Z</foo:z>
+ </foo:x>
+ </foo:MyComplexValue>
+ </property>
+ </component>
+</composite>
+
diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/PropertyTest.composite b/branches/sca-java-1.2/itest/properties/src/main/resources/PropertyTest.composite new file mode 100644 index 0000000000..33cd8ecbfc --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/PropertyTest.composite @@ -0,0 +1,247 @@ +<?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 + * 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" + xmlns:foo="http://foo" + xmlns:cust="http://www.example.com/Customer" + xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://foo" + name="PropertyTest" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + + <service name="ProperterTestService" promote="ABComponent"> + <interface.java interface="org.apache.tuscany.sca.itest.ABComponent"/> + </service> + + <dbsdo:import.sdo location="customer.xsd" /> + <!-- dbsdo:import.sdo factory="com.example.customer.sdo.SdoFactory" / --> + + <property name="number" type="xsd:int">1</property> + <property name="complex" type="foo:MyComplexType" > + <foo:MyComplexValue xsi:type="foo:MyComplexType" > + <foo:a>a</foo:a> + <foo:b>b</foo:b> + <foo:c>c</foo:c> + <foo:d>d</foo:d> + <foo:x> + <foo:y>y</foo:y> + <foo:z>z</foo:z> + </foo:x> + </foo:MyComplexValue> + </property> + + <property name="moreComplex" type="foo:MyMoreComplexType"> + <MyMoreComplexValue xmlns=""> + <numberSetArray> + <integerNumber>1</integerNumber> + <floatNumber>11</floatNumber> + <doubleNumber>111</doubleNumber> + </numberSetArray> + <numberSetArray> + <integerNumber>2</integerNumber> + <floatNumber>22</floatNumber> + <doubleNumber>222</doubleNumber> + </numberSetArray> + <stringArray>TestString_1</stringArray> + <stringArray>TestString_2</stringArray> + <intArray>10</intArray> + <intArray>20</intArray> + <integerNumber>27</integerNumber> + <floatNumber>79.34</floatNumber> + <doubleNumber>184.52</doubleNumber> + <doubleArray>50.05</doubleArray> + <doubleArray>25.52</doubleArray> + <numberSet> + <integerNumber>54</integerNumber> + <floatNumber>158.68</floatNumber> + <doubleNumber>369.04</doubleNumber> + </numberSet> + </MyMoreComplexValue> + </property> + + <property name="complexFoo" type="foo:MyMoreComplexType"> + <MyMoreComplexValue xmlns=""> + <stringArray>TestString_3</stringArray> + <stringArray>TestString_4</stringArray> + <intArray>100</intArray> + <intArray>200</intArray> + </MyMoreComplexValue> + </property> + + <component name="ABCDComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.ABCDComponentImpl"/> + <reference name="ab" target="ABComponent"/> + <reference name="cd" target="CDComponent"/> + </component> + + <component name="ABComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.ABComponentImpl"/> + <property name="a" source="$complex/foo:MyComplexValue/foo:a"/> + <property name="b" source="$complex/foo:MyComplexValue/foo:b"/> + <property name="f" source="$complex/foo:MyComplexValue/foo:a">f</property> + <property name="xpath" source="$complex/foo:MyComplexValue/foo:x/*[local-name()='z']"/> + <property name="one" source="$number"/> + <property name="foobar" many="true">"Apache" "Tuscany" "Java SCA"</property> + <property name="fooInts" many="true">123 456 789</property> + </component> + + + <component name="CDComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.CDComponentImpl"/> + <property name="c" source="$complex/foo:MyComplexValue/foo:c"/> + <property name="d" source="$complex/foo:MyComplexValue/foo:d"/> + <property name="nosource">aValue</property> + <property name="fileProperty" file="fileProperty.txt"/> + <property name="manyValuesFileProperty" many="true" file="manyValuesFileProperty.txt"/> + <property name="nonFileProperty" file="fileProperty.txt" source="$complex/foo:MyComplexValue/foo:c"/> + <property name="two" source="$number">25</property> + </component> + + <component name="PropertyComponent"> + <implementation.java class="org.apache.tuscany.sca.itest.PropertyComponentImpl"/> + <property name="complexPropertyOne" source="$moreComplex"></property> + <property name="complexPropertyTwo"> + <MyAnotherComplexValue xmlns=""> + <stringArray>TestString_1</stringArray> + <stringArray>TestString_2</stringArray> + <intArray>10</intArray> + <integerNumber>27</integerNumber> + <floatNumber>79.34</floatNumber> + <doubleArray>25.52</doubleArray> + <doubleNumber>184.52</doubleNumber> + <doubleArray>50.05</doubleArray> + <intArray>20</intArray> + <numberSetArray> + <integerNumber>1</integerNumber> + <floatNumber>11</floatNumber> + <doubleNumber>111</doubleNumber> + </numberSetArray> + <numberSetArray> + <integerNumber>2</integerNumber> + <floatNumber>22</floatNumber> + <doubleNumber>222</doubleNumber> + </numberSetArray> + <numberSet> + <integerNumber>54</integerNumber> + <floatNumber>158.68</floatNumber> + <doubleNumber>369.04</doubleNumber> + </numberSet> + </MyAnotherComplexValue> + </property> + <property name="complexPropertyThree" element="foo:PropertyThreeElement"> + <PropertyThreeElement xmlns=""> + <stringArray>TestElementString_1</stringArray> + <stringArray>TestElementString_2</stringArray> + <intArray>10</intArray> + <integerNumber>27</integerNumber> + <floatNumber>79.34</floatNumber> + <doubleArray>25.52</doubleArray> + <doubleNumber>184.52</doubleNumber> + <doubleArray>50.05</doubleArray> + <intArray>20</intArray> + <numberSetArray> + <integerNumber>1</integerNumber> + <floatNumber>11</floatNumber> + <doubleNumber>111</doubleNumber> + </numberSetArray> + <numberSetArray> + <integerNumber>2</integerNumber> + <floatNumber>22</floatNumber> + <doubleNumber>222</doubleNumber> + </numberSetArray> + <numberSet> + <integerNumber>54</integerNumber> + <floatNumber>158.68</floatNumber> + <doubleNumber>369.04</doubleNumber> + </numberSet> + </PropertyThreeElement> + </property> + <property name="complexPropertyFour" element="foo:PropertyFourElement" many="true"> + <PropertyFourElement xmlns=""> + <integerNumber>1</integerNumber> + <floatNumber>11.11</floatNumber> + <doubleNumber>111.111</doubleNumber> + <numberSet> + <integerNumber>11</integerNumber> + <floatNumber>1111.1111</floatNumber> + <doubleNumber>11111.11111</doubleNumber> + </numberSet> + </PropertyFourElement> + <PropertyFourElement xmlns=""> + <integerNumber>2</integerNumber> + <floatNumber>22.22</floatNumber> + <doubleNumber>222.222</doubleNumber> + <numberSet> + <integerNumber>22</integerNumber> + <floatNumber>2222.2222</floatNumber> + <doubleNumber>22222.22222</doubleNumber> + </numberSet> + </PropertyFourElement> + <PropertyFourElement xmlns=""> + <integerNumber>3</integerNumber> + <floatNumber>33.33</floatNumber> + <doubleNumber>333.333</doubleNumber> + <numberSet> + <integerNumber>33</integerNumber> + <floatNumber>3333.3333</floatNumber> + <doubleNumber>33333.33333</doubleNumber> + </numberSet> + </PropertyFourElement> + </property> + <property name="complexPropertyFive" source="$complexFoo"/> + <property name="sdoProperty" type="cust:Customer"> + <cust:customer> + <cust:firstName>Firstly Name</cust:firstName> + <cust:middleName>Middler Name</cust:middleName> + <cust:lastName>Lasting Name</cust:lastName> + </cust:customer> + </property> + <property name="customerSdo" type="cust:Customer"> + <cust:customer> + <cust:firstName>Sdo Firstly Name</cust:firstName> + <cust:middleName>Sdo Middler Name</cust:middleName> + <cust:lastName>Sdo Lasting Name</cust:lastName> + </cust:customer> + </property> + <property name="location" type="xsd:string">RTP</property> + <property name="year" type="xsd:string">2006</property> + <property name="daysOfTheWeek" many="true" type="xsd:string">"Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday"</property> + <property name="integerNumbers" many="true" type="xsd:int">1 2 3 4 5 6 7 8 9 10</property> + <property name="intNumbers" many="true" type="xsd:int">10 9 8 7 6 5 4 3 2 1 0</property> + <property name="sdoArray" many="true" type="cust:Customer"> + <cust:customer> + <cust:firstName>Firstly Name 1</cust:firstName> + <cust:middleName>Middler Name 1</cust:middleName> + <cust:lastName>Lasting Name 1</cust:lastName> + </cust:customer> + <cust:customer> + <cust:firstName>Firstly Name 2</cust:firstName> + <cust:middleName>Middler Name 2</cust:middleName> + <cust:lastName>Lasting Name 2</cust:lastName> + </cust:customer> + <cust:customer> + <cust:firstName>Firstly Name 3</cust:firstName> + <cust:middleName>Middler Name 3</cust:middleName> + <cust:lastName>Lasting Name 3</cust:lastName> + </cust:customer> + </property> + </component> +</composite> + + diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/customer.xsd b/branches/sca-java-1.2/itest/properties/src/main/resources/customer.xsd new file mode 100644 index 0000000000..7421750f1b --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/customer.xsd @@ -0,0 +1,30 @@ +<!-- + * 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. +--> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.example.com/Customer" targetNamespace="http://www.example.com/Customer"> + + <xsd:element name="customer" type="Customer"/> + <xsd:complexType name="Customer"> + <xsd:sequence> + <xsd:element name="firstName" type="xsd:string"/> + <xsd:element name="middleName" type="xsd:string"/> + <xsd:element name="lastName" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:schema> diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/fileProperty.txt b/branches/sca-java-1.2/itest/properties/src/main/resources/fileProperty.txt new file mode 100644 index 0000000000..0d3d9ead83 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/fileProperty.txt @@ -0,0 +1,21 @@ +<?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. +--> + +<filePropertyTest>fileValue</filePropertyTest> diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/manyValuesFileProperty.txt b/branches/sca-java-1.2/itest/properties/src/main/resources/manyValuesFileProperty.txt new file mode 100644 index 0000000000..15d470afa6 --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/manyValuesFileProperty.txt @@ -0,0 +1,23 @@ +<?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. +--> + +<manyFilePropertyValues> + "fileValueOne" "fileValueTwo" "fileValueThree" "fileValueFour" +</manyFilePropertyValues> diff --git a/branches/sca-java-1.2/itest/properties/src/main/resources/mySimpleService.composite b/branches/sca-java-1.2/itest/properties/src/main/resources/mySimpleService.composite new file mode 100644 index 0000000000..75fdd24add --- /dev/null +++ b/branches/sca-java-1.2/itest/properties/src/main/resources/mySimpleService.composite @@ -0,0 +1,40 @@ +<?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 autowire="false" local="true" name="MySimpleService"
+ targetNamespace="http://foo" xmlns:foo="http://foo" xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.osoa.org/xmlns/sca/1.0 http://www.osoa.org/xmlns/sca/1.0 ">
+
+
+ <service name="MyServiceNew1" promote="MyServiceComponentNew/MyService">
+ <interface.java interface="mysca.test.myservice.impl.MyService" />
+ </service>
+
+ <property name="newLocation" type="xsd:anyURI">Raleigh</property>
+ <property name="newYear" type="xsd:anyURI">2008</property>
+
+
+ <component name="MyServiceComponentNew">
+ <implementation.java class="mysca.test.myservice.impl.MyServiceImpl" />
+ <property name="location" source="$newLocation" />
+ <property name="year" source="$newYear" />
+ </component>
+
+</composite>
|