You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Simon Nash <na...@apache.org> on 2009/05/20 14:20:32 UTC

Re: svn commit: r775672 - in /tuscany/sandbox/travelsample: contributions/introducing-client-contribution/src/main/java/scatours/client/ contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ launchers/introducing-launche...

I don't agree with the change to introducing-launcher in this commit
that puts the client code inline and eliminates the use of the
introducing-client-contribution.

Having the client code as part of the launcher is acceptable for
jumpstart-launcher to keep this sample very simple, but for the other
samples I think the pattern of having a separate contribution for
test client code is a good pattern that we should use.

   Simon

slaws@apache.org wrote:
> Author: slaws
> Date: Sun May 17 15:23:10 2009
> New Revision: 775672
> 
> URL: http://svn.apache.org/viewvc?rev=775672&view=rev
> Log:
> Add a little more function to the simple travel booking sample and simplify the command line launcher contribution configuration. 
> 
> Added:
>     tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java   (with props)
>     tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java   (with props)
> Modified:
>     tuscany/sandbox/travelsample/contributions/introducing-client-contribution/src/main/java/scatours/client/TestClient.java
>     tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java
>     tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java
>     tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/LaunchNode.java
>     tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/resources/scatours.composite
> 
> Modified: tuscany/sandbox/travelsample/contributions/introducing-client-contribution/src/main/java/scatours/client/TestClient.java
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/introducing-client-contribution/src/main/java/scatours/client/TestClient.java?rev=775672&r1=775671&r2=775672&view=diff
> ==============================================================================
> --- tuscany/sandbox/travelsample/contributions/introducing-client-contribution/src/main/java/scatours/client/TestClient.java (original)
> +++ tuscany/sandbox/travelsample/contributions/introducing-client-contribution/src/main/java/scatours/client/TestClient.java Sun May 17 15:23:10 2009
> @@ -19,6 +19,8 @@
>  
>  package scatours.client;
>  
> +import java.math.BigDecimal;
> +
>  import com.tuscanyscatours.Bookings;
>  import com.tuscanyscatours.Checkout;
>  
> @@ -40,7 +42,6 @@
>          String bookingCode = bookings.newBooking("FS1APR4", 1);
>          System.out.println("Booking code is " + bookingCode);
>  
> -        checkout.makePayment(1995.00, "1234567843218765 10/10");
> -        System.out.println("Paid $1995.00");
> +        checkout.makePayment(new BigDecimal("1995.00"), "1234567843218765 10/10");
>      }
>  }
> 
> Modified: tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java?rev=775672&r1=775671&r2=775672&view=diff
> ==============================================================================
> --- tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java (original)
> +++ tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/Checkout.java Sun May 17 15:23:10 2009
> @@ -18,9 +18,11 @@
>   */
>  package com.tuscanyscatours;
>  
> +import java.math.BigDecimal;
> +
>  import org.osoa.sca.annotations.Remotable;
>  
>  @Remotable
>  public interface Checkout {
> -    void makePayment(double amount, String cardInfo);
> +    void makePayment(BigDecimal amount, String cardInfo);
>  }
> 
> Modified: tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java?rev=775672&r1=775671&r2=775672&view=diff
> ==============================================================================
> --- tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java (original)
> +++ tuscany/sandbox/travelsample/contributions/introducing-tuscanyscatours-contribution/src/main/java/com/tuscanyscatours/ShoppingCart.java Sun May 17 15:23:10 2009
> @@ -18,11 +18,22 @@
>   */
>  package com.tuscanyscatours;
>  
> +import java.math.BigDecimal;
> +import java.util.ArrayList;
> +import java.util.List;
> +
>  public class ShoppingCart implements Checkout, Updates {
> -    public void makePayment(double amount, String cardInfo) {
> -        // make payment for trips in cart giving card details
> +	private static List<String> bookedTrips = new ArrayList<String>();
> +	
> +    public void makePayment(BigDecimal amount, String cardInfo) {
> +    	System.out.print("Charged $" + amount + " to card " + cardInfo + " for trips" );
> +    	for (String trip : bookedTrips){
> +    		System.out.print(" " + trip);
> +    	}
> +    	System.out.println();
> +    	bookedTrips.clear();
>      }
>      public void addTrip(String resCode) {
> -        // add the booked trip to the cart
> +        bookedTrips.add(resCode);
>      }
>  }
> 
> Added: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java?rev=775672&view=auto
> ==============================================================================
> --- tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java (added)
> +++ tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java Sun May 17 15:23:10 2009
> @@ -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 scatours;
> +
> +import org.osoa.sca.annotations.Remotable;
> +
> +@Remotable
> +public interface Bookings {
> +    String newBooking(String trip, int people);
> +}
> 
> Propchange: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Bookings.java
> ------------------------------------------------------------------------------
>     svn:keywords = Rev Date
> 
> Added: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java?rev=775672&view=auto
> ==============================================================================
> --- tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java (added)
> +++ tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java Sun May 17 15:23:10 2009
> @@ -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 scatours;
> +
> +import java.math.BigDecimal;
> +
> +import org.osoa.sca.annotations.Remotable;
> +
> +@Remotable
> +public interface Checkout {
> +    void makePayment(BigDecimal amount, String cardInfo);
> +}
> 
> Propchange: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/Checkout.java
> ------------------------------------------------------------------------------
>     svn:keywords = Rev Date
> 
> Modified: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/LaunchNode.java
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/LaunchNode.java?rev=775672&r1=775671&r2=775672&view=diff
> ==============================================================================
> --- tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/LaunchNode.java (original)
> +++ tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/java/scatours/LaunchNode.java Sun May 17 15:23:10 2009
> @@ -19,6 +19,9 @@
>  
>  package scatours;
>  
> +import java.io.IOException;
> +import java.math.BigDecimal;
> +
>  import org.apache.tuscany.sca.node.SCAClient;
>  import org.apache.tuscany.sca.node.SCAContribution;
>  import org.apache.tuscany.sca.node.SCANode;
> @@ -33,16 +36,24 @@
>      // OK for development but you must launch the node from this module 
>      public static void launchFromFileSystemDir(){
>          try {
> -            SCANode node = SCANodeFactory.newInstance().createSCANode("scatours.composite", 
> +            SCANode node = SCANodeFactory.newInstance().createSCANode(null, 
>                  new SCAContribution("goodvaluetrips", "../../contributions/introducing-goodvaluetrips-contribution/target/classes"),
> -                new SCAContribution("tuscanyscatours", "../../contributions/introducing-tuscanyscatours-contribution/target/classes"),
> -                new SCAContribution("client", "../../contributions/introducing-client-contribution/target/classes"),
> -                new SCAContribution("launcher", "./target/classes"));
> +                new SCAContribution("tuscanyscatours", "../../contributions/introducing-tuscanyscatours-contribution/target/classes"));
> +
>              node.start();
>  
> -            Runnable runner = ((SCAClient)node).getService(Runnable.class, "TestClient/Runnable");
> -            runner.run();
> +            Bookings bookings = ((SCAClient)node).getService(Bookings.class, 
> +                                                             "TripBooking/Bookings");
>  
> +            System.out.println("Trip boooking code = " + 
> +            		           bookings.newBooking("FS1APR4", 1));
> +            
> +            Checkout checkout = ((SCAClient)node).getService(Checkout.class, 
> +                                                             "ShoppingCart/Checkout");
> +            
> +            checkout.makePayment(new BigDecimal("1995.00"), "1234567843218765 10/10");
> +            
> +            
>              node.stop();
>              
>          } catch (Throwable th) {
> 
> Modified: tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/resources/scatours.composite
> URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/resources/scatours.composite?rev=775672&r1=775671&r2=775672&view=diff
> ==============================================================================
> --- tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/resources/scatours.composite (original)
> +++ tuscany/sandbox/travelsample/launchers/introducing-launcher/src/main/resources/scatours.composite Sun May 17 15:23:10 2009
> @@ -23,7 +23,7 @@
>      xmlns:tours="http://tuscanyscatours.com/"
>      xmlns:trips="http://goodvaluetrips.com/"
>      name="scatours">
> -
> +    
>      <include name="client:Client" />
>      <include name="tours:Tours" />
>      <include name="trips:Trips" />
> 
> 
> 
>