Add cars to the travel sample

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@682168 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
slaws 2008-08-03 13:34:06 +00:00
parent 75936da5fc
commit f29f107a4e
4 changed files with 313 additions and 0 deletions

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0">
<import.java package="scatours.common"/>
<export.java package="scatours.car"/>
</contribution>

View file

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca</artifactId>
<version>1.4-SNAPSHOT</version>
<!--relativePath>../../pom.xml</relativePath-->
</parent>
<artifactId>scatours-car-contribution</artifactId>
<name>Apache Tuscany SCA Tours Car Contribution</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-data-api</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>scatours-common-contribution</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${artifactId}</finalName>
<sourceDirectory>${basedir}/src</sourceDirectory>
<resources>
<resource>
<directory>${basedir}</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/.*/**</exclude>
<exclude>pom.xml</exclude>
<exclude>build.xml</exclude>
<exclude>target/**</exclude>
<exclude>src/**</exclude>
</excludes>
</resource>
</resources>
</build>
</project>

View file

@ -0,0 +1,94 @@
/*
* 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.car;
import java.util.ArrayList;
import java.util.List;
import org.osoa.sca.annotations.Callback;
import org.osoa.sca.annotations.Init;
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;
/**
* An implementation of the Hotel service
*/
@Scope("STATELESS")
@Service(interfaces={Search.class})
public class CarImpl implements Search {
private List<CarInfo> cars = new ArrayList<CarInfo>();
@Callback
protected SearchCallback searchCallback;
@Init
public void init() {
cars.add(new CarInfo("Premier Cars",
"BMW 5 Series",
"ANU",
"06/12/08",
"5",
100.00,
"USD",
"http://localhost:8085/tbd" ));
cars.add(new CarInfo("Premier Cars",
"Ford Focus",
"ANU",
"06/12/08",
"4",
60.00,
"USD",
"http://localhost:8085/tbd" ));
}
public TripItem[] searchSynch(TripLeg tripLeg) {
List<TripItem> items = new ArrayList<TripItem>();
// find available hotels
for(CarInfo car : cars){
if (car.getLocation().equals(tripLeg.getToLocation())){
TripItem item = new TripItem("1",
"Car",
car.getName(),
car.getDescription(),
car.getLocation(),
tripLeg.getFromDate(),
tripLeg.getToDate(),
car.getPricePerDay(),
car.getCurrency(),
car.getLink());
items.add(item);
}
}
return items.toArray(new TripItem[items.size()]);
}
public void searchAsynch(TripLeg tripLeg) {
// return available hotels
searchCallback.searchResults(searchSynch(tripLeg));
}
}

View file

@ -0,0 +1,120 @@
/*
* 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.car;
public class CarInfo {
private String name;
private String description;
private String location;
private String date;
private String seats;
private double pricePerDay;
private String currency;
private String link;
public CarInfo() {
}
public CarInfo(String name,
String description,
String location,
String date,
String seats,
double pricePerDay,
String currency,
String link) {
this.name = name;
this.description = description;
this.location = location;
this.date = date;
this.seats = seats;
this.pricePerDay = pricePerDay;
this.currency = currency;
this.link = link;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getSeats() {
return seats;
}
public void setSeats(String seats) {
this.seats = seats;
}
public double getPricePerDay() {
return pricePerDay;
}
public void setPricePerDay(double pricePerDay) {
this.pricePerDay = pricePerDay;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}