diff options
Diffstat (limited to 'branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest')
10 files changed, 324 insertions, 0 deletions
diff --git a/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java new file mode 100644 index 0000000000..b3d2137767 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java @@ -0,0 +1,9 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java new file mode 100644 index 0000000000..025302fb6d --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java @@ -0,0 +1,8 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java new file mode 100644 index 0000000000..de480e6d85 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java @@ -0,0 +1,69 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java new file mode 100644 index 0000000000..8ff146b630 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java @@ -0,0 +1,17 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java new file mode 100644 index 0000000000..638c6aff8c --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java @@ -0,0 +1,9 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java new file mode 100644 index 0000000000..bd820884e7 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java @@ -0,0 +1,10 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java new file mode 100644 index 0000000000..fa2720001b --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java @@ -0,0 +1,113 @@ +package org.apache.tuscany.sca.itest.admin;
+
+import java.util.Date;
+
+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;
+import org.apache.tuscany.sca.itest.admin.MyListService;
+import org.apache.tuscany.sca.itest.admin.MyListServiceByYear;
+import org.apache.tuscany.sca.itest.admin.MyLogger;
+import org.apache.tuscany.sca.itest.admin.MyService;
+import org.apache.tuscany.sca.itest.admin.MyServiceByDate;
+
+
+@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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java new file mode 100644 index 0000000000..eec64fa0d8 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java @@ -0,0 +1,6 @@ +package org.apache.tuscany.sca.itest.admin;
+
+public interface MyTotalService extends MyListService, MyListServiceByYear, MyService, MyServiceByDate
+{
+
+}
diff --git a/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java new file mode 100644 index 0000000000..d712662cb3 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java @@ -0,0 +1,74 @@ +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-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java new file mode 100644 index 0000000000..42fa3f0c41 --- /dev/null +++ b/branches/sca-android/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java @@ -0,0 +1,9 @@ +package org.apache.tuscany.sca.itest.admin;
+
+
+
+public interface SCAComponentService
+{
+ String getComponentName();
+
+}
|