package net.javacrumbs.airline.server; import java.util.Calendar; import net.javacrumbs.airilne.AirlineServiceSkeletonInterface; import org.springframework.www.spring_ws.samples.airline.schemas.messages.GetFlightsRequest; import org.springframework.www.spring_ws.samples.airline.schemas.messages.GetFlightsResponse; import org.springframework.www.spring_ws.samples.airline.schemas.types.Airport; import org.springframework.www.spring_ws.samples.airline.schemas.types.AirportCode; import org.springframework.www.spring_ws.samples.airline.schemas.types.Flight; import org.springframework.www.spring_ws.samples.airline.schemas.types.FlightNumber; import org.springframework.www.spring_ws.samples.airline.schemas.types.ServiceClass; public class AirlineEndpoint implements AirlineServiceSkeletonInterface { @Override public GetFlightsResponse getFlights(GetFlightsRequest request) { String from = request.getFrom().getAirportCode(); String to = request.getTo().getAirportCode(); ServiceClass serviceClass = request.getServiceClass(); if (from.equals(to)) { throw new IllegalArgumentException("Departure and destination airport has to differ."); } GetFlightsResponse response = new GetFlightsResponse(); Flight flight = new Flight(); flight.setFrom(airport(from)); flight.setTo(airport(to)); flight.setNumber(flightNumber("OK1324")); flight.setServiceClass(serviceClass); flight.setDepartureTime(Calendar.getInstance()); flight.setArrivalTime(Calendar.getInstance()); response.addFlight(flight); return response; } private FlightNumber flightNumber(String number) { FlightNumber flightNumber = new FlightNumber(); flightNumber.setFlightNumber(number); return flightNumber; } private Airport airport(String code) { Airport airport = new Airport(); AirportCode airportCode = new AirportCode(); airportCode.setAirportCode(code); airport.setCode(airportCode); airport.setCity("City " + code); airport.setName("Name " + code); return airport; } }