/**
* Copyright 2013 Red Hat, Inc.
*
* Red Hat 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 org.switchyard.quickstarts.camel.sap.binding;
import java.util.Date;
import org.switchyard.component.bean.Service;
import org.switchyard.quickstarts.camel.sap.binding.bean.PassengerInfo;
import org.switchyard.quickstarts.camel.sap.binding.jaxb.BookFlightRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Processor that builds Passenger Info object.
*
* @author William Collins <punkhornsw@gmail.com>
*
*/
@Service(PassengerInfoService.class)
public class PassengerInfoServiceBean implements PassengerInfoService {
private static final Logger LOG = LoggerFactory.getLogger(PassengerInfoServiceBean.class);
/**
* Builds Passenger Info bean from BOOK_FLIGHT request in exchange message
* body and adds to exchange message's header.
*
* @param exchange
* @throws Exception
*/
public PassengerInfo getPassengerInfo(BookFlightRequest request) {
// Create passenger info bean.
PassengerInfo passengerInfo = new PassengerInfo();
// Add passenger form of address to passenger info if set.
String passengerFormOfAddress = request.getPassengerFormOfAddress();
if (passengerFormOfAddress != null) {
passengerInfo.setFormOfAddress(passengerFormOfAddress);
if (LOG.isDebugEnabled()) {
LOG.debug("Set passenger form of address = '{}' in passenger info", passengerFormOfAddress);
}
}
// Add passenger name to passenger info if set.
String passengerName = request.getPassengerName();
if (passengerName != null) {
passengerInfo.setName(passengerName);
if (LOG.isDebugEnabled()) {
LOG.debug("Set passenger name = '{}' in passenger info", passengerName);
}
}
// Add passenger date of birth to passenger info if set.
Date passengerDateOfBirth = request.getPassengerDateOfBirth();
if (passengerDateOfBirth != null) {
passengerInfo.setDateOfBirth(passengerDateOfBirth);
if (LOG.isDebugEnabled()) {
LOG.debug("Set passenger date of birth = '{}' in passenger info", passengerDateOfBirth);
}
}
return passengerInfo;
}
}