diff options
Diffstat (limited to 'branches/sca-java-1.2.1/itest/admin/src/main/java/org')
10 files changed, 496 insertions, 0 deletions
diff --git a/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java b/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/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/branches/sca-java-1.2.1/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java b/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/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(); + +} |