Author: slaws
Date: Mon Jan  5 03:49:06 2009
New Revision: 731534

URL: http://svn.apache.org/viewvc?rev=731534&view=rev
Log:
Add in shopping cart and extend scenario to talk to payment process. Now needs 
a revamp to simplify and to allow preconfigured trips to be added to the cart. 

Added:
    
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/
    
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java
   (with props)
    
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java
   (with props)
Removed:
    tuscany/sandbox/travelsample/paymentprocess-contribution/META-INF/
    tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/travel/
Modified:
    
tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java
    tuscany/sandbox/travelsample/emailgateway-contribution/pom.xml
    
tuscany/sandbox/travelsample/emailgateway-contribution/test/scatours/emailgateway/EmailGatewayTestCase.java
    tuscany/sandbox/travelsample/node/build.xml
    tuscany/sandbox/travelsample/node/pom.xml
    tuscany/sandbox/travelsample/node/src/scatours/LaunchNode.java
    
tuscany/sandbox/travelsample/payment-contribution/META-INF/sca-contribution.xml
    tuscany/sandbox/travelsample/payment-contribution/pom.xml
    
tuscany/sandbox/travelsample/paymentprocess-contribution/paymentprocesstest.composite
    tuscany/sandbox/travelsample/paymentprocess-contribution/pom.xml
    
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/META-INF/sca-contribution.xml
    
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/PaymentProcess.wsdl
    
tuscany/sandbox/travelsample/paymentprocess-contribution/test/scatours/paymentprocess/PaymentProcessTestCase.java
    
tuscany/sandbox/travelsample/scatours-contribution/META-INF/sca-contribution.xml
    tuscany/sandbox/travelsample/scatours-contribution/pom.xml
    
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursBooking.java
    
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursImpl.java
    
tuscany/sandbox/travelsample/shoppingcart-contribution/META-INF/sca-contribution.xml
    tuscany/sandbox/travelsample/shoppingcart-contribution/pom.xml
    tuscany/sandbox/travelsample/ui-contribution/META-INF/sca-contribution.xml
    tuscany/sandbox/travelsample/ui-contribution/scatours.composite
    tuscany/sandbox/travelsample/ui-contribution/scatours.html

Modified: 
tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java
 (original)
+++ 
tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java
 Mon Jan  5 03:49:06 2009
@@ -37,6 +37,20 @@
     public TripItem() {
     }  
     
+    public TripItem(TripItem item) {
+        this.id = item.getId();
+        this.tripId = item.getTripId();
+        this.type = item.getType();
+        this.name = item.getName();
+        this.description = item.getDescription();
+        this.location = item.getLocation();
+        this.fromDate = item.getFromDate();
+        this.toDate = item.getToDate();
+        this.price = item.getPrice();
+        this.currency = item.getCurrency();
+        this.link = item.getLink();
+    } 
+    
     public TripItem(String id, 
                     String tripId,
                     String type, 

Modified: tuscany/sandbox/travelsample/emailgateway-contribution/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/emailgateway-contribution/pom.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/emailgateway-contribution/pom.xml (original)
+++ tuscany/sandbox/travelsample/emailgateway-contribution/pom.xml Mon Jan  5 
03:49:06 2009
@@ -86,9 +86,24 @@
                     <exclude>target/**</exclude>
                     <exclude>src/**</exclude>
                     <exclude>test/**</exclude>
+                    <exclude>*.composite</exclude>
                 </excludes>
             </resource>
         </resources>
+        <testResources>
+            <testResource>
+                <directory>${basedir}</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                    <exclude>**/.*/**</exclude>
+                    <exclude>pom.xml</exclude>
+                    <exclude>build.xml</exclude>
+                    <exclude>target/**</exclude>
+                    <exclude>src/**</exclude>
+                    <exclude>test/**</exclude>
+                </excludes>
+            </testResource>
+        </testResources>
     <plugins>
         <plugin>
             <groupId>org.codehaus.mojo</groupId>

Modified: 
tuscany/sandbox/travelsample/emailgateway-contribution/test/scatours/emailgateway/EmailGatewayTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/emailgateway-contribution/test/scatours/emailgateway/EmailGatewayTestCase.java?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/emailgateway-contribution/test/scatours/emailgateway/EmailGatewayTestCase.java
 (original)
+++ 
tuscany/sandbox/travelsample/emailgateway-contribution/test/scatours/emailgateway/EmailGatewayTestCase.java
 Mon Jan  5 03:49:06 2009
@@ -24,6 +24,7 @@
 import org.apache.tuscany.sca.node.SCANodeFactory;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -55,6 +56,7 @@
     }
     
     @Test
+    //@Ignore
     public void testWaitForInput() {
         System.out.println("Press a key to end");
         try {

Modified: tuscany/sandbox/travelsample/node/build.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/node/build.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/node/build.xml (original)
+++ tuscany/sandbox/travelsample/node/build.xml Mon Jan  5 03:49:06 2009
@@ -91,6 +91,7 @@
         <include name="tuscany-databinding-jaxb-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-databinding-jaxb-axiom-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-databinding-json-1.5-SNAPSHOT.jar"/>
+        <include name="tuscany-databinding-sdo-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-definitions-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-definitions-xml-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-domain-manager-1.5-SNAPSHOT.jar"/>
@@ -99,6 +100,8 @@
         <include name="tuscany-host-embedded-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-host-http-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-host-jetty-1.5-SNAPSHOT.jar"/>
+        <include name="tuscany-implementation-bpel-1.5-SNAPSHOT.jar"/>
+        <include name="tuscany-implementation-bpel-ode-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-implementation-ejb-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-implementation-java-1.5-SNAPSHOT.jar"/>
         <include name="tuscany-implementation-java-runtime-1.5-SNAPSHOT.jar"/>
@@ -143,11 +146,13 @@
         <include name="abdera-parser-0.4.0-incubating.jar"/>
         <include name="abdera-server-0.4.0-incubating.jar"/>
         <include name="activation-1.1.jar"/>
+        <include name="activeio-2.0-r118.jar"/>
         <include name="annogen-0.1.0.jar"/>
         <include name="asm-all-3.1.jar"/>
         <include name="axiom-api-1.2.7.jar"/>
         <include name="axiom-dom-1.2.7.jar"/>
         <include name="axiom-impl-1.2.7.jar"/>
+        <include name="axion-1.0-M3-dev.jar"/>
         <include name="axis-ant-1.4.jar"/>
         <include name="axis2-adb-1.4.1.jar"/>
         <include name="axis2-codegen-1.4.1.jar"/>
@@ -157,27 +162,58 @@
         <include name="backport-util-concurrent-3.1.jar"/>
         <include name="bcprov-jdk13-132.jar"/>
         <include name="cglib-nodep-2.1_3.jar"/>
+        <include name="common-2.2.3.jar"/>
         <include name="commons-codec-1.3.jar"/>
         <include name="commons-collections-3.1.jar"/>
         <include name="commons-discovery-0.2.jar"/>
         <include name="commons-fileupload-1.2.jar"/>
         <include name="commons-httpclient-3.1.jar"/>
         <include name="commons-io-1.4.jar"/>
+        <include name="commons-jexl-1.1.jar"/>
+        <include name="commons-lang-2.1.jar"/>
         <include name="commons-logging-1.1.1.jar"/>
+        <include name="commons-primitives-1.0.jar"/>
         <include name="derby-10.3.1.4.jar"/>
+        <include name="dom4j-1.6.1.jar"/>
+        <include name="ecore-2.2.3.jar"/>
+        <include name="ecore-change-2.2.3.jar"/>
+        <include name="ecore-xmi-2.2.3.jar"/>
         <include name="geronimo-activation_1.1_spec-1.0.1.jar"/>
+        <include name="geronimo-common-1.2-beta.jar"/>
         <include name="geronimo-commonj_1.1_spec-1.0.jar"/>
+        <include name="geronimo-connector-1.2-beta.jar"/>
+        <include name="geronimo-core-1.2-beta.jar"/>
+        <include name="geronimo-deployment-1.2-beta.jar"/>
         <include name="geronimo-ejb_3.0_spec-1.0.jar"/>
+        <include name="geronimo-interceptor-1.2-beta.jar"/>
+        <include name="geronimo-j2ee-1.2-beta.jar"/>
+        <include name="geronimo-j2ee-connector_1.5_spec-1.1.jar"/>
+        <include name="geronimo-j2ee-jacc_1.0_spec-1.1.jar"/>
+        <include name="geronimo-j2ee-management_1.0_spec-1.1.jar"/>
         <include name="geronimo-javamail_1.4_spec-1.2.jar"/>
         <include name="geronimo-jms_1.1_spec-1.1.jar"/>
+        <include name="geronimo-jpa_3.0_spec-1.0.jar"/>
+        <include name="geronimo-jta_1.0.1B_spec-1.0.jar"/>
+        <include name="geronimo-kernel-1.2-beta.jar"/>
+        <include name="geronimo-management-1.2-beta.jar"/>
+        <include name="geronimo-naming-1.2-beta.jar"/>
+        <include name="geronimo-security-1.2-beta.jar"/>
+        <include name="geronimo-spec-j2ee-connector-1.5-rc4.jar"/>
+        <include name="geronimo-spec-jta-1.0.1B-rc4.jar"/>
         <include name="geronimo-stax-api_1.0_spec-1.0.1.jar"/>
+        <include name="geronimo-system-1.2-beta.jar"/>
+        <include name="geronimo-transaction-1.2-beta.jar"/>
+        <include name="geronimo-util-1.2-beta.jar"/>
+        <include name="howl-1.0.1-1.jar"/>
         <include name="htmlparser-1.0.5.jar"/>
         <include name="httpcore-4.0-beta1.jar"/>
         <include name="httpcore-nio-4.0-beta1.jar"/>
+        <include name="javacc-3.2.jar"/>
         <include name="jaxb-api-2.1.jar"/>
         <include name="jaxb-impl-2.1.7.jar"/>
         <include name="jaxen-1.1.1.jar"/>
         <include name="jaxws-api-2.1.jar"/>
+        <include name="jdom-1.0.jar"/>
         <include name="jettison-1.0.1.jar"/>
         <include name="jetty-6.1.7.jar"/>
         <include name="jetty-util-6.1.7.jar"/>
@@ -185,26 +221,54 @@
         <include name="jsr181-api-1.0-MR1.jar"/>
         <include name="jsr250-api-1.0.jar"/>
         <include name="junit-4.5.jar"/>
-        <include name="log4j-1.2.15.jar"/>
+        <include name="log4j-1.2.13.jar"/>
         <include name="mail-1.4.jar"/>
         <include name="mex-1.41-impl.jar"/>
         <include name="neethi-2.0.4.jar"/>
+        <include name="ode-bpel-api-1.1.1.jar"/>
+        <include name="ode-bpel-compiler-1.1.1.jar"/>
+        <include name="ode-bpel-dao-1.1.1.jar"/>
+        <include name="ode-bpel-epr-1.1.1.jar"/>
+        <include name="ode-bpel-obj-1.1.1.jar"/>
+        <include name="ode-bpel-runtime-1.1.1.jar"/>
+        <include name="ode-bpel-schemas-1.1.1.jar"/>
+        <include name="ode-bpel-store-1.1.1.jar"/>
+        <include name="ode-dao-jpa-1.1.1.jar"/>
+        <include name="ode-jacob-1.1.1.jar"/>
+        <include name="ode-jacob-ap-1.1.1.jar"/>
+        <include name="ode-scheduler-simple-1.1.1.jar"/>
+        <include name="ode-utils-1.1.1.jar"/>
+        <include name="openjpa-all-0.9.7-incubating.jar"/>
+        <include name="openjpa-persistence-0.9.7-incubating.jar"/>
         <include name="opensaml-1.1.jar"/>
         <include name="rampart-core-1.4.jar"/>
         <include name="rampart-policy-1.4.jar"/>
         <include name="rampart-trust-1.4.jar"/>
+        <include name="regexp-1.3.jar"/>
+        <include name="saxon-8.7.jar"/>
+        <include name="saxon-dom-8.7.jar"/>
+        <include name="saxon-xpath-8.7.jar"/>
+        <include name="serp-1.12.0.jar"/>
         <include name="servlet-api-2.5.jar"/>
         <include name="stax-api-1.0-2.jar"/>
+        <include name="tranql-connector-1.1.jar"/>
+        <include name="tuscany-sdo-api-r2.1-1.1.1.jar"/>
+        <include name="tuscany-sdo-impl-1.1.1.jar"/>
+        <include name="tuscany-sdo-lib-1.1.1.jar"/>
         <include name="woden-api-1.0M8.jar"/>
         <include name="woden-impl-dom-1.0M8.jar"/>
         <include name="wsdl4j-1.6.2.jar"/>
         <include name="wss4j-1.5.4.jar"/>
         <include name="wstx-asl-3.2.4.jar"/>
         <include name="xalan-2.7.0.jar"/>
+        <include name="xbean-naming-2.7.jar"/>
         <include name="xercesImpl-2.8.1.jar"/>
         <include name="xml-apis-1.3.03.jar"/>
+        <include name="xml-resolver-1.1.jar"/>
         <include name="xmlParserAPIs-2.6.0.jar"/>
+        <include name="xmlbeans-2.3.0.jar"/>
         <include name="xmlsec-1.4.2.jar"/>
+        <include name="xsd-2.2.3.jar"/>
     </fileset>
 
 </project>

Modified: tuscany/sandbox/travelsample/node/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/node/pom.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/node/pom.xml (original)
+++ tuscany/sandbox/travelsample/node/pom.xml Mon Jan  5 03:49:06 2009
@@ -124,6 +124,13 @@
             <version>1.5-SNAPSHOT</version>
             <scope>runtime</scope>
         </dependency>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-bpel-ode</artifactId>
+            <version>1.5-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>        
 
         <dependency>
             <groupId>org.apache.derby</groupId>

Modified: tuscany/sandbox/travelsample/node/src/scatours/LaunchNode.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/node/src/scatours/LaunchNode.java?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/node/src/scatours/LaunchNode.java (original)
+++ tuscany/sandbox/travelsample/node/src/scatours/LaunchNode.java Mon Jan  5 
03:49:06 2009
@@ -74,6 +74,10 @@
                                                                new 
SCAContribution("car", "../car-contribution/target/classes"),
                                                                new 
SCAContribution("tripbooking", "../tripbooking-contribution/target/classes"),
                                                                new 
SCAContribution("travelcatalog", 
"../travelcatalog-contribution/target/classes"),
+                                                               new 
SCAContribution("payment", "../payment-contribution/target/classes"),
+                                                               new 
SCAContribution("emailgateway", "../emailgateway-contribution/target/classes"),
+                                                               new 
SCAContribution("paymentprocess", 
"../paymentprocess-contribution/target/classes"),
+                                                               new 
SCAContribution("shoppingcart", "../shoppingcart-contribution/target/classes"),
                                                                new 
SCAContribution("scatours", "../scatours-contribution/target/classes"),
                                                                new 
SCAContribution("ui", "../ui-contribution/target/classes"));
             node.start();

Modified: 
tuscany/sandbox/travelsample/payment-contribution/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/payment-contribution/META-INF/sca-contribution.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/payment-contribution/META-INF/sca-contribution.xml 
(original)
+++ 
tuscany/sandbox/travelsample/payment-contribution/META-INF/sca-contribution.xml 
Mon Jan  5 03:49:06 2009
@@ -18,5 +18,8 @@
     * under the License.    
 -->
 <contribution xmlns="http://www.osoa.org/xmlns/sca/1.0";>
-   <export.java package="scatours.payment"/>
+   <export.java package="payment.creditcard"/>
+   <export.java package="payment.creditcard.impl"/>
+   <export.java package="payment.creditcard.ws"/>
+   <export.java package="payment.creditcard.ws.impl"/>
 </contribution>
\ No newline at end of file

Modified: tuscany/sandbox/travelsample/payment-contribution/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/payment-contribution/pom.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/payment-contribution/pom.xml (original)
+++ tuscany/sandbox/travelsample/payment-contribution/pom.xml Mon Jan  5 
03:49:06 2009
@@ -86,9 +86,24 @@
                     <exclude>target/**</exclude>
                     <exclude>src/**</exclude>
                     <exclude>test/**</exclude>
+                    <exclude>*.composite</exclude>
                 </excludes>
             </resource>
         </resources>
+        <testResources>
+            <testResource>
+                <directory>${basedir}</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                    <exclude>**/.*/**</exclude>
+                    <exclude>pom.xml</exclude>
+                    <exclude>build.xml</exclude>
+                    <exclude>target/**</exclude>
+                    <exclude>src/**</exclude>
+                    <exclude>test/**</exclude>
+                </excludes>
+            </testResource>
+        </testResources>        
     <plugins>
         <plugin>
             <groupId>org.codehaus.mojo</groupId>

Modified: 
tuscany/sandbox/travelsample/paymentprocess-contribution/paymentprocesstest.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/paymentprocess-contribution/paymentprocesstest.composite?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/paymentprocess-contribution/paymentprocesstest.composite
 (original)
+++ 
tuscany/sandbox/travelsample/paymentprocess-contribution/paymentprocesstest.composite
 Mon Jan  5 03:49:06 2009
@@ -26,7 +26,7 @@
     <component name="PaymentProcessClient">
         <implementation.java 
class="scatours.paymentprocess.PaymentProcessClientImpl" />
         <reference name="paymentProcess">
-            <binding.ws uri="http://localhost:8080/PaymentProcess"; />
+            <binding.ws uri="http://localhost:8083/PaymentProcess"; />
         </reference>
     </component>
     
@@ -34,7 +34,7 @@
         <implementation.bpel process="pp:PaymentProcess"/>
         <service name="paymentProcessPartnerLink">
             <interface.wsdl 
interface="http://www.example.org/PaymentProcess/#wsdl.interface(PaymentProcess)"
 />
-            <binding.ws uri="http://localhost:8080/PaymentProcess"; 
wsdlElement="http://www.example.org/PaymentProcess/#wsdl.service(PaymentProcessService)"/>
+            <binding.ws uri="http://localhost:8083/PaymentProcess"; 
wsdlElement="http://www.example.org/PaymentProcess/#wsdl.service(PaymentProcessService)"/>
         </service>
         <reference name="creditCardPaymentPartnerLink">
             <binding.ws uri="http://localhost:8081/CreditCardPayment"/>

Modified: tuscany/sandbox/travelsample/paymentprocess-contribution/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/paymentprocess-contribution/pom.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/paymentprocess-contribution/pom.xml (original)
+++ tuscany/sandbox/travelsample/paymentprocess-contribution/pom.xml Mon Jan  5 
03:49:06 2009
@@ -79,14 +79,19 @@
             <resource>
                 <directory>${basedir}/resources</directory>
             </resource>
-            <resource>
+        </resources>
+        <testResources>
+            <testResource>
+                <directory>${basedir}/resources</directory>
+            </testResource>
+            <testResource>
                 <directory>${basedir}</directory>
                 <includes>
                     <include>*.composite</include>
                     <include>*.properties</include>
                 </includes>
-            </resource>
-        </resources>
+            </testResource>
+        </testResources>
     <plugins>
         <plugin>
             <groupId>org.codehaus.mojo</groupId>
@@ -120,7 +125,7 @@
                     </goals>
                     <configuration>
                         <packageName>scatours.paymentprocess</packageName>
-                        <wsdlDirectory>${basedir}/src/scatours/paymentprocess
+                        <wsdlDirectory>${basedir}/resources
                         </wsdlDirectory>
                         <wsdlFiles>
                             <wsdlFile>PaymentProcess.wsdl</wsdlFile>

Modified: 
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/paymentprocess-contribution/resources/META-INF/sca-contribution.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/META-INF/sca-contribution.xml
 (original)
+++ 
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/META-INF/sca-contribution.xml
 Mon Jan  5 03:49:06 2009
@@ -18,5 +18,6 @@
     * under the License.    
 -->
 <contribution xmlns="http://www.osoa.org/xmlns/sca/1.0";>
-   <export.java package="scatours.payment"/>
+   <export.java package="scatours.paymentprocess"/>
+   <export namespace="http://www.example.org/PaymentProcess/"/>
 </contribution>
\ No newline at end of file

Modified: 
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/PaymentProcess.wsdl
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/paymentprocess-contribution/resources/PaymentProcess.wsdl?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/PaymentProcess.wsdl
 (original)
+++ 
tuscany/sandbox/travelsample/paymentprocess-contribution/resources/PaymentProcess.wsdl
 Mon Jan  5 03:49:06 2009
@@ -73,7 +73,7 @@
     </wsdl:binding>
     <wsdl:service name="PaymentProcessService">
         <wsdl:port name="PaymentProcessPort" 
binding="tns:PaymentProcessBinding">
-            <soap:address location="http://localhost:8080/PaymentProcess"; />
+            <soap:address location="http://localhost:8083/PaymentProcess"; />
         </wsdl:port>
     </wsdl:service>
     

Modified: 
tuscany/sandbox/travelsample/paymentprocess-contribution/test/scatours/paymentprocess/PaymentProcessTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/paymentprocess-contribution/test/scatours/paymentprocess/PaymentProcessTestCase.java?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/paymentprocess-contribution/test/scatours/paymentprocess/PaymentProcessTestCase.java
 (original)
+++ 
tuscany/sandbox/travelsample/paymentprocess-contribution/test/scatours/paymentprocess/PaymentProcessTestCase.java
 Mon Jan  5 03:49:06 2009
@@ -24,6 +24,7 @@
 import org.apache.tuscany.sca.node.SCANodeFactory;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -43,11 +44,23 @@
     }
     
     @Test
+    @Ignore
     public void testPaymentProcess() {
         SCAClient client = (SCAClient) node;
         PaymentProcess pp = client.getService(PaymentProcess.class, 
"PaymentProcessClient");
         System.out.println("Result = " + pp.makePayment("Fred", 100.00f));
     }
+    
+    @Test
+    //@Ignore
+    public void testWaitForInput() {
+        System.out.println("Press a key to end");
+        try {
+            System.in.read();
+        } catch (Exception ex) {
+        }
+        System.out.println("Shutting down");
+    }    
 
     /**
      * @throws java.lang.Exception

Modified: 
tuscany/sandbox/travelsample/scatours-contribution/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/scatours-contribution/META-INF/sca-contribution.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/scatours-contribution/META-INF/sca-contribution.xml
 (original)
+++ 
tuscany/sandbox/travelsample/scatours-contribution/META-INF/sca-contribution.xml
 Mon Jan  5 03:49:06 2009
@@ -22,5 +22,7 @@
    <import.java package="scatours.currencyconverter"/>
    <import.java package="scatours.travelcatalog"/>
    <import.java package="scatours.tripbooking"/>
+   <import.java package="scatours.paymentprocess"/>
+   <import.java package="scatours.shoppingcart"/>
    <export.java package="scatours"/>
 </contribution>
\ No newline at end of file

Modified: tuscany/sandbox/travelsample/scatours-contribution/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/scatours-contribution/pom.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/scatours-contribution/pom.xml (original)
+++ tuscany/sandbox/travelsample/scatours-contribution/pom.xml Mon Jan  5 
03:49:06 2009
@@ -69,7 +69,13 @@
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>scatours-shoppingcart-contribution</artifactId>
             <version>1.5-SNAPSHOT</version>
-        </dependency>         
+        </dependency>     
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>scatours-paymentprocess-contribution</artifactId>
+            <version>1.5-SNAPSHOT</version>
+        </dependency>
 
         <dependency>
             <groupId>junit</groupId>

Modified: 
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursBooking.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursBooking.java?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursBooking.java
 (original)
+++ 
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursBooking.java
 Mon Jan  5 03:49:06 2009
@@ -28,9 +28,12 @@
  */
 @Remotable
 public interface SCAToursBooking {
-    String newTrip();
-    void addTripItem(String tripId, String tripItemId);
-    void removeTripItem(String tripId, String tripItemId);
-    TripItem[] getTripItems(String tripId);
-    double getTotalPrice(String tripId);
+    String addCart();
+    String addTrip(String cartId);
+    void removeTrip(String cartId, String tripId);
+    void addTripItem(String cartId, String tripId, String tripItemId);
+    void removeTripItem(String cartId, String tripId, String tripItemId);
+    TripItem[] getTripItems(String cartId);
+    double getTotalPrice(String cartId);
+    void checkout(String name);
 }

Modified: 
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursImpl.java?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursImpl.java
 (original)
+++ 
tuscany/sandbox/travelsample/scatours-contribution/src/scatours/SCAToursImpl.java
 Mon Jan  5 03:49:06 2009
@@ -19,28 +19,23 @@
 package scatours;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import org.apache.tuscany.sca.data.collection.Entry;
-import org.apache.tuscany.sca.data.collection.NotFoundException;
-import org.osoa.sca.CallableReference;
 import org.osoa.sca.ComponentContext;
-import org.osoa.sca.RequestContext;
 import org.osoa.sca.ServiceReference;
 import org.osoa.sca.annotations.Context;
-import org.osoa.sca.annotations.Property;
 import org.osoa.sca.annotations.Reference;
 import org.osoa.sca.annotations.Scope;
 import org.osoa.sca.annotations.Service;
 
-import scatours.common.Search;
-import scatours.common.SearchCallback;
 import scatours.common.TripItem;
 import scatours.common.TripLeg;
-import scatours.currencyconverter.CurrencyConverter;
+import scatours.paymentprocess.PaymentProcess;
+import scatours.shoppingcart.ShoppingCart;
 import scatours.travelcatalog.TravelCatalogSearch;
 import scatours.tripbooking.TripBooking;
 
@@ -57,13 +52,20 @@
     @Reference 
     protected TripBooking tripBooking;
     
+    @Reference 
+    protected ShoppingCart shoppingCart;
+    
+    @Reference
+    protected PaymentProcess paymentProcess;    
+    
     @Context
     protected ComponentContext componentContext;  
     
+    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>();
     
-    // TravelSearch methods
+    // TravelCatalogSearch methods
     
     public TripItem[] search(TripLeg tripLeg) {
         
@@ -75,34 +77,70 @@
         return searchItems;
     } 
 
-    // TravelBooking methods
+    // SCAToursBooking methods
     
-    public String newTrip(){
+    public String addCart(){
+        String cartId = UUID.randomUUID().toString();
+        ServiceReference<ShoppingCart> shoppingCart = 
componentContext.getServiceReference(ShoppingCart.class, 
+                                                                               
            "shoppingCart");
+        shoppingCart.setConversationID(cartId);
+        carts.put(cartId, shoppingCart.getService());
+        
+        return cartId;
+    }     
+    
+    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 addTripItem(String tripId, String tripItemId){
-        trips.get(tripId).addTripItem(searchItemsCache.get(tripItemId));
+    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 tripId, String tripItemId){
+    public void removeTripItem(String cartId, String tripId, String 
tripItemId){
         trips.get(tripId).removeTripItem(tripItemId);
     } 
     
-    public TripItem[] getTripItems(String tripId) {
-        return trips.get(tripId).getTripItems();
+    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 tripId){ 
-        return trips.get(tripId).getTripPrice();
+    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 bookTrip(String tripId) {
-        trips.get(tripId).bookTrip();
+    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);
     }
 }

Modified: 
tuscany/sandbox/travelsample/shoppingcart-contribution/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shoppingcart-contribution/META-INF/sca-contribution.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- 
tuscany/sandbox/travelsample/shoppingcart-contribution/META-INF/sca-contribution.xml
 (original)
+++ 
tuscany/sandbox/travelsample/shoppingcart-contribution/META-INF/sca-contribution.xml
 Mon Jan  5 03:49:06 2009
@@ -18,8 +18,5 @@
     * 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.tripbooking"/>
    <export.java package="scatours.shoppingcart"/>
 </contribution>
\ No newline at end of file

Modified: tuscany/sandbox/travelsample/shoppingcart-contribution/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shoppingcart-contribution/pom.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/shoppingcart-contribution/pom.xml (original)
+++ tuscany/sandbox/travelsample/shoppingcart-contribution/pom.xml Mon Jan  5 
03:49:06 2009
@@ -52,12 +52,12 @@
             <artifactId>scatours-currency-contribution</artifactId>
             <version>1.5-SNAPSHOT</version>
         </dependency> 
-
+        
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>scatours-tripbooking-contribution</artifactId>
+            <artifactId>scatours-paymentprocess-contribution</artifactId>
             <version>1.5-SNAPSHOT</version>
-        </dependency> 
+        </dependency>         
 
         <dependency>
             <groupId>junit</groupId>

Added: 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java?rev=731534&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java
 (added)
+++ 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java
 Mon Jan  5 03:49:06 2009
@@ -0,0 +1,33 @@
+/*
+ * 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.shoppingcart;
+
+import org.osoa.sca.annotations.Conversational;
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The ShoppingCart service interface
+ */
+...@remotable
+...@conversational
+public interface ShoppingCart{
+    void addItem(String itemId);
+    void removeItem(String itemId);
+    String[] getItems();
+}

Propchange: 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCart.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java?rev=731534&view=auto
==============================================================================
--- 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java
 (added)
+++ 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java
 Mon Jan  5 03:49:06 2009
@@ -0,0 +1,73 @@
+/*
+ * 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.shoppingcart;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+import org.osoa.sca.annotations.ConversationID;
+import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
+
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+
+import scatours.common.TripItem;
+
+/**
+ * An implementation of the Trip service
+ */
+...@scope("CONVERSATION")
+...@service(interfaces={ShoppingCart.class})
+public class ShoppingCartImpl implements ShoppingCart{
+
+    @ConversationID
+    protected String conversationId;
+    
+    private List<String> itemIds = new ArrayList<String>();
+     
+    // Trip methods
+    
+    @Init
+    public void initTrip() {
+        System.out.println("Cart init for id: " + conversationId);
+    }
+    
+    @Destroy
+    public void destroyTrip() {
+        System.out.println("Cart destroy for id: " + conversationId);
+    }
+    
+    
+    public void addItem(String itemId){
+        itemIds.add(itemId);
+    }
+    
+    public void removeItem(String itemId){
+        itemIds.remove(itemId);
+    }  
+    
+    public String[] getItems() {
+        return itemIds.toArray(new String[itemIds.size()]);
+    }
+}

Propchange: 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/sandbox/travelsample/shoppingcart-contribution/src/scatours/shoppingcart/ShoppingCartImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: 
tuscany/sandbox/travelsample/ui-contribution/META-INF/sca-contribution.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/ui-contribution/META-INF/sca-contribution.xml?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/ui-contribution/META-INF/sca-contribution.xml 
(original)
+++ tuscany/sandbox/travelsample/ui-contribution/META-INF/sca-contribution.xml 
Mon Jan  5 03:49:06 2009
@@ -27,5 +27,10 @@
    <import.java package="scatours.car"/>
    <import.java package="scatours.tripbooking"/>
    <import.java package="scatours.travelcatalog"/>
+   <import.java package="payment.creditcard.ws.impl"/>
+   <import.java package="scatours.emailgateway"/>
+   <import.java package="scatours.paymentprocess"/>
+   <import.java package="scatours.shoppingcart"/>
    <import.java package="scatours"/>
+   <import namespace="http://www.example.org/PaymentProcess/"/>
 </contribution>
\ No newline at end of file

Modified: tuscany/sandbox/travelsample/ui-contribution/scatours.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/ui-contribution/scatours.composite?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/ui-contribution/scatours.composite (original)
+++ tuscany/sandbox/travelsample/ui-contribution/scatours.composite Mon Jan  5 
03:49:06 2009
@@ -21,6 +21,7 @@
            targetNamespace="http://scatours";
            xmlns:scatours="http://scatours";
            xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0";
+           xmlns:pp="http://www.example.org/PaymentProcess";
            name="scatours">
            
     <component name="UserInterfaceComponent">
@@ -46,7 +47,10 @@
         </service>
         <reference name="travelCatalogSearch" 
target="TravelCatalogComponent/TravelCatalogSearch"/>
         <reference name="tripBooking" 
target="TripBookingComponent/TripBooking"/>
-        <!--reference name="shoppingCart" 
target="ShoppingCartComponent/shoppingCart"/-->
+        <reference name="shoppingCart" 
target="ShoppingCartComponent/ShoppingCart"/>
+        <reference name="paymentProcess">
+            <binding.ws uri="http://localhost:8083/PaymentProcess"; />
+        </reference>        
     </component>
     
     <component name="TravelCatalogComponent">
@@ -111,23 +115,38 @@
         </service>
     </component>
     
-    <!-- component name="ShoppingCartComponent">
+    <component name="ShoppingCartComponent">
         <implementation.java class="scatours.shoppingcart.ShoppingCartImpl"/>
-        <service name="CurrencyConverter">
+        <service name="ShoppingCart">
         </service>
-    </component>    
+    </component>   
     
-    <component name="PaymentComponent">
-        <implementation.java class="scatours.payment.PaymentImpl"/>
-        <service name="CurrencyConverter">
+    <!--component name="PaymentProcessComponent">
+        <implementation.bpel process="pp:PaymentProcess"/>
+        <service name="paymentProcessPartnerLink">
+            <interface.wsdl 
interface="http://www.example.org/PaymentProcess/#wsdl.interface(PaymentProcess)"
 />
+            <binding.ws uri="http://localhost:8080/PaymentProcess"; 
wsdlElement="http://www.example.org/PaymentProcess/#wsdl.service(PaymentProcessService)"/>
         </service>
-    </component-->  
+        <reference name="creditCardPaymentPartnerLink">
+            <binding.ws uri="http://localhost:8081/CreditCardPayment"/>
+        </reference>
+        <reference name="emailGatewayPartnerLink">
+            <binding.ws uri="http://localhost:8082/EmailGateway"/>
+        </reference>       
+    </component>  
+           
+    <component name="CreditCardPaymentWS">
+        <implementation.java 
class="payment.creditcard.ws.impl.CreditCardPaymentWSImpl" />
+        <service name="CreditCardPayment">
+            <binding.ws uri="http://localhost:8081/CreditCardPayment"; />
+        </service>
+    </component> 
     
-    <component name="CreditCardGateway">
-        <implementation.java class="creditcard.CreditCardGatewayImpl" />
-        <service name="CreditCardGateway">
-            <binding.ws uri="http://localhost:8080/CreditCardGateway"; />
+    <component name="EmailGateway">
+        <implementation.java class="scatours.emailgateway.EmailGatewayImpl" />
+        <service name="EmailGateway">
+            <binding.ws uri="http://localhost:8082/EmailGateway"; />
         </service>
-    </component>    
+    </component-->  
 
 </composite>

Modified: tuscany/sandbox/travelsample/ui-contribution/scatours.html
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/ui-contribution/scatours.html?rev=731534&r1=731533&r2=731534&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/ui-contribution/scatours.html (original)
+++ tuscany/sandbox/travelsample/ui-contribution/scatours.html Mon Jan  5 
03:49:06 2009
@@ -33,7 +33,9 @@
     var scaToursBooking = new Reference("scaToursBooking");
         
     //local state
-    var currentTripId;
+    var currentCartId;
+    var tripIds = [];
+    var currentTripIdIndex = -1;
     var searchItems;
     var cartItems;
          
@@ -53,7 +55,7 @@
     }
     
     function getTripLeg(){
-        return new TripLegType(currentTripId,
+        return new TripLegType(tripIds[currentTripIdIndex],
                                document.travelForm.fromLocation.value,
                                document.travelForm.toLocation.value,
                                document.travelForm.fromDate.value,
@@ -63,7 +65,7 @@
                
     function init() {
           try {
-           newTrip(); 
+           addCart(); 
           }
           catch(e) {
               alert(e);
@@ -113,13 +115,17 @@
             
             // notify the server of the change
             if (items[i].checked == true) {
-                scaToursBooking.addTripItem(currentTripId, items[i].value);
+                scaToursBooking.addTripItem(currentCartId, 
tripIds[currentTripIdIndex], items[i].value);
             } else {
-                scaToursBooking.removeTripItem(currentTripId, items[i].value);
+                scaToursBooking.removeTripItem(currentCartId, 
tripIds[currentTripIdIndex], items[i].value);
             }
         }
         
-        scaToursBooking.getTripItems(currentTripId,getTripItems_response);
+        scaToursBooking.getTripItems(currentCartId, getTripItems_response);
+    }
+    
+    function getTripItems() {
+        scaToursBooking.getTripItems(currentCartId, getTripItems_response);
     }
     
     function getTripItems_response(items, exception) {
@@ -127,26 +133,34 @@
             alert(exception.javaStack);
             return;
         }
-        var itemsHTML = '<table border="0">';
-        itemsHTML    += '<tr>';
-        itemsHTML    += 
'<td>Name</td><td>Description</td><td>Location</td><td>From - 
To</td><td>Price</td>';
-        itemsHTML    += '</tr>';
+        var itemsHTML = '';
         
-        for (var i=0; i<items.length; i++) {
+        for (var x=0; x<=currentTripIdIndex; x++){
+            var tripId = tripIds[x]
+            itemsHTML += '<h3>Trip - ' + tripId + '</h3>';
+            itemsHTML += '<table border="0">';
             itemsHTML += '<tr>';
-            itemsHTML += '<td>' +  items[i].name + '</td>';
-            itemsHTML += '<td>' +  items[i].description + '</td>';
-            itemsHTML += '<td>' +  items[i].location + '</td>';
-            itemsHTML += '<td>' +  items[i].fromDate + ' - ' + items[i].toDate 
+'</td>';
-            itemsHTML += '<td>' +  items[i].price + ' ' + items[i].currency + 
'</td>';
+            itemsHTML += 
'<td>Name</td><td>Description</td><td>Location</td><td>From - 
To</td><td>Price</td>';
             itemsHTML += '</tr>';
+            
+            for (var i=0; i<items.length; i++) {
+                if (items[i].tripId == tripId) {
+                    itemsHTML += '<tr>';
+                    itemsHTML += '<td>' +  items[i].name + '</td>';
+                    itemsHTML += '<td>' +  items[i].description + '</td>';
+                    itemsHTML += '<td>' +  items[i].location + '</td>';
+                    itemsHTML += '<td>' +  items[i].fromDate + ' - ' + 
items[i].toDate +'</td>';
+                    itemsHTML += '<td>' +  items[i].price + ' ' + 
items[i].currency + '</td>';
+                    itemsHTML += '</tr>';
+                }
+            }
+            
+            itemsHTML    += '</table>';
         }
         
-        itemsHTML    += '</table>';
-        
         document.getElementById('tripItems').innerHTML = itemsHTML;  
           
-        scaToursBooking.getTotalPrice(currentTripId, getTotalPrice_response);
+        scaToursBooking.getTotalPrice(currentCartId, getTotalPrice_response);
     }    
     
     function getTotalPrice_response(totalPrice, exception) {
@@ -157,25 +171,44 @@
         document.getElementById('totalPrice').innerHTML = totalPrice;
     }
     
-    function newTrip() { 
-        scaToursBooking.newTrip(newTrip_response);
+    function addCart() { 
+        scaToursBooking.addCart(addCart_response);
         
         document.getElementById('searchResponse').innerHTML = "";
         document.getElementById('tripItems').innerHTML = "";
         document.getElementById('totalPrice').innerHTML = "";
+        currentTripIdIndex = -1;
+        tripIds = [];
+    }
+    
+    function addCart_response(cartId, exception) { 
+        if(exception){
+            alert(exception.javaStack);
+            return;
+        }
+        currentCartId = cartId
+        
+        if (currentTripIdIndex == -1){
+            addTrip();
+        }
+    }    
+    
+    function addTrip() { 
+        scaToursBooking.addTrip(currentCartId, addTrip_response);
     }
     
-    function newTrip_response(tripId, exception) { 
+    function addTrip_response(tripId, exception) { 
         if(exception){
             alert(exception.javaStack);
             return;
         }
-        currentTripId = tripId
-        document.getElementById('tripId').innerHTML = "Trip Reference: " + 
tripId;
+        currentTripIdIndex++;
+        tripIds[currentTripIdIndex] = tripId;
+        getTripItems();
     }    
     
-    function bookTrip() {        
-        travelBooking.bookTrip(currentTripId);
+    function checkout() {        
+        scaToursBooking.checkout(currentCartId);
         
         document.getElementById('searchResponse').innerHTML = "";
         document.getElementById('tripItems').innerHTML = "Thank you for 
shopping with SCA Tours";
@@ -232,13 +265,15 @@
             <input type="button" onClick="addItemsToCart()" value="Add Items"> 
             <br/>
             <h3>Shopping Cart</h3>
-            <h3><div id="tripId"></h3>
+            <h3><div id="cartId"></h3>
             <div id="tripItems"></div>
-            <br/>            
-            <div id="totalPrice"></div>
-            <br/>            
-            <input type="button" onClick="bookTrip()" value="Book"> 
-            <input type="button" onClick="newTrip()" value="Create New Trip"> 
+            <br/>
+            <h3>Cart Totals</h3>            
+            Total Price: <div id="totalPrice"></div>
+            <br/>    
+            <input type="button" onClick="addCart()" value="Reset Cart">       
  
+            <input type="button" onClick="addTrip()" value="Create New Trip"> 
+            <input type="button" onClick="checkout()" value="Checkout"> 
         </form> 
        </div>
   


Reply via email to