diff options
Diffstat (limited to '')
5 files changed, 181 insertions, 0 deletions
diff --git a/sandbox/travelsample/calendar-contribution/src/main/java/calendar/Calendar.java b/sandbox/travelsample/calendar-contribution/src/main/java/calendar/Calendar.java new file mode 100644 index 0000000000..90736b92b4 --- /dev/null +++ b/sandbox/travelsample/calendar-contribution/src/main/java/calendar/Calendar.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 calendar; + +/** + * The Add service interface + */ +public interface Calendar { + + String getEndDate(String startDate, int duration); + +} diff --git a/sandbox/travelsample/calendar-contribution/src/main/java/calendar/CalendarImpl.java b/sandbox/travelsample/calendar-contribution/src/main/java/calendar/CalendarImpl.java new file mode 100644 index 0000000000..343926da65 --- /dev/null +++ b/sandbox/travelsample/calendar-contribution/src/main/java/calendar/CalendarImpl.java @@ -0,0 +1,48 @@ +/* + * 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 calendar; + +import java.text.DateFormat; +import java.util.Date; +import java.util.TimeZone; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * An implementation of the Add service + */ +public class CalendarImpl implements Calendar { + + public String getEndDate(String startDate, int duration){ + String returnDate = "Invalid Date"; + + try { + Date date = DateFormat.getInstance().parse(startDate); + java.util.Calendar calendar = java.util.Calendar.getInstance(); + calendar.setTime(date); + calendar.add(java.util.Calendar.DATE, duration); + returnDate = DateFormat.getInstance().format(calendar.getTime()); + } catch (Exception ex){ + // do nothing + System.out.println(ex.toString()); + } + + return returnDate; + } +} diff --git a/sandbox/travelsample/calendar-contribution/src/main/resources/calendar.composite b/sandbox/travelsample/calendar-contribution/src/main/resources/calendar.composite new file mode 100644 index 0000000000..b72c450446 --- /dev/null +++ b/sandbox/travelsample/calendar-contribution/src/main/resources/calendar.composite @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://travel" + xmlns:sample="http://travel" + name="calendar"> + + <component name="CalendarComponent"> + <implementation.java class="calendar.CalendarImpl"/> + </component> + +</composite> diff --git a/sandbox/travelsample/calendar-contribution/src/test/java/calendar/CalendarTestCase.java b/sandbox/travelsample/calendar-contribution/src/test/java/calendar/CalendarTestCase.java new file mode 100644 index 0000000000..fee00fbb0a --- /dev/null +++ b/sandbox/travelsample/calendar-contribution/src/test/java/calendar/CalendarTestCase.java @@ -0,0 +1,47 @@ +/* + * 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 calendar; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This shows how to test the Calculator service component. + */ +public class CalendarTestCase extends TestCase { + + private Calendar calendar; + private SCADomain scaDomain; + + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("calendar.composite"); + calendar = scaDomain.getService(Calendar.class, "CalendarComponent"); + } + + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testCalculator() throws Exception { + System.out.println(calendar.getEndDate("07/10/96 04:05", 3)); + } +} diff --git a/sandbox/travelsample/calendar-contribution/src/test/resources/calendar.composite b/sandbox/travelsample/calendar-contribution/src/test/resources/calendar.composite new file mode 100644 index 0000000000..b72c450446 --- /dev/null +++ b/sandbox/travelsample/calendar-contribution/src/test/resources/calendar.composite @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://travel" + xmlns:sample="http://travel" + name="calendar"> + + <component name="CalendarComponent"> + <implementation.java class="calendar.CalendarImpl"/> + </component> + +</composite> |