Modified: 
tuscany/sandbox/travelsample/shared-contributions/scatours-contribution/src/main/java/scatours/SCAToursImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shared-contributions/scatours-contribution/src/main/java/scatours/SCAToursImpl.java?rev=746503&r1=746502&r2=746503&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/shared-contributions/scatours-contribution/src/main/java/scatours/SCAToursImpl.java
 (original)
+++ 
tuscany/sandbox/travelsample/shared-contributions/scatours-contribution/src/main/java/scatours/SCAToursImpl.java
 Sat Feb 21 13:31:55 2009
@@ -40,7 +40,10 @@
 import scatours.tripbooking.TripBooking;
 
 /**
- * An implementation of the Trip service
+ * An implementation of the SCA tours component. This component currently 
provides
+ * a front end to the components that the UI communicated with. It allows a 
conversation
+ * to be held with the shopping cart as javascript doesn't support 
conversations. 
+ * Other than that it's just a pass through so we could look to remove it.
  */
 @Scope("COMPOSITE")
 @Service(interfaces={SCAToursSearch.class, SCAToursBooking.class, 
SCAToursCart.class})
@@ -60,18 +63,13 @@
     
     private Map<String,ShoppingCart> carts = new 
HashMap<String,ShoppingCart>();
     private Map<String,TripBooking> trips = new HashMap<String,TripBooking>();
-    //private Map<String, TripItem> searchItemsCache = new HashMap<String, 
TripItem>();
     
     // SCAToursSearch methods
     
     public TripItem[] search(TripLeg tripLeg) {
         
-        TripItem[] searchItems = travelCatalogSearch.search(tripLeg);
-        
-        //for (int i =0; i< searchItems.length; i++){
-        //    searchItemsCache.put(searchItems[i].getId(), searchItems[i]);
-        //}
-        return searchItems;
+        return travelCatalogSearch.search(tripLeg);
+ 
     } 
 
     // SCAToursBooking methods
@@ -99,64 +97,7 @@
     }
     
     public void checkout(String cartId){
-        shoppingCart.checkout("Fred");
-    }
-    
-/*    
-    public String addTrip(String cartId){
-        String tripId = UUID.randomUUID().toString();
-        ServiceReference<TripBooking> tripReference = 
componentContext.getServiceReference(TripBooking.class, 
-                                                                               
           "tripBooking");
-        tripReference.setConversationID(tripId);
-        trips.put(tripId, tripReference.getService());
-        
-        carts.get(cartId).addItem(tripId);
-        return tripId;
-    }
-    
-    public void removeTrip(String cartId, String tripId) {
-        carts.get(cartId).removeItem(tripId);
-    }
-    
-    public void addTripItem(String cartId, String tripId, String tripItemId){
-        TripItem item = searchItemsCache.get(tripItemId);
-        TripItem itemCopy = new TripItem(item);
-        itemCopy.setTripId(tripId);
-        trips.get(tripId).addTripItem(itemCopy);
-    }
-    
-    public void removeTripItem(String cartId, String tripId, String 
tripItemId){
-        trips.get(tripId).removeTripItem(tripItemId);
-    } 
-    
-    public TripItem[] getTripItems(String cartId) {
-        List<TripItem> returnTripItems = new ArrayList<TripItem>();
-        
-        for( String tripId : carts.get(cartId).getItems()){
-            
returnTripItems.addAll(Arrays.asList(trips.get(tripId).getTripItems()));
-        }
-
-        return returnTripItems.toArray(new TripItem[returnTripItems.size()]);
-    }
-    
-    public double getTotalPrice(String cartId){ 
-        double total = 0.0;
-        
-        for( String tripId : carts.get(cartId).getItems()){
-            total += trips.get(tripId).getTripPrice();
-        }
-
-        return total;
-    }
-    
-    public void checkout(String cartId){ 
-        // get users credentials. Hard coded for now but should
-        // come from the security context
-        String customerId = "Fred Bloggs";
-        float amount = (float)getTotalPrice(cartId);
-        
-        paymentProcess.makePayment(customerId, amount);
-    }
-    
-*/    
+        // need to get the user id from the context here
+        carts.get(cartId).checkout("Fred");
+    }   
 }

Modified: 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/java/scatours/shoppingcart/ShoppingCartImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/java/scatours/shoppingcart/ShoppingCartImpl.java?rev=746503&r1=746502&r2=746503&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/java/scatours/shoppingcart/ShoppingCartImpl.java
 (original)
+++ 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/java/scatours/shoppingcart/ShoppingCartImpl.java
 Sat Feb 21 13:31:55 2009
@@ -32,9 +32,10 @@
 import org.osoa.sca.annotations.Scope;
 import org.osoa.sca.annotations.Service;
 
+import payment.Payment;
+
 
 import scatours.common.TripItem;
-//import scatours.paymentprocess.PaymentProcess;
 
 /**
  * An implementation of the Trip service
@@ -43,8 +44,8 @@
 @Service(interfaces={ShoppingCart.class})
 public class ShoppingCartImpl implements ShoppingCart{
     
- //   @Reference
- //   protected PaymentProcess paymentProcess;   
+    @Reference
+    protected Payment payment;   
 
     @ConversationID
     protected String cartId;
@@ -83,7 +84,18 @@
         // get the total for all the trips
         float amount = (float)0.0;
         
-        //paymentProcess.makePayment(customerId, amount);
+        for (TripItem trip : trips){
+            if (trip.getType().equals(TripItem.TRIP)){
+                amount += trip.getPrice();
+            } else {
+                for (TripItem tripItem : trip.getTripItems()){
+                    amount += tripItem.getPrice();
+                }
+            }
+        }
+        
+        // Take the payment from the customer
+        payment.makePaymentMember(customerId, amount);
     }  
     
 }

Added: 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl?rev=746503&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl
 (added)
+++ 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl
 Sat Feb 21 13:31:55 2009
@@ -0,0 +1,83 @@
+<?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.    
+-->
+<wsdl:definitions name="Payment" 
+                  targetNamespace="http://www.tuscanyscatours.com/Payment/";
+                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
+                  xmlns:tns="http://www.tuscanyscatours.com/Payment/"; 
+                  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
+                  
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/";
+                  
xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/";>
+    <wsdl:types>
+        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
+                    targetNamespace="http://www.tuscanyscatours.com/Payment/";
+                    xmlns:tns="http://www.tuscanyscatours.com/Payment/";>
+
+            <xsd:complexType name="MakePaymentMemberType">
+                <xsd:sequence>
+                    <xsd:element name="CustomerId" 
type="xsd:string"></xsd:element>
+                    <xsd:element name="Amount" type="xsd:float"></xsd:element>
+                </xsd:sequence>
+            </xsd:complexType>                    
+            <xsd:element name="makePaymentMember" 
type="tns:MakePaymentMemberType"/>
+      
+            <xsd:complexType name="MakePaymentMemberResponseType">
+                <xsd:sequence>
+                    <xsd:element name="Status" type="xsd:string"></xsd:element>
+                </xsd:sequence>
+            </xsd:complexType>
+            <xsd:element name="makePaymentMemberResponse" 
type="tns:MakePaymentMemberResponseType"/>
+            
+        </xsd:schema>
+    </wsdl:types>
+    <wsdl:message name="MakePaymentMemberRequest">
+        <wsdl:part name="parameters" 
element="tns:makePaymentMember"></wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="MakePaymentMemberResponse">
+        <wsdl:part name="parameters" 
element="tns:makePaymentMemberResponse"></wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="Payment">
+        <wsdl:operation name="makePaymentMember">
+            <wsdl:input message="tns:MakePaymentMemberRequest"></wsdl:input>
+            <wsdl:output message="tns:MakePaymentMemberResponse"></wsdl:output>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="PaymentBinding" type="tns:Payment">
+        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"; />
+        <wsdl:operation name="makePaymentMember">
+            <soap:operation 
soapAction="http://www.tuscanyscatours.com/Payment/makePayment"; />
+            <wsdl:input>
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="PaymentService">
+        <wsdl:port name="PaymentPort" binding="tns:PaymentBinding">
+            <soap:address location="http://localhost:8083/Payment"; />
+        </wsdl:port>
+    </wsdl:service>
+    
+   <plnk:partnerLinkType name="PaymentLinkType">
+       <plnk:role name="forward" portType="tns:Payment"/>
+   </plnk:partnerLinkType>
+</wsdl:definitions>
\ No newline at end of file

Propchange: 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
tuscany/sandbox/travelsample/shared-contributions/shoppingcart-contribution/src/main/resources/Payment.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml


Reply via email to