diff options
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src')
16 files changed, 886 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java new file mode 100644 index 0000000000..d307e0f9a2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.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.admin; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface MyListService { + String[] getHolidays(); + String getYear(); +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java new file mode 100644 index 0000000000..143f860644 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java @@ -0,0 +1,26 @@ +/* + * 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.admin; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface MyListServiceByYear { + String[] getHolidays(int year); +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java new file mode 100644 index 0000000000..80f319f7c1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java @@ -0,0 +1,87 @@ +/* + * 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.admin; + + +import java.util.List; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import org.apache.tuscany.sca.itest.admin.MyListService; +import org.apache.tuscany.sca.itest.admin.MyListServiceByYear; + +@Service(interfaces={MyListService.class,MyListServiceByYear.class}) + +public class MyListServiceImpl implements MyListService,MyListServiceByYear +{ + + // This is multiplicity=1:n + @Reference(name="myListServiceList",required=true) + public List<MyListService> myListServicesList; + + // This is multiplicity=0:n + @Reference(name="myListServiceArray",required=false) + public MyListService[] myListServicesArray; + + @Property(name="serviceYear") + protected String year = "2006"; + + public String[] getHolidays() + { + return getHolidays(new Integer(year).intValue()); + } + + public String[] getHolidays(int year) + { + MyListService myService; + if (myListServicesList!=null) + { + for (int i=0; i<myListServicesList.size(); i++) + { + myService=myListServicesList.get(i); + if(new Integer(myService.getYear()).intValue()==year) + { + return myService.getHolidays(); + } + } + } + if (myListServicesArray!=null) + { + for (int i=0; i<myListServicesArray.length; i++) + { + myService=myListServicesArray[i]; + if(new Integer(myService.getYear()).intValue()==year) + { + return myService.getHolidays(); + } + } + } + return null; + } + + public String getYear() + { + return year; + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java new file mode 100644 index 0000000000..f35a1a0000 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java @@ -0,0 +1,35 @@ +/* + * 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.admin; + +import java.io.PrintStream; + +public class MyLogger { + + private PrintStream outStream; + + public MyLogger(PrintStream out) { + this.outStream = out; + } + + public void println(String text) { + outStream.println("MyLog: " + text); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java new file mode 100644 index 0000000000..03a6b500d3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.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.admin; + +import java.util.Date; + +public interface MyService extends SCAComponentService{ + Date nextHoliday(); + String getLocation(); + String getYear(); +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java new file mode 100644 index 0000000000..e03f8a0f55 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.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.admin; + +import java.util.Date; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface MyServiceByDate { + Date nextHoliday(Date date); +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java new file mode 100644 index 0000000000..8bbf9551f1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java @@ -0,0 +1,125 @@ +/* + * 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.admin; + +import java.util.Date; + +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + + +@Service(interfaces={MyService.class, MyServiceByDate.class, MyListService.class, MyListServiceByYear.class}) + +public class MyServiceImpl implements MyService, MyServiceByDate, MyListService, MyListServiceByYear{ + static String[][] holidays = {{"2006/01/02","2006/05/29","2006/07/03","2006/07/04","2006/09/04","2006/11/23", + "2006/11/23","2006/11/24", "2006/12/25"},{"2007/01/01","2007/05/28","2007/07/04","2007/09/03","2007/11/22", + "2007/11/23","2007/12/25"},{"2006/01/02","2006/05/29","2006/07/03","2006/07/04","2006/09/04","2006/11/23", + "2006/11/23","2006/11/24", "2006/12/25"},{"2007/01/01","2007/05/28","2007/07/04","2007/09/03","2007/11/22", + "2007/11/23","2007/12/25"}}; + + @Property(name="location") + protected String location = "RTP"; + + @Property(name="year") + protected String year = "2006"; + + + private String componentName; + + + private MyLogger logger; + + public MyServiceImpl() + { + logger = new MyLogger(System.out); + logger.println("creating service instance..."); + } + + public Date nextHoliday() { + + return nextHoliday(new Date()); + } + + + public Date nextHoliday(Date today) + { + Date d1; + String[] days = getHolidays(); + for (int j=0; j<days.length; j++) + { + d1 = new Date(days[j]); + if (d1.after(today)) + return d1; + } + return null; + } + + + public String[] getHolidays(int year) + { + int index = year -2006; + if (index>=0 && index<holidays.length) + return holidays[index]; + return null; + } + + public String[] getHolidays() + { + + Integer theYear; + if (year ==null || year.length()==0) + theYear = new Integer("2006"); + else + theYear = new Integer(year); + + return getHolidays(theYear.intValue()); + } + + @Init + public void start() + { + logger.println("Start service.."); + } + + @Destroy + public void stop() + { + logger.println("Stop service.."); + + } + + public String getComponentName() + { + return componentName; + } + + + public String getLocation() + { + return location; + } + + public String getYear() + { + return year; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java new file mode 100644 index 0000000000..dc95879b22 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java @@ -0,0 +1,24 @@ +/* + * 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.admin; + +public interface MyTotalService extends MyListService, MyListServiceByYear, MyService, MyServiceByDate +{ + +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java new file mode 100644 index 0000000000..314f7fa0c0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java @@ -0,0 +1,92 @@ +/* + * 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.admin; + +import java.util.Date; + + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; +import org.osoa.sca.annotations.ComponentName; +import org.apache.tuscany.sca.itest.admin.MyListService; +import org.apache.tuscany.sca.itest.admin.MyListServiceByYear; +import org.apache.tuscany.sca.itest.admin.MyService; +import org.apache.tuscany.sca.itest.admin.MyServiceByDate; +import org.apache.tuscany.sca.itest.admin.MyTotalService; + +@Service(MyTotalService.class) + +public class MyTotalServiceImpl implements MyTotalService +{ + + // This is multiplicity=1:1 + @Reference(required=true) + public MyListService myListService; + + // default required==true so it is 1:1 + @Reference (required=false) + public MyListServiceByYear myListServiceByYear = new MyServiceImpl(); + + // default required==true so it is 1:1 + @Reference + public MyService myService; + + // This is multiplicity=0:1 + @Reference(required=false) + public MyServiceByDate myServiceByDate = new MyServiceImpl(); + + @ComponentName + private String componentName; + + public String[] getHolidays() + { + return myListService.getHolidays(); + } + + public String[] getHolidays(int year) + { + return myListServiceByYear.getHolidays(year); + } + + + public Date nextHoliday(Date date) + { + return myServiceByDate.nextHoliday(date); + } + + public String getLocation() + { + return myService.getLocation(); + } + + public String getYear() + { + return myService.getYear(); + } + + public String getComponentName() + { + return componentName; + } + + public Date nextHoliday() + { + return myService.nextHoliday(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java new file mode 100644 index 0000000000..d278fff8aa --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java @@ -0,0 +1,25 @@ +/* + * 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.admin; + +public interface SCAComponentService +{ + String getComponentName(); + +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceInRecursiveTestCase.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceInRecursiveTestCase.java new file mode 100644 index 0000000000..65924cdd4f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceInRecursiveTestCase.java @@ -0,0 +1,79 @@ +/* + * 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.admin; + +import static junit.framework.Assert.assertEquals; + +import org.apache.tuscany.sca.itest.admin.MyService; +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + + + +public class MySimpleServiceInRecursiveTestCase +{ + private static MyService myServiceOrg; + private static MyService myServiceAnother; + private static MyService myServiceCary; + + private static SCADomain domain; + + + @Test + public void testPropertyDefault() + { + assertEquals("RTP",myServiceOrg.getLocation()); + assertEquals("2006",myServiceOrg.getYear()); + } + + + @Test + public void testPropertyOverrideValue() + { + assertEquals("CARY",myServiceCary.getLocation()); + assertEquals("2007",myServiceCary.getYear()); + } + + + @Test + public void testPropertyOverrideVariable() + { + assertEquals("Durham",myServiceAnother.getLocation()); + assertEquals("2009",myServiceAnother.getYear()); + } + + + @BeforeClass + public static void init() throws Exception { + try { + domain = SCADomain.newInstance("Iteration1Composite.composite"); + } catch ( Exception e ) { e.printStackTrace(); } + + myServiceOrg = domain.getService(MyService.class, "MySimpleServiceInRecursive/MyServiceOrig1"); + myServiceCary = domain.getService(MyService.class, "MySimpleServiceInRecursive/MyServiceCary1"); + myServiceAnother = domain.getService(MyService.class, "MySimpleServiceInRecursiveAnother/MyServiceNew1"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceTestCase.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceTestCase.java new file mode 100644 index 0000000000..35065478f7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceTestCase.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.admin; + +import static junit.framework.Assert.assertEquals; + +import org.apache.tuscany.sca.itest.admin.MyService; +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class MySimpleServiceTestCase +{ + private static SCADomain domain; + private static MyService myServiceOrg; + private static MyService myServiceNew; + private static MyService myServiceCary; + + @Test + public void testPropertyDefault() + { + assertEquals("RTP",myServiceOrg.getLocation()); + assertEquals("2006",myServiceOrg.getYear()); + } + + + @Test + public void testPropertyOverrideWithValue() + { + assertEquals("CARY",myServiceCary.getLocation()); + assertEquals("2007",myServiceCary.getYear()); + } + + + @Test + public void testPropertyOverrideWithVariable() + { + assertEquals("Raleigh",myServiceNew.getLocation()); + assertEquals("2008",myServiceNew.getYear()); + } + + + @BeforeClass + public static void init() throws Exception { + try { + domain = SCADomain.newInstance("MySimpleService.composite"); + } catch ( Exception e ) { System.out.println("Could not initialize " + e.toString()); + e.printStackTrace(); } + myServiceOrg = domain.getService(MyService.class, "MyServiceComponentOrig/MyService"); + myServiceCary = domain.getService(MyService.class, "MyServiceComponentCary2007/MyService"); + myServiceNew = domain.getService(MyService.class, "MyServiceComponentNew/MyService"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceTestCase.java b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceTestCase.java new file mode 100644 index 0000000000..22e60ddcd5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceTestCase.java @@ -0,0 +1,66 @@ +/* + * 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.admin; + +import static junit.framework.Assert.assertEquals; + +import org.apache.tuscany.sca.itest.admin.MyTotalService; +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class MyTotalServiceTestCase +{ + private static MyTotalService myTotalServiceOrg; + private static MyTotalService myTotalServiceNew; + + private static SCADomain domain; + + @Test + public void testPropertyDefault() + { + assertEquals("RTP",myTotalServiceOrg.getLocation()); + assertEquals("2006",myTotalServiceOrg.getYear()); + } + + + @Test + public void testPropertyOverrideVariable() + { + assertEquals("Raleigh",myTotalServiceNew.getLocation()); + assertEquals("2008",myTotalServiceNew.getYear()); + } + + + @BeforeClass + public static void init() throws Exception { + try { + domain = SCADomain.newInstance("Iteration3Composite.composite"); + } catch ( Exception e ) { e.printStackTrace(); } + + myTotalServiceOrg =domain.getService(MyTotalService.class, "MyTotalServiceComponent"); + myTotalServiceNew=domain.getService(MyTotalService.class, "MyTotalServiceNewComponent"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/Iteration1Composite.composite b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/Iteration1Composite.composite new file mode 100644 index 0000000000..95dbbf0124 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/Iteration1Composite.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
+ * "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"
+ xmlns:foo="http://foo"
+ xmlns:cust="http://www.example.com/Customer"
+ xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0"
+ targetNamespace="http://foo"
+ name="Iteration1Composite" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <property name="newLocation" type="xs:anyURI">Raleigh</property>
+ <property name="newYear" type="xs:anyURI">2008</property>
+
+ <property name="anotherLocation" type="xs:anyURI">Durham</property>
+ <property name="anotherYear" type="xs:anyURI">2009</property>
+
+ <component name="MySimpleServiceInRecursive">
+ <implementation.composite name="foo:MySimpleService"/>
+ </component>
+
+ <component name="MySimpleServiceInRecursiveAnother">
+ <implementation.composite name="foo:MySimpleService"/>
+ <property name="newLocation">Durham</property>
+ <property name="newYear">2009</property>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/Iteration3Composite.composite b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/Iteration3Composite.composite new file mode 100644 index 0000000000..dd06d030d6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/Iteration3Composite.composite @@ -0,0 +1,68 @@ +<?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: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" requires="cns:confidentiality"
+ policySets="sns:secure">
+ <property name="newLocation" type="anyURI">Raleigh</property>
+ <property name="newYear" type="anyURI">2008</property>
+
+ <component name="MyServiceComponentOrig">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyServiceImpl"/>
+ </component>
+
+ <component name="MyServiceComponentCary2007">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyServiceImpl"/>
+ <property name="location">CARY</property>
+ <property name="year">2007</property>
+ </component>
+
+ <component name="MyServiceComponentNew">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyServiceImpl"/>
+ <property name="location" source="$newLocation"/>
+ <property name="year" source="$newYear"/>
+ </component>
+
+ <component name="MyTotalServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyTotalServiceImpl"/>
+ <reference name="myService" target="MyServiceComponentOrig/MyService"/>
+ <reference name="myListService" target="MyServiceComponentOrig/MyListService"/>
+ </component>
+
+ <component name="MyTotalServiceNewComponent">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyTotalServiceImpl"/>
+ <reference name="myService" target="MyServiceComponentNew/MyService"/>
+ <reference name="myListService" target="MyServiceComponentNew/MyListService"/>
+ </component>
+
+ <property name="anotherLocation" type="anyURI">Durham</property>
+ <property name="anotherYear" type="anyURI">2009</property>
+
+ <component name="MySimpleServiceInRecursive">
+ <implementation.composite name="foo:MySimpleService"/>
+ </component>
+
+ <component name="MySimpleServiceInRecursiveAnother">
+ <implementation.composite name="foo:MySimpleService"/>
+ <property name="newLocation">Durham</property>
+ <property name="newYear">2009</property>
+ </component>
+</composite>
diff --git a/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/MySimpleService.composite b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/MySimpleService.composite new file mode 100644 index 0000000000..a1f8abb8da --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.2.1/itest/admin/src/test/resources/MySimpleService.composite @@ -0,0 +1,59 @@ +<?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"
+ xmlns:foo="http://foo"
+ xmlns:cust="http://www.example.com/Customer"
+ xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0"
+ targetNamespace="http://foo"
+ name="MySimpleService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <service name="MyServiceCary1" promote="MyServiceComponentCary2007/MyService">
+ <interface.java interface="org.apache.tuscany.sca.itest.admin.MyService"/>
+ </service>
+
+ <service name="MyServiceOrig1" promote="MyServiceComponentOrig/MyService">
+ <interface.java interface="org.apache.tuscany.sca.itest.admin.MyService"/>
+ </service>
+
+ <service name="MyServiceNew1" promote="MyServiceComponentNew/MyService">
+ <interface.java interface="org.apache.tuscany.sca.itest.admin.MyService"/>
+ </service>
+
+ <property name="newLocation" type="anyURI">Raleigh</property>
+ <property name="newYear" type="anyURI">2008</property>
+
+ <component name="MyServiceComponentOrig">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyServiceImpl"/>
+ </component>
+
+ <component name="MyServiceComponentCary2007">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyServiceImpl"/>
+ <property name="location">CARY</property>
+ <property name="year">2007</property>
+ </component>
+
+ <component name="MyServiceComponentNew">
+ <implementation.java class="org.apache.tuscany.sca.itest.admin.MyServiceImpl"/>
+ <property name="location" source="$newLocation"/>
+ <property name="year" source="$newYear"/>
+ </component>
+
+</composite>
|