Added: 
tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripInfo.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripInfo.java?rev=774129&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripInfo.java
 (added)
+++ 
tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripInfo.java
 Tue May 12 23:16:14 2009
@@ -0,0 +1,142 @@
+/*
+ * 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 scatours.trip;
+
+
+public class TripInfo {
+    
+    private String name;
+    private String description;
+    private String fromLocation;
+    private String toLocation;
+    private String fromDate;
+    private String toDate;
+    private String spaces;
+    private double pricePerPerson;
+    private String currency;
+    private String link;
+    
+    public TripInfo() {
+    }  
+    
+    public TripInfo(String name, 
+                    String description, 
+                    String fromLocation,
+                    String toLocation,
+                    String fromDate,
+                    String toDate,
+                    String spaces,
+                    double pricePerPerson,
+                    String currency,
+                    String link) {
+
+        
+        this.name = name;
+        this.description = description;
+        this.fromLocation = fromLocation;
+        this.toLocation = toLocation;
+        this.fromDate = fromDate;
+        this.toDate = toDate;
+        this.spaces = spaces;
+        this.pricePerPerson = pricePerPerson;
+        this.currency = currency;
+        this.link = link;
+    }  
+    
+    public String getName() {
+        return name;
+    }
+    
+    public void setName(String name) {
+        this.name = name;
+    }    
+    
+    public String getDescription() {
+        return description;
+    }
+    
+    public void setDescription(String description) {
+        this.description = description; 
+    }   
+    
+    public String getFromLocation() {
+        return fromLocation;
+    }
+    
+    public void setFromLocation(String fromLocation) {
+        this.fromLocation = fromLocation;
+    }
+    
+    public String getToLocation() {
+        return toLocation;
+    }    
+    
+    public void setToLocation(String toLocation) {
+        this.toLocation = toLocation;
+    }
+    
+    public String getFromDate() {
+        return fromDate;
+    }
+    
+    public void setFromDate(String fromDate) {
+        this.fromDate = fromDate;
+    }
+    
+    public String getToDate() {
+        return toDate;
+    }
+    
+    public void setToDate(String toDate) {
+        this.toDate = toDate;
+    }
+    
+    public String getSpaces() {
+        return spaces;
+    }
+    
+    public void setSpaces(String spaces) {
+        this.spaces = spaces;
+    }
+    
+    public double getPricePerPerson() {
+        return pricePerPerson;
+    }
+    
+    public void setPricePerPerson(double pricePerPerson) {
+        this.pricePerPerson = pricePerPerson;
+    }
+    
+    public String getCurrency() {
+        return currency;
+    }
+    
+    public void setCurrency(String currency) {
+        this.currency = currency;
+    }
+    
+    public String getLink() {
+        return link;
+    }
+    
+    public void setLink(String link) {
+        this.link = link;
+    }
+}
\ No newline at end of file

Added: 
tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/resources/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/resources/META-INF/sca-contribution.xml?rev=774129&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/resources/META-INF/sca-contribution.xml
 (added)
+++ 
tuscany/sandbox/travelsample/contributions/trip-contribution/src/main/resources/META-INF/sca-contribution.xml
 Tue May 12 23:16:14 2009
@@ -0,0 +1,23 @@
+<?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.    
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0";>
+   <import.java package="scatours.common"/>
+   <export.java package="scatours.trip"/>
+</contribution>
\ No newline at end of file

Added: 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/build.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/tripbooking-contribution/build.xml?rev=774129&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/build.xml 
(added)
+++ 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/build.xml 
Tue May 12 23:16:14 2009
@@ -0,0 +1,61 @@
+<!--
+ * 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.    
+-->
+<project name="scatours-tripbooking-contribution" default="compile">
+       <property environment="env"/> 
+       
+    <target name="compile">
+       <mkdir dir="target/classes"/>
+        <javac srcdir="src" destdir="target/classes" 
+                          debug="on" source="1.5" target="1.5">
+            <classpath>
+               <pathelement 
location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </javac>       
+    </target>
+       
+    <target name="run">
+        <java classname="client.CurrencyConverterClient" fork="true">
+            <classpath>
+               <pathelement path="src"/>
+                <pathelement path="target/classes"/>
+                <pathelement 
location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>     
+    </target>  
+       
+    <target name="runtrip">
+        <java classname="client.TripClient" fork="true">
+            <classpath>
+               <pathelement path="src"/>
+                <pathelement path="target/classes"/>
+               <pathelement 
location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>        
+    </target>  
+       
+    <target name="runtripws">
+        <java classname="client.TripWsClient" fork="true">
+            <classpath>
+               <pathelement path="src"/>
+                <pathelement path="target/classes"/>
+                <pathelement 
location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>     
+    </target>          
+</project>

Added: 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/tripbooking-contribution/pom.xml?rev=774129&view=auto
==============================================================================
--- tuscany/sandbox/travelsample/contributions/tripbooking-contribution/pom.xml 
(added)
+++ tuscany/sandbox/travelsample/contributions/tripbooking-contribution/pom.xml 
Tue May 12 23:16:14 2009
@@ -0,0 +1,74 @@
+<?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.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-sca</artifactId>
+        <version>1.5-SNAPSHOT</version>
+        <!--relativePath>../../pom.xml</relativePath-->
+    </parent>
+    <artifactId>scatours-tripbooking-contribution</artifactId>
+    <name>Apache Tuscany SCA Tours Trip Booking Contribution</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-sca-api</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-data-api</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>scatours-common-contribution</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency>   
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>scatours-currency-contribution</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency> 
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>scatours-shoppingcart-contribution</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency>         
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.5</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+</project>

Added: 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBooking.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBooking.java?rev=774129&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBooking.java
 (added)
+++ 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBooking.java
 Tue May 12 23:16:14 2009
@@ -0,0 +1,32 @@
+/*
+ * 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 scatours.tripbooking;
+
+import org.osoa.sca.annotations.Remotable;
+
+import scatours.common.TripItem;
+
+/**
+ * The Trip service interface
+ */
+...@remotable
+public interface TripBooking {
+       
+    TripItem bookTrip(String cartId, TripItem trip);
+}

Added: 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBookingImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBookingImpl.java?rev=774129&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBookingImpl.java
 (added)
+++ 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/java/scatours/tripbooking/TripBookingImpl.java
 Tue May 12 23:16:14 2009
@@ -0,0 +1,135 @@
+/*
+ * 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 scatours.tripbooking;
+
+import org.osoa.sca.ComponentContext;
+import org.osoa.sca.annotations.Context;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import scatours.common.Book;
+import scatours.common.TripItem;
+import scatours.shoppingcart.ShoppingCart;
+
+/**
+ * An implementation of the Trip service
+ */
+...@service(interfaces={TripBooking.class})
+public class TripBookingImpl implements TripBooking{
+
+    @Reference 
+    protected Book hotelBook;
+    
+    @Reference 
+    protected Book flightBook;
+    
+    @Reference 
+    protected Book carBook;
+    
+    @Reference 
+    protected Book tripBook;   
+    
+    @Reference 
+    protected ShoppingCart shoppingCart;
+    
+    @Context
+    protected ComponentContext componentContext;     
+    
+    public TripItem bookTrip(String cartId, TripItem trip) {
+        
+        String bookingCode = "";
+        
+        // book any nested items
+        TripItem[] nestedItems = trip.getTripItems();
+        if (nestedItems != null){
+            for(int i = 0; i < nestedItems.length; i++ ){
+                TripItem tripItem = nestedItems[i];
+                if (tripItem.getType().equals(TripItem.CAR)){
+                    tripItem.setBookingCode(carBook.book(tripItem));
+                } else if (tripItem.getType().equals(TripItem.FLIGHT)){
+                    tripItem.setBookingCode(flightBook.book(tripItem));
+                } else if (tripItem.getType().equals(TripItem.HOTEL)){
+                    tripItem.setBookingCode(hotelBook.book(tripItem));
+                } else {
+                    tripItem.setBookingCode(tripItem.getType() + " is 
invalid");
+                }
+            }
+        }
+        
+        // book the top level item if it's a packaged trip
+        if (trip.getType().equals(TripItem.TRIP)){
+            bookingCode = tripBook.book(trip);
+            trip.setBookingCode(bookingCode);
+        }
+        
+        // add trip to the shopping cart
+        //ServiceReference<ShoppingCart> cart = 
componentContext.getServiceReference(ShoppingCart.class, 
+        //                                                                     
      "shoppingCart");
+        //cart.setConversationID(cartId);
+        //cart.getService().addTrip(trip);
+        
+        return trip;
+    }
+ 
+    /*
+    @ConversationID
+    protected String conversationId;
+    
+    private Map<String, TripItem> tripItems = new HashMap<String, TripItem>();
+     
+    // Trip methods
+    
+    @Init
+    public void initTrip() {
+        System.out.println("Trip init for id: " + conversationId);
+    }
+    
+    @Destroy
+    public void destroyTrip() {
+        System.out.println("Trip destroy for id: " + conversationId);
+    }
+    
+    
+    public void addTripItem(TripItem tripItem){
+        tripItems.put(tripItem.getId(), tripItem);
+    }
+    
+    public void removeTripItem(String id){
+        tripItems.remove(id);
+    }  
+    
+    public TripItem[] getTripItems() {
+        return tripItems.values().toArray(new TripItem[tripItems.size()]);
+    }
+    
+    public double getTripPrice(){ 
+        double totalPrice = 0.0;
+        
+        for (TripItem tripItem : tripItems.values()){
+            totalPrice += tripItem.getPrice();
+        }
+        
+        return totalPrice;
+    }
+    
+    public void bookTrip() {
+        // TODO
+    }
+    */
+}

Added: 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/resources/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/resources/META-INF/sca-contribution.xml?rev=774129&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/resources/META-INF/sca-contribution.xml
 (added)
+++ 
tuscany/sandbox/travelsample/contributions/tripbooking-contribution/src/main/resources/META-INF/sca-contribution.xml
 Tue May 12 23:16:14 2009
@@ -0,0 +1,25 @@
+<?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.    
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0";>
+   <import.java package="scatours.common"/>
+   <import.java package="scatours.currencyconverter"/>
+   <import.java package="scatours.shoppingcart"/>
+   <export.java package="scatours.tripbooking"/>
+</contribution>
\ No newline at end of file


Reply via email to