You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2008/08/10 18:14:49 UTC
svn commit: r684543 - in /tuscany/sandbox/travelsample:
car-contribution/src/scatours/car/ common-contribution/src/scatours/common/
flight-contribution/src/scatours/flight/
hotel-contribution/src/scatours/hotel/
travel-contribution/src/scatours/travel/...
Author: slaws
Date: Sun Aug 10 09:14:48 2008
New Revision: 684543
URL: http://svn.apache.org/viewvc?rev=684543&view=rev
Log:
Start looking at a conversational interface on the Trip component
Modified:
tuscany/sandbox/travelsample/car-contribution/src/scatours/car/CarImpl.java
tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java
tuscany/sandbox/travelsample/flight-contribution/src/scatours/flight/FlightImpl.java
tuscany/sandbox/travelsample/hotel-contribution/src/scatours/hotel/HotelImpl.java
tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelBooking.java
tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelImpl.java
tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/Trip.java
tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/TripImpl.java
tuscany/sandbox/travelsample/ui-contribution/scatours.html
Modified: tuscany/sandbox/travelsample/car-contribution/src/scatours/car/CarImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/car-contribution/src/scatours/car/CarImpl.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/car-contribution/src/scatours/car/CarImpl.java (original)
+++ tuscany/sandbox/travelsample/car-contribution/src/scatours/car/CarImpl.java Sun Aug 10 09:14:48 2008
@@ -69,7 +69,8 @@
// find available hotels
for(CarInfo car : cars){
if (car.getLocation().equals(tripLeg.getToLocation())){
- TripItem item = new TripItem("1",
+ TripItem item = new TripItem("",
+ "",
"Car",
car.getName(),
car.getDescription(),
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=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java (original)
+++ tuscany/sandbox/travelsample/common-contribution/src/scatours/common/TripItem.java Sun Aug 10 09:14:48 2008
@@ -22,7 +22,8 @@
public class TripItem {
- private String id;
+ private String id;
+ private String tripId;
private String type;
private String name;
private String description;
@@ -37,6 +38,7 @@
}
public TripItem(String id,
+ String tripId,
String type,
String name,
String description,
@@ -47,6 +49,7 @@
String currency,
String link) {
this.id = id;
+ this.tripId = tripId;
this.type = type;
this.name = name;
this.description = description;
@@ -66,6 +69,14 @@
this.id = id;
}
+ public String getTripId() {
+ return tripId;
+ }
+
+ public void setTripId(String tripId) {
+ this.tripId = tripId;
+ }
+
public String getType() {
return type;
}
Modified: tuscany/sandbox/travelsample/flight-contribution/src/scatours/flight/FlightImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/flight-contribution/src/scatours/flight/FlightImpl.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/flight-contribution/src/scatours/flight/FlightImpl.java (original)
+++ tuscany/sandbox/travelsample/flight-contribution/src/scatours/flight/FlightImpl.java Sun Aug 10 09:14:48 2008
@@ -76,7 +76,8 @@
if ((flight.getFromLocation().equals(tripLeg.getFromLocation())) &&
(flight.getToLocation().equals(tripLeg.getToLocation())) &&
(flight.getFromDate().equals(tripLeg.getFromDate()))){
- TripItem item = new TripItem("1",
+ TripItem item = new TripItem("",
+ "",
"Flight",
flight.getName(),
flight.getDescription(),
@@ -95,7 +96,8 @@
if ((flight.getFromLocation().equals(tripLeg.getToLocation())) &&
(flight.getToLocation().equals(tripLeg.getFromLocation())) &&
(flight.getFromDate().equals(tripLeg.getToDate()))){
- TripItem item = new TripItem("1",
+ TripItem item = new TripItem("",
+ "",
"Flight",
flight.getName(),
flight.getDescription(),
Modified: tuscany/sandbox/travelsample/hotel-contribution/src/scatours/hotel/HotelImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/hotel-contribution/src/scatours/hotel/HotelImpl.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/hotel-contribution/src/scatours/hotel/HotelImpl.java (original)
+++ tuscany/sandbox/travelsample/hotel-contribution/src/scatours/hotel/HotelImpl.java Sun Aug 10 09:14:48 2008
@@ -85,7 +85,8 @@
// find available hotels
for(HotelInfo hotel : hotels){
if (hotel.getLocation().equals(tripLeg.getToLocation())){
- TripItem item = new TripItem("1",
+ TripItem item = new TripItem("",
+ "",
"Hotel",
hotel.getName(),
hotel.getDescription(),
Modified: tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelBooking.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelBooking.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelBooking.java (original)
+++ tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelBooking.java Sun Aug 10 09:14:48 2008
@@ -29,8 +29,10 @@
@Remotable
public interface TravelBooking {
- void addTripItem(String id);
- void removeTripItem(String id);
- double getTotalPrice();
- void purchaseTrip();
+ String newTrip();
+ void addTripItem(String tripId, String id);
+ void removeTripItem(String tripId, String id);
+ TripItem[] getTripItems(String tripId);
+ double getTotalPrice(String tripId);
+ void purchaseTrip(String tripId);
}
Modified: tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelImpl.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelImpl.java (original)
+++ tuscany/sandbox/travelsample/travel-contribution/src/scatours/travel/TravelImpl.java Sun Aug 10 09:14:48 2008
@@ -72,7 +72,7 @@
private int responsesReceived = 0;
private List<TripItem> searchResults = new ArrayList<TripItem>();
- private Map<String,ServiceReference<Trip>> trips = new HashMap<String,ServiceReference<Trip>>();
+ private Map<String,Trip> trips = new HashMap<String,Trip>();
// TravelSearch methods
@@ -95,6 +95,7 @@
for (TripItem tripItem : searchResults){
tripItem.setId(UUID.randomUUID().toString());
+ tripItem.setTripId(tripLeg.getId());
tripItem.setPrice(currencyConverter.convert(tripItem.getCurrency(),
quoteCurrencyCode,
tripItem.getPrice()));
@@ -124,28 +125,32 @@
String tripId = UUID.randomUUID().toString();
ServiceReference<Trip> tripReference = componentContext.getServiceReference(Trip.class,
"trip");
- //tripReference.setConversationID(tripId);
- trips.put(tripId, tripReference);
+ tripReference.setConversationID(tripId);
+ trips.put(tripId, tripReference.getService());
return tripId;
}
- public void addTripItem(String id){
+ public void addTripItem(String tripId, String id){
for (TripItem tripItem : searchResults) {
if (tripItem.getId().equals(id)){
- trip.addTripItem(tripItem);
+ trips.get(tripId).addTripItem(tripItem);
}
}
}
- public void removeTripItem(String id){
- trip.removeTripItem(id);
- }
+ public void removeTripItem(String tripId, String id){
+ trips.get(tripId).removeTripItem(id);
+ }
- public double getTotalPrice(){
- return trip.getTripPrice();
+ public TripItem[] getTripItems(String tripId) {
+ return trips.get(tripId).getTripItems();
}
- public void purchaseTrip() {
- trip.purchaseTrip();
+ public double getTotalPrice(String tripId){
+ return trips.get(tripId).getTripPrice();
+ }
+
+ public void purchaseTrip(String tripId) {
+ trips.get(tripId).purchaseTrip();
}
}
Modified: tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/Trip.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/Trip.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/Trip.java (original)
+++ tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/Trip.java Sun Aug 10 09:14:48 2008
@@ -39,6 +39,8 @@
void removeTripItem(String id);
+ TripItem[] getTripItems();
+
double getTripPrice();
@EndsConversation
Modified: tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/TripImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/TripImpl.java?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/TripImpl.java (original)
+++ tuscany/sandbox/travelsample/trip-contribution/src/scatours/trip/TripImpl.java Sun Aug 10 09:14:48 2008
@@ -68,7 +68,11 @@
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;
Modified: tuscany/sandbox/travelsample/ui-contribution/scatours.html
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/ui-contribution/scatours.html?rev=684543&r1=684542&r2=684543&view=diff
==============================================================================
--- tuscany/sandbox/travelsample/ui-contribution/scatours.html (original)
+++ tuscany/sandbox/travelsample/ui-contribution/scatours.html Sun Aug 10 09:14:48 2008
@@ -42,9 +42,9 @@
var travelBooking = new Reference("travelBooking");
//local state
+ var currentTripId;
var searchResponseItems;
- var tripItems;
-
+
//the constructor for trip leg beans
function TripLegType(id,
fromLocation,
@@ -61,7 +61,7 @@
}
function getTripLeg(){
- return new TripLegType("X",
+ return new TripLegType(currentTripId,
document.travelForm.fromLocation.value,
document.travelForm.toLocation.value,
document.travelForm.fromDate.value,
@@ -71,7 +71,7 @@
function init() {
try {
-
+ newTrip();
}
catch(e) {
alert(e);
@@ -127,16 +127,43 @@
var j = 0;
for (var i=0; i<items.length; i++) {
if (items[i].checked == true) {
- travelBooking.addTripItem(items[i].value);
+ travelBooking.addTripItem(currentTripId, items[i].value);
} else {
- travelBooking.removeTripItem(items[i].value);
+ travelBooking.removeTripItem(currentTripId, items[i].value);
}
}
- travelBooking.getTotalPrice(totalPrice_response);
+ travelBooking.getTripItems(currentTripId,getTripItems_response);
+ }
+
+ function getTripItems_response(items, exception) {
+ if(exception){
+ 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>';
+
+ for (var i=0; i<items.length; i++) {
+ 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>';
+
+ document.getElementById('tripItems').innerHTML = itemsHTML;
+
+ travelBooking.getTotalPrice(currentTripId, getTotalPrice_response);
}
- function totalPrice_response(totalPrice, exception) {
+ function getTotalPrice_response(totalPrice, exception) {
if(exception){
alert(exception.javaStack);
return;
@@ -145,12 +172,26 @@
}
function newTrip() {
-
+ travelBooking.newTrip(newTrip_response);
+
+ document.getElementById('searchResponse').innerHTML = "";
+ document.getElementById('tripItems').innerHTML = "";
+ document.getElementById('totalPrice').innerHTML = "";
}
+ function newTrip_response(tripId, exception) {
+ if(exception){
+ alert(exception.javaStack);
+ return;
+ }
+ currentTripId = tripId
+ document.getElementById('tripId').innerHTML = "Trip: " + tripId;
+ }
+
function purchaseTrip() {
- travelBooking.purchaseTrip();
+ travelBooking.purchaseTrip(currentTripId);
+ document.getElementById('searchResponse').innerHTML = "";
document.getElementById('tripItems').innerHTML = "Thank you for shopping with SCA Tours";
document.getElementById('totalPrice').innerHTML = "";
searchResponseItems = null;
@@ -164,8 +205,9 @@
<body onload="init()" background="">
<img src="scatours.png" border="0" />
<div id="scatours">
- <br>
- <form name="travelForm">
+ <form name="travelForm">
+ <h3><div id="tripId"></h3>
+ <br/>
<table border="0">
<tr>
<td>From Location:</td>
@@ -196,19 +238,18 @@
<input type="button" onClick="searchFlights()" value="Search Flights">
<input type="button" onClick="searchHotels()" value="Search Cars">
</form>
- <form name="tripForm">
+ <form name="tripForm">
+ <h3>Search Results</h3>
<div id="searchResponse"></div>
<br>
- <input type="button" onClick="newTrip()" value="Create New Trip">
- <br>
- <div id="totalPrice"></div>
- <br>
+ <h3>You Trip</h3>
<div id="tripItems"></div>
+ <br>
+ <div id="totalPrice"></div>
<br>
+ <input type="button" onClick="newTrip()" value="Create New Trip">
<input type="button" onClick="purchaseTrip()" value="Purchase Trip">
</form>
-
-
</div>
</body>