diff options
author | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-08 17:53:30 +0000 |
---|---|---|
committer | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-08 17:53:30 +0000 |
commit | f25043a11e089fe743cf00304f735941e07c70d6 (patch) | |
tree | 4ec68ccae2fb2cd8e94121d7d2b60b109df08d74 | |
parent | 0e4846e9b7eed9d2acf12a5924105ede04fe839b (diff) |
Add code for chapter 2
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@742134 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
15 files changed, 349 insertions, 50 deletions
diff --git a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/META-INF/sca-contribution.xml b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/META-INF/sca-contribution.xml index f4010d04b1..38b94949ab 100644 --- a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/META-INF/sca-contribution.xml +++ b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/META-INF/sca-contribution.xml @@ -17,8 +17,7 @@ * specific language governing permissions and limitations * under the License. --> -<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"> - <import.java package="scatours.common"/> - <import.java package="scatours.paymentprocess"/> - <export.java package="scatours.shoppingcart"/> -</contribution>
\ No newline at end of file +<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:gvtrips="http://goodvaluetrips.com/"> + <deployable composite="gvtrips:trips"/> +</contribution> diff --git a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/pom.xml b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/pom.xml index f6198e77f1..e9b9193ee8 100644 --- a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/pom.xml +++ b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.apache.tuscany.sca</groupId> <artifactId>tuscany-sca</artifactId> - <version>1.5-SNAPSHOT</version> + <version>1.4</version> <!--relativePath>../../pom.xml</relativePath--> </parent> <artifactId>scatours-chapter-02-goodvaluetrips-contribution</artifactId> @@ -32,14 +32,16 @@ <dependency> <groupId>org.apache.tuscany.sca</groupId> <artifactId>tuscany-sca-api</artifactId> - <version>1.5-SNAPSHOT</version> + <version>1.4</version> </dependency> - + + <!-- <dependency> <groupId>org.apache.tuscany.sca</groupId> <artifactId>scatours-common-contribution</artifactId> - <version>1.5-SNAPSHOT</version> - </dependency> + <version>1.4</version> + </dependency> + --> <dependency> <groupId>junit</groupId> @@ -47,24 +49,25 @@ <version>4.5</version> <scope>test</scope> </dependency> - </dependencies> <build> - <finalName>${artifactId}</finalName> - <sourceDirectory>${basedir}/src</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.xml</exclude> - <exclude>target/**</exclude> - <exclude>src/**</exclude> - </excludes> - </resource> - </resources> + <finalName>${artifactId}</finalName> + <!-- + <sourceDirectory>${basedir}/src</sourceDirectory> + <resources> + <resource> + <directory>${basedir}</directory> + <excludes> + <exclude>**/*.java</exclude> + <exclude>**/.*/**</exclude> + <exclude>pom.xml</exclude> + <exclude>build.xml</exclude> + <exclude>target/**</exclude> + <exclude>src/**</exclude> + </excludes> + </resource> + </resources> + --> </build> </project> diff --git a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/java/com/goodvaluetrips/TripProvider.java b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/java/com/goodvaluetrips/TripProvider.java new file mode 100644 index 0000000000..d30046aaef --- /dev/null +++ b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/java/com/goodvaluetrips/TripProvider.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 com.goodvaluetrips;
+
+public class TripProvider implements Trips {
+ public String checkAvailability(String trip, int people) {
+ // call non-SCA code to reserve trip and return booking code
+ return "6R98Y";
+ }
+}
diff --git a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/java/com/goodvaluetrips/Trips.java b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/java/com/goodvaluetrips/Trips.java new file mode 100644 index 0000000000..365a210368 --- /dev/null +++ b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/java/com/goodvaluetrips/Trips.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 com.goodvaluetrips;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Trips {
+ String checkAvailability(String trip, int people);
+}
diff --git a/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/resources/trips.composite b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/resources/trips.composite new file mode 100644 index 0000000000..cdd009b1b2 --- /dev/null +++ b/sandbox/travelsample/chapter-02/goodvaluetrips-contribution/src/main/resources/trips.composite @@ -0,0 +1,30 @@ +<?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://goodvaluetrips.com/"
+ name="trips">
+
+ <component name="TripProvider">
+ <implementation.java class="com.goodvaluetrips.TripProvider" />
+ <service name="Trips">
+ <interface.java interface="com.goodvaluetrips.Trips" />
+ </service>
+ </component>
+</composite>
diff --git a/sandbox/travelsample/chapter-02/pom.xml b/sandbox/travelsample/chapter-02/pom.xml index fb8c1bf303..9450cbaeb5 100644 --- a/sandbox/travelsample/chapter-02/pom.xml +++ b/sandbox/travelsample/chapter-02/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.apache.tuscany.sca</groupId> <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> + <version>1.4</version> <!--relativePath>../pom.xml</relativePath--> </parent> <artifactId>tuscany-scatours-chapter-02</artifactId> @@ -38,7 +38,9 @@ <modules> <module>goodvaluetrips-contribution</module> <module>tuscanyscatours-contribution</module> + <!-- <module>node</module> + --> </modules> </profile> diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/META-INF/sca-contribution.xml b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/META-INF/sca-contribution.xml index f4010d04b1..e3614abda3 100644 --- a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/META-INF/sca-contribution.xml +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/META-INF/sca-contribution.xml @@ -17,8 +17,7 @@ * specific language governing permissions and limitations * under the License. --> -<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"> - <import.java package="scatours.common"/> - <import.java package="scatours.paymentprocess"/> - <export.java package="scatours.shoppingcart"/> -</contribution>
\ No newline at end of file +<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:scatours="http://tuscanyscatours.com/"> + <deployable composite="scatours:tours"/> +</contribution> diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/pom.xml b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/pom.xml index 6ad80b3397..f0b8378731 100644 --- a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/pom.xml +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.apache.tuscany.sca</groupId> <artifactId>tuscany-sca</artifactId> - <version>1.5-SNAPSHOT</version> + <version>1.4</version> <!--relativePath>../../pom.xml</relativePath--> </parent> <artifactId>scatours-chapter-02-tuscanyscatours-contribution</artifactId> @@ -32,7 +32,7 @@ <dependency> <groupId>org.apache.tuscany.sca</groupId> <artifactId>tuscany-sca-api</artifactId> - <version>1.5-SNAPSHOT</version> + <version>1.4</version> </dependency> <dependency> @@ -41,24 +41,25 @@ <version>4.5</version> <scope>test</scope> </dependency> - </dependencies> <build> - <finalName>${artifactId}</finalName> - <sourceDirectory>${basedir}/src</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.xml</exclude> - <exclude>target/**</exclude> - <exclude>src/**</exclude> - </excludes> - </resource> - </resources> + <finalName>${artifactId}</finalName> + <!-- + <sourceDirectory>${basedir}/src</sourceDirectory> + <resources> + <resource> + <directory>${basedir}</directory> + <excludes> + <exclude>**/*.java</exclude> + <exclude>**/.*/**</exclude> + <exclude>pom.xml</exclude> + <exclude>build.xml</exclude> + <exclude>target/**</exclude> + <exclude>src/**</exclude> + </excludes> + </resource> + </resources> + --> </build> </project> diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/goodvaluetrips/Trips.java b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/goodvaluetrips/Trips.java new file mode 100644 index 0000000000..365a210368 --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/goodvaluetrips/Trips.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 com.goodvaluetrips;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Trips {
+ String checkAvailability(String trip, int people);
+}
diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Bookings.java b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Bookings.java new file mode 100644 index 0000000000..9d54d46bb6 --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Bookings.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 com.tuscanyscatours;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Bookings {
+ String newBooking(String trip, int people);
+}
diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java new file mode 100644 index 0000000000..688fc7e83b --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.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 com.tuscanyscatours;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Checkout {
+ void makePayment(double amount, String cardInfo);
+}
diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java new file mode 100644 index 0000000000..68bf25a8cd --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.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 com.tuscanyscatours;
+
+public class ShoppingCart implements Checkout, Updates {
+ public void makePayment(double amount, String cardInfo) {
+ // make payment for trips in cart giving card details
+ }
+ public void addTrip(String resCode) {
+ // add the booked trip to the cart
+ }
+}
diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/TripBooking.java b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/TripBooking.java new file mode 100644 index 0000000000..e64d60545e --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/TripBooking.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 com.tuscanyscatours;
+
+import org.osoa.sca.annotations.Reference;
+
+public class TripBooking implements Bookings {
+ @Reference
+ protected com.goodvaluetrips.Trips mytrips;
+
+ @Reference
+ protected Updates cart;
+
+ public String newBooking(String trip, int people) {
+ String resCode = mytrips.checkAvailability(trip, people);
+ cart.addTrip(resCode);
+ return "GV" + resCode;
+ }
+}
diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Updates.java b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Updates.java new file mode 100644 index 0000000000..e33b0399cb --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Updates.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 com.tuscanyscatours;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Updates {
+ void addTrip(String resCode);
+}
diff --git a/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/resources/tours.composite b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/resources/tours.composite new file mode 100644 index 0000000000..62fa1fd792 --- /dev/null +++ b/sandbox/travelsample/chapter-02/tuscanyscatours-contribution/src/main/resources/tours.composite @@ -0,0 +1,46 @@ +<?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://tuscanyscatours.com/"
+ name="tours">
+
+ <component name="TripBooking">
+ <implementation.java class="com.tuscanyscatours.TripBooking" />
+ <service name="Bookings">
+ <interface.java interface="com.tuscanyscatours.Bookings" />
+ </service>
+ <reference name="mytrips" target="TripProvider/Trips">
+ <interface.java interface="com.goodvaluetrips.Trips" />
+ </reference>
+ <reference name="cart" target="ShoppingCart/Updates">
+ <interface.java interface="com.tuscanyscatours.Updates" />
+ </reference>
+ </component>
+
+ <component name="ShoppingCart">
+ <implementation.java class="com.tuscanyscatours.ShoppingCart"/>
+ <service name="Checkout">
+ <interface.java interface="com.tuscanyscatours.Checkout" />
+ </service>
+ <service name="Updates">
+ <interface.java interface="com.tuscanyscatours.Updates" />
+ </service>
+ </component>
+</composite>
|