Commit 0e8fcd6e by ED-DRIF

TeldarProd

parent 5d9f9743
......@@ -10,8 +10,8 @@ import javax.xml.soap.SOAPMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.gekko_holding.webservice.v2_4.BookHotelResponse;
import com.gekko_holding.webservice.v2_4.CancelBookingSegmentResponse;
import com.gekko_holding.webservice.v2_4.GetHotelDetailsResponse;
import com.gekko_holding.webservice.v2_4.GetPreBookingInfoResponse;
import com.gekko_holding.webservice.v2_4.HotelAvailabilityResponse;;
......@@ -69,4 +69,9 @@ public class UnmarshallingJAXB {
}
public static CancelBookingSegmentResponse fromBookingCancellation(String exchangeBody) {
CancelBookingSegmentResponse unmarshalledObject=printObject(CancelBookingSegmentResponse.class, exchangeBody);
return unmarshalledObject;
}
}
......@@ -39,14 +39,17 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import com.fractalite.hermes.services.stay.StayRouteBuilder;
import com.fractalite.hermes.teldar.Marshaller.MarshallingJAXB;
import com.fractalite.hermes.teldar.Marshaller.UnmarshallingJAXB;
import com.fractalite.hermes.teldar.parsers.BookingCancellationTeldResponse;
import com.fractalite.hermes.teldar.parsers.ParseAddBookingTeldar;
import com.fractalite.hermes.teldar.parsers.ParseConfirmBookResponse;
import com.fractalite.hermes.teldar.parsers.ParseHoteldetailsResponse;
import com.fractalite.hermes.teldar.parsers.ParseTeldarHotelsPriceResponse;
import com.fractalite.hermes.teldar.parsers.QuoteTeldarCancellationResponse;
import com.fractalite.hermes.teldar.services.CancelBookingsegmentTeldRequest;
import com.fractalite.hermes.teldar.services.ConfirmBookTeldarRequest;
import com.fractalite.hermes.teldar.services.GetHotelDetailsRequest;
import com.fractalite.hermes.teldar.services.HotelQuotesRequest;
......@@ -55,7 +58,7 @@ import com.fractalite.hermes.teldar.services.QuoteTeldarRequestCancellation;
import com.fractalite.hermes.teldar.services.SearchTeldarHotelPriceRequest;
import com.fractalite.models.commerce.Order;
import com.fractalite.models.commerce.QuoteTemplate;
import com.fractalite.models.commerce.RequestForQuote;
import com.fractalite.models.common.Address;
import com.fractalite.models.travel.stay.Hotel;
import com.fractalite.models.travel.stay.HotelStay;
import com.fractalite.models.travel.stay.StaySearchResults;
......@@ -180,7 +183,7 @@ public class TeldarRouteBuilder extends RouteBuilder {
QuoteTemplate q = exchange.getIn().getMandatoryBody(QuoteTemplate.class);
HotelStay hotelstay = q.getTrip().getContent(HotelStay.class).get(0);
if (hotelstay.getGiatacode() == null || hotelstay.getGiatacode().getGekko_infinite() == null
|| hotelstay.getGiatacode().getGekko_infinite().size() == 0)
|| hotelstay.getGiatacode().getGekko_teldar().size() == 0)
exchange.getIn().setHeader("teldaremtygiata", true);
else
exchange.getIn().setHeader("teldaremtygiata", false);
......@@ -251,7 +254,9 @@ public class TeldarRouteBuilder extends RouteBuilder {
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
.process(new HotelQuotesRequest()).process(new Processor() {
.process(new HotelQuotesRequest())
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
......@@ -261,8 +266,8 @@ public class TeldarRouteBuilder extends RouteBuilder {
})
.bean(MarshallingJAXB.class, "marshallObject")
// .log("Marshalled body for quotes : ${body}")
.to(wsUrl)// + "?throwExceptionOnFailure=false")
.log("\n Request bodyquoteee content : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
......@@ -340,74 +345,105 @@ public class TeldarRouteBuilder extends RouteBuilder {
/***************** PreBookingHotelRequest *******************/
from(nmrOrDirect + EP_ORDER)
.routeId(EP_ORDER).setExchangePattern(ExchangePattern.InOut)
.removeHeaders("*")
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
.process(new PreBookingTeldarRequest())
.bean(MarshallingJAXB.class, "marshallObject")
.log("PreBookTeldar body --------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("ResponsePreOrderBOok --------------- : \n ${body}")
.process(new Processor() {
.routeId(EP_ORDER).setExchangePattern(ExchangePattern.InOut)
.removeHeaders("*")
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
.process(new PreBookingTeldarRequest())
.bean(MarshallingJAXB.class, "marshallObject")
.log("PreBookTeldar body --------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("ResponsePreOrderBOok --------------- : \n ${body}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
exchange.getIn().setHeaders(new HashMap<String, Object>());
soapMessageBodyContent(exchange.getIn().getBody(String.class));
@Override
public void process(Exchange exchange) throws Exception {
exchange.getIn().setHeaders(new HashMap<String, Object>());
soapMessageBodyContent(exchange.getIn().getBody(String.class));
logger.info("unmarshledSoapPreBOOK" + soapMessageBodyContent(exchange.getIn().getBody(String.class)));
}
})
.bean(UnmarshallingJAXB.class, "fromPreBookingInfoResponse(${body})")
.log("ResponseUnMarshllerPreOder --------------- : \n ${body}")
.process(new ParseAddBookingTeldar())
;
logger.info("unmarshledSoapPreBOOK" + soapMessageBodyContent(exchange.getIn().getBody(String.class)));
}
})
.bean(UnmarshallingJAXB.class, "fromPreBookingInfoResponse(${body})")
.log("ResponseUnMarshllerPreOder --------------- : \n ${body}")
.process(new ParseAddBookingTeldar())
.log("ResponseParserBook ---------- : \n ${body}")
.to(nmrOrDirect + EP_HOTEL_INFO)
.log("detailhotellllls ---------- : \n ${body}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
Hotel hermesHotel =exchange.getIn().getMandatoryBody(Hotel.class);
Order order= exchange.getProperty("order", Order.class);
order.getTrip().getContent(HotelStay.class).get(0).setHotel(hermesHotel);
exchange.getIn().setBody(order, Order.class);
}
});
///////////////////EP_BOOKING_CONFIRMATION////////////////////////////
from(nmrOrDirect + EP_BOOKING_CONFIRMATION)
// from("timer://orderTimer?delay=6000&repeatCount=1")
.routeId(EP_BOOKING_CONFIRMATION)
.setExchangePattern(ExchangePattern.InOut)
.removeHeaders("*")
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
.process(new ConfirmBookTeldarRequest())
.bean(MarshallingJAXB.class, "marshallObject")
.log("Response Marshller--------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("ConfirmBookTeldarRequest Response body --------------- : \n ${body}")
.bean(UnmarshallingJAXB.class, "fromBookHotelResponse(${body})")
.log("ResponseUmarshledConfirm --------------- : \n ${body}")
.process(new ParseConfirmBookResponse())
.log("ResponseConfirmed ---------- : \n ${body}");
// from("timer://orderTimer?delay=6000&repeatCount=1")
.routeId(EP_BOOKING_CONFIRMATION)
.setExchangePattern(ExchangePattern.InOut)
.removeHeaders("*")
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
.process(new ConfirmBookTeldarRequest())
.bean(MarshallingJAXB.class, "marshallObject")
.log("Response Marshller--------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("ConfirmBookTeldarRequest Response body --------------- : \n ${body}")
.bean(UnmarshallingJAXB.class, "fromBookHotelResponse(${body})")
.log("ResponseUmarshledConfirm --------------- : \n ${body}")
.process(new ParseConfirmBookResponse())
.log("ResponseConfirmed ---------- : \n ${body}")
.removeHeaders("*")
.removeHeaders("camel*")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
Order order = exchange.getIn().getMandatoryBody(Order.class);
exchange.getIn().setBody(order.getTrip().getContent(HotelStay.class).get(0).getHotel().getCode());
}
})
.log("ResponseParserBook ---------- : \n ${body}")
.to(nmrOrDirect + EP_HOTEL_INFO)
.log("detailhotellllls ---------- : \n ${body}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
Hotel hermesHotel =exchange.getIn().getMandatoryBody(Hotel.class);
Order order= exchange.getProperty("order", Order.class);
Hotel h = new Hotel(hermesHotel.getCode(), hermesHotel.getName());
log.info("From info "+hermesHotel.getCode() +" and "+ hermesHotel.getName() );
// h.setAddress(hermesHotel.getAddress());
Address adr = new Address(hermesHotel.getAddress().getStreet(), hermesHotel.getAddress().getZipcode(),null, null);
h.setAddress(adr);
order.getTrip().getContent(HotelStay.class).get(0).setHotel( h);
exchange.getIn().setBody(order, Order.class);
}
})
;
/***************** HotelChargeConditionsBookingRequest *******************/
/***************** HotelChargeConditionsBookingRequest *******************/
from(nmrOrDirect + EP_CANCELLATION_FEES).routeId(EP_CANCELLATION_FEES)
.setExchangePattern(ExchangePattern.InOut);
from(nmrOrDirect + EP_CANCELLATION_FEES)
.routeId(EP_CANCELLATION_FEES)
.setExchangePattern(ExchangePattern.InOut)
.log("TeldarCancelFeess --------------- : \n ${body}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
exchange.getIn().setBody("Please reed cancellation policies");
}})
;
/***************** HotelQuotesCancellationPolicyRequest *******************/
......@@ -416,7 +452,22 @@ public class TeldarRouteBuilder extends RouteBuilder {
/***************** CancelBookingRequest *******************/
from(nmrOrDirect + EP_CANCEL_ORDER).routeId(EP_CANCEL_ORDER).setExchangePattern(ExchangePattern.InOut);
from(nmrOrDirect + EP_CANCEL_ORDER)
.routeId(EP_CANCEL_ORDER)
.setExchangePattern(ExchangePattern.InOut)
.log("AccorCancelBookingRequest --------------- : \n ${body}")
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
.process(new CancelBookingsegmentTeldRequest())
.convertBodyTo(String.class)
.log("Requestbodyyyyy --------------- : \n ${body}")
//.bean(MarshallingJAXB.class, "marshallObject")
.to(wsUrl)
.convertBodyTo(String.class)
.log("TeldarCancelBookingRequestbody --------------- : \n ${body}")
.bean(UnmarshallingJAXB.class, "fromBookingCancellation(${body})")
.process(new BookingCancellationTeldResponse());
}
......
package com.fractalite.hermes.teldar.parsers;
import java.io.IOException;
import java.text.ParseException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPathExpressionException;
import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
import com.fractalite.hermes.teldar.tools.ObjectToXml;
import com.fractalite.models.commerce.Order;
import com.fractalite.models.commerce.OrderStatus;
import com.gekko_holding.webservice.v2_4.CancelBookingSegmentResponse;
public class BookingCancellationTeldResponse extends TeldarParsers {
protected static Logger logger = LoggerFactory.getLogger(BookingCancellationTeldResponse.class);
@Override
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException, ParseException {
logger.info("Invoking TELDAR BookingCancellationResponse Processor.......");
Order oldOrder = exchange.getProperty("TeldarOrder", Order.class);
CancelBookingSegmentResponse cancelresp = exchange.getIn().getMandatoryBody(CancelBookingSegmentResponse.class);
Order order = printHotelInfo(cancelresp, oldOrder);
exchange.getIn().setBody(ObjectToXml.printXML(order));
logger.info("End TELDAR BookingCancellationResponse Processor.......");
}
private Order printHotelInfo(CancelBookingSegmentResponse cancelresp, Order oldOrder)
throws XPathExpressionException {
if (cancelresp.getOperationStatus() != null && !cancelresp.getOperationStatus().isEmpty()
&& cancelresp.getOperationStatus().toString().equals("SUCCESS")) {
oldOrder.setStatus(OrderStatus.CANCELED);
}
return oldOrder;
}
}
......@@ -32,18 +32,19 @@ public class ParseAddBookingTeldar extends TeldarParsers {
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException, ParseException {
logger.info("Invoking TELDAR ParseAddBookingTeldar Processor......." + exchange.getIn().getBody());
Order oldOrder = exchange.getProperty("hermesorder", Order.class);
GetPreBookingInfoResponse respbook = exchange.getIn().getBody(GetPreBookingInfoResponse.class);
Order order = printHotelInfo(respbook.getPreBookingInfo(), oldOrder);
logger.debug("new one " + ObjectToXml.printXML(order));
exchange.setProperty("order", order);
// exchange.getIn().setBody(order);
exchange.getIn().setBody(order.getTrip().getContent(HotelStay.class).get(0).getHotel().getCode());
exchange.getIn().setBody(order);
logger.info("End TELDAR ParseAddBookingTeldar Processor.......");
}
private Order printHotelInfo(CancellationPolicyResponse teldarHotels, Order order) throws XPathExpressionException {
if (teldarHotels != null && teldarHotels.getCancellationFeesPolicy() != null
......
......@@ -60,15 +60,7 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
StaySearchResults staySearchResults = new StaySearchResults();
staySearchResults.setHotels(result);
/* Just Logging response. */
// String res = objectToJson(staySearchResults);
ObjectMapper mapper = new ObjectMapper();
/*
* logger.info(" \n StayRes -> \n " + mapper.writeValueAsString(result) + "\n");
* logger.info(" \n StayRes21 -> \n " +
* mapper.writeValueAsString(staySearchResults) + "\n");
*/
staySearchResults.setQuery(exchange.getProperty("hermesquery", QuoteTemplate.class));
exchange.getIn().setBody(staySearchResults, StaySearchResults.class);
}
......@@ -91,14 +83,14 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
HashMap<String, String> giataMapping = new HashMap<String, String>();
List<String> hotelcodes = quoteTemplate.getTrip().getContent(HotelStay.class).get(0).getGiatacode()
.getGekko_infinite();
.getGekko_teldar();
for (String code : hotelcodes) {
String[] codes = code.split("-");
String supplierCode = codes[0];
String giataCode = codes[1];
giataMapping.put(supplierCode, giataCode);
}
logger.info("giataccoddddd" + giataMapping.size());
logger.info("giataccodTeldar" + giataMapping.size());
List<String> lstCode = new ArrayList<String>(Arrays.asList("AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AR",
"AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN",
......@@ -222,7 +214,6 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
List<RoomProduct> products = new ArrayList<RoomProduct>();
}
/* Setting facilities. e.g: Accès Internet, etc. */
if (respHotel.getFacilities() != null && respHotel.getFacilities().getFacilities() != null
&& !respHotel.getFacilities().getFacilities().isEmpty()) {
/*
......@@ -276,6 +267,7 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
}
}
}
}
// offers
......@@ -305,11 +297,9 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
roomOffer.getAdultsCount() + roomOffer.getChildrenCount(),
new CodeNamePair(roomOffer.getBoardType().getCode(),
roomOffer.getBoardType().getValue()));
// hermesRoomProducts.add(roomproduct);
} else {
roomproduct = new RoomProduct(offer.getOfferCode(), hermesRoomType,
roomOffer.getAdultsCount() + roomOffer.getChildrenCount());
// hermesRoomProducts.add(roomproduct);
}
}
}
......@@ -330,7 +320,6 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
Money totalPrice = new Money(respRoomOffer.getRoomPrice().getValue(),
Currency.getInstance(respRoomOffer.getRoomPrice().getCurrency()));
roomproduct.setPrice(PriceScope.PURCHASE_TOTAL_PRICE, totalPrice);
// roomproduct.setPrice(PriceScope.TOTAL, totalPrice);
hermesRoomProducts.add(roomproduct);
break;
......
......@@ -48,6 +48,7 @@ import com.fractalite.models.travel.stay.RoomType;
import com.fractalite.models.travel.stay.StayItem2;
import com.gekko_holding.webservice.v2_4.AvailabilityResponse;
import com.gekko_holding.webservice.v2_4.CancellationFeesPolicy;
import com.gekko_holding.webservice.v2_4.Child;
import com.gekko_holding.webservice.v2_4.Facility;
import com.gekko_holding.webservice.v2_4.HotelAvailabilityResponse;
import com.gekko_holding.webservice.v2_4.HotelResponse;
......@@ -158,14 +159,8 @@ public class ParserQuotesresponse extends TeldarParsers {
}
DateTimeFormatter dateParser = DateTimeFormat.forPattern("yyyyMMdd");
// LocalDate checkin =
// dateParser.parseDateTime(hermesHotel.getCheckin()).toLocalDate();
Currency currency = Currency.getInstance("EUR");
// RoomProduct roomProduct = null;
// Offer offe=new Offer();
List<RoomType> hermesRoomTypes = new ArrayList<RoomType>();
if (respHotel.getOffers() != null && respHotel.getOffers().getOffer() != null) {
logger.info("I try to create Product ");
......@@ -187,24 +182,23 @@ public class ParserQuotesresponse extends TeldarParsers {
for (int ad = 0; ad < roomOffer.getAdultsCount(); ad++) {
trs.add(new Traveller(PaxType.ADULT));
}
int travellerCount=0;
List<Integer> childrenAges = new ArrayList<Integer>();
Child child = new Child();
for (int ch = 0; ch < roomOffer.getChildrenCount(); ch++) {
Traveller traveller = new Traveller(PaxType.CHILD, Byte.parseByte("10"));
traveller.setId(Integer.toString(++travellerCount));
traveller.setClassification(PaxType.INFANT);
trs.add(traveller);
//childrenAges.add(5);
if (child.getAge()<2) {
Traveller traveller = new Traveller(PaxType.INFANT, Byte.parseByte("10"));
traveller.setId(Integer.toString(++travellerCount));
traveller.setClassification(PaxType.INFANT);
trs.add(traveller);
}
}
CodeNamePair board = null;
// if (roomOffer.getBoardType() != null && roomOffer.getBoardType().getCode() !=
// null
// && roomOffer.getBoardType().getValue() != null)
if (roomOffer != null) {
if (roomOffer.getRoomType() != null && roomOffer.getRoomType().getCode() != null
&& roomOffer.getRoomType().getValue() != null
......@@ -217,32 +211,16 @@ public class ParserQuotesresponse extends TeldarParsers {
hermesRoomType = new RoomType(roomOffer.getRoomType().getCode(),
roomOffer.getRoomType().getValue(), "", "");
roomProduct = new RoomProduct(offer.getOfferCode(), hermesRoomType, occup, board);
roomProduct.setOccupancy2(new Occupancy2());
roomProduct.getOccupancy2().setAdults(roomOffer.getAdultsCount());
roomProduct.getOccupancy2().setChildAge(childrenAges);
/*
* hermesRoomType = new RoomType(roomOffer.getRoomType().getCode(),
* roomOffer.getAdultsCount(), roomOffer.getChildrenCount(),
* roomOffer.getRoomType().getValue());
*/
// hermesRoomTypes.add(hermesRoomType);
room = new Room(hermesRoomType, board, bedLayout, trs);
logger.info("adultOffers" + roomOffer.getAdultsCount());
// hermesRoomType = new RoomType(room.getCode(),occup, occup, room.getName());
bedLayout = new BedLayout("db", "Double", Byte
.parseByte("" + roomOffer.getAdultsCount() + roomOffer.getChildrenCount()));
}
//logger.info("adulttt" + roomOffer.getAdultsCount());
//logger.info("childdd" + roomOffer.getChildrenCount()); offer.getOfferCode()
logger.info("producttttt" + roomOffer.getAdultsCount() + roomOffer.getChildrenCount());
if (offer.getOfferCode() != null) {
if (roomOffer.getBoardType() != null && roomOffer.getBoardType().getCode() != null
&& roomOffer.getBoardType().getValue() != null) {
......@@ -255,8 +233,6 @@ public class ParserQuotesresponse extends TeldarParsers {
}
}
// int nbtravellers= roomOffer.getAdultsCount() + roomOffer.getChildrenCount();
// roomProduct.setCode(String.valueOf(offer.getTaxes()));
Money totalPrice = new Money(roomOffer.getRoomPrice().getValue(),
Currency.getInstance(roomOffer.getRoomPrice().getCurrency()));
roomProduct.setPrice(PriceScope.PURCHASE_UNIT, totalPrice);
......@@ -265,7 +241,6 @@ public class ParserQuotesresponse extends TeldarParsers {
quote.addMeta("source", ContentProvider.PROVIDER_ID);
List<TermOfSale> termsOfSales = new ArrayList<TermOfSale>();
// int ii = 0;
logger.info("cancellationnnn " +offer.getCancellationFeesPolicy().size());
if (offer.getCancellationFeesPolicy() != null
......@@ -326,16 +301,9 @@ public class ParserQuotesresponse extends TeldarParsers {
requestForQuote.getQuotes().add(quote);
}
// break;
}
}
// break;
// quote.getPricing().
// requestForQuote.getQuotes().add(quote );
}
}
......
package com.fractalite.hermes.teldar.services;
import javax.xml.datatype.DatatypeConfigurationException;
import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fractalite.hermes.teldar.cfg.TeldarRouteBuilder;
import com.fractalite.models.commerce.Order;
import com.fractalite.models.travel.stay.StayItem2;
import com.gekko_holding.webservice.v2_4.CancelBookingSegment;
import com.gekko_holding.webservice.v2_4.CustomerIdentification;
public class CancelBookingsegmentTeldRequest extends TeldarServices {
protected static Logger logger = LoggerFactory.getLogger(CancelBookingsegmentTeldRequest.class);
@Override
public void process(Exchange exchange) throws InvalidPayloadException, DatatypeConfigurationException {
logger.info("Invoking Teldar CancelBookingsegmentRequest Processor.......");
Order order = exchange.getIn().getMandatoryBody(Order.class);
exchange.setProperty("TeldarOrder", order);
CancelBookingSegment cancel = addBooking(order);
logger.info("End Teldar CancelBookingsegmentRequest Processor.......");
exchange.getIn().setBody(cancel, CancelBookingSegment.class);
}
private CancelBookingSegment addBooking(Order order) {
CancelBookingSegment cancel = new CancelBookingSegment();
CustomerIdentification customeridentification =new CustomerIdentification();
customeridentification.setClientId(TeldarRouteBuilder.clientId);
customeridentification.setPassword(TeldarRouteBuilder.password);
cancel.setIdentification(customeridentification);
cancel.setLanguage("EN");
cancel.setSegmentId("EXTERNAL:"+order.getMetaFirst("ExternalRef").split("_")[2]);
//RM_EXTERNAL_REF
return cancel;
}
}
\ No newline at end of file
......@@ -59,11 +59,11 @@ public class ConfirmBookTeldarRequest extends TeldarServices {
bookhotel.setIdentification(customeridentification);
RequestedBookings requestbooking = new RequestedBookings();
requestbooking.setInsurance(true);
requestbooking.setInsurance(false);
RequestedBookings.StatisticalFields satisticalfields = new RequestedBookings.StatisticalFields();
StaticticField staticticField = new StaticticField();
staticticField.setType("REM_EXTERNAL_REF");
staticticField.setType("RM_EXTERNAL_REF");
staticticField.setValue(custonumber);
logger.info("avvvv" + custonumber);
......@@ -95,6 +95,12 @@ public class ConfirmBookTeldarRequest extends TeldarServices {
pax2.setChildAge("" + tr.getAge());
}
else if (tr.getClassification() == PaxType.INFANT) {
pax2.setIsChild(true);
pax2.setChildAge("" + tr.getAge());
}
pax2.setFirstName(tr.getName().getFirst());
pax2.setLastName(tr.getName().getLast());
bookedroom2.getRegisteredUserOrPax().add(pax2);
......
......@@ -38,9 +38,8 @@ public class HotelQuotesRequest extends TeldarServices {
public void process(Exchange exchange)
throws InvalidPayloadException, ParseException, DatatypeConfigurationException {
logger.trace("Invoking TELDARQuote SearchHotelsPriceRequest Processor.......");
logger.trace("Invoking gooooo SearchHotelsPriceRequest Processor.......");
QuoteTemplate q = exchange.getIn().getMandatoryBody(QuoteTemplate.class);
// exchange.setProperty("QuoteTemplate", q);
HotelStay hotelstay = q.getTrip().getContent(HotelStay.class).get(0);
exchange.setProperty("hermesquery", q);
HotelAvailability teldarReq = getList(hotelstay);
......@@ -54,11 +53,6 @@ public HotelAvailability getList(HotelStay hotelstay) throws ParseException, Dat
{
HotelAvailability hotelavailability=new HotelAvailability();
CustomerIdentification customeridentification=new CustomerIdentification();
/*
* customeridentification.setClientId("atlasvoyages_test/xml");
* customeridentification.setPassword("RmsSj7tbKxUu");
*/
customeridentification.setClientId(TeldarRouteBuilder.clientId);
customeridentification.setPassword(TeldarRouteBuilder.password);
......@@ -67,24 +61,11 @@ public HotelAvailability getList(HotelStay hotelstay) throws ParseException, Dat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
hotelavailability.setIdentification(customeridentification);
// GetHotelDetails gethoteldetails=new GetHotelDetails();
DestinationCriteria destinationcriteria=new DestinationCriteria();
// HotelCodeDestination hotelcodedestination=new HotelCodeDestination();
// hotelcodedestination.setCode(hotelstay.getHotel().getAddress().getLocality().getCode());
// destinationcriteria.setHotel(hotelcodedestination);
HotelCodeDestination hotel = new HotelCodeDestination();
hotel.setCode(hotelstay.getHotel().getCode());
/*CityDestination citydestination=new CityDestination();
citydestination.setCode("FRLIO");
// citydestination.setCode("FRUIP");
citydestination.setStandard("locode");
destinationcriteria.setCity(citydestination);*/
destinationcriteria.setHotel(hotel );
avaCriteria.setDestinationCriteria(destinationcriteria);
......@@ -97,11 +78,9 @@ public HotelAvailability getList(HotelStay hotelstay) throws ParseException, Dat
facility.getCode();
facility.getValue();
RoomCriterias crit = new RoomCriterias();
//Room rooms = new Room();
String roo = "";
for (Room chambre : hotelstay.getRooms()) {
......@@ -109,13 +88,16 @@ public HotelAvailability getList(HotelStay hotelstay) throws ParseException, Dat
RoomPlan roomoffers = new RoomPlan();
int nbreOfAdult = 0;
Children chlidren = new Children();
for (Traveller traveller : chambre.getGuests()) {
if (traveller.getClassification() == PaxType.ADULT)
nbreOfAdult++;
else if (traveller.getClassification() == PaxType.CHILD)
//else if (traveller.getClassification() == PaxType.CHILD)
else if (traveller.getClassification() == PaxType.INFANT)
{
Child child=new Child();
child.setAge(traveller.getAge());
chlidren.getChild().add(child);
......
......@@ -9,6 +9,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fractalite.hermes.teldar.Marshaller.MarshallingJAXB;
import com.fractalite.hermes.teldar.cfg.TeldarRouteBuilder;
import com.fractalite.models.commerce.QuoteTemplate;
......@@ -20,7 +21,6 @@ import com.fractalite.models.travel.stay.Room;
import com.gekko_holding.webservice.v2_4.AvailabilityCriteria;
import com.gekko_holding.webservice.v2_4.AvailabilityCriteria.RoomCriterias;
import com.gekko_holding.webservice.v2_4.Child;
import com.gekko_holding.webservice.v2_4.CityDestination;
import com.gekko_holding.webservice.v2_4.CustomerIdentification;
import com.gekko_holding.webservice.v2_4.DestinationCriteria;
import com.gekko_holding.webservice.v2_4.GeoCodeDestination;
......@@ -39,23 +39,19 @@ public class SearchTeldarHotelPriceRequest extends TeldarServices {
public void process(Exchange exchange)
throws InvalidPayloadException, ParseException, DatatypeConfigurationException {
// logger.trace("\n Invoking ACCOR SearchHotelsPriceRequest Processor.......");
logger.trace("\n Invoking Teldarrrrrrrr SearchHotelsPriceRequest Processor.......");
QuoteTemplate q = exchange.getIn().getMandatoryBody(QuoteTemplate.class);
HotelStay hotelstay = q.getTrip().getContent(HotelStay.class).get(0);
exchange.setProperty("hermesquery", q);
HotelAvailability accorReq = getList(hotelstay);
logger.info("\n End ACCOR SearchHotelsPriceRequest Processor......." + MarshallingJAXB.printXML(accorReq));
exchange.getIn().setBody(accorReq, HotelAvailability.class);
HotelAvailability teldarReq = getList(hotelstay);
logger.info("\n End teldargooooo SearchHotelsPriceRequest Processor......." + MarshallingJAXB.printXML(teldarReq));
exchange.getIn().setBody(teldarReq, HotelAvailability.class);
}
public HotelAvailability getList(HotelStay hotelstay) throws ParseException, DatatypeConfigurationException {
HotelAvailability hotelavailability = new HotelAvailability();
CustomerIdentification customeridentification = new CustomerIdentification();
/*
* customeridentification.setClientId("atlasvoyages/xml");
* customeridentification.setPassword("9mz%3h/DYV");
*/
customeridentification.setClientId(TeldarRouteBuilder.clientId);
customeridentification.setPassword(TeldarRouteBuilder.password);
......@@ -65,24 +61,8 @@ public class SearchTeldarHotelPriceRequest extends TeldarServices {
hotelavailability.setIdentification(customeridentification);
// GetHotelDetails gethoteldetails=new GetHotelDetails();
/*
* DestinationCriteria destinationcriteria = new DestinationCriteria();
*
* HotelCodeDestination hotelcodedestination=new HotelCodeDestination();
* hotelcodedestination.setCode(hotelstay.getHotel().getAddress().getLocality().
* getCode()); destinationcriteria.setHotel(hotelcodedestination);
*/
DestinationCriteria destinationcriteria = new DestinationCriteria();
// CityDestination citydestination = new CityDestination();
// citydestination.setCode(hotelstay.getHotel().getAddress().getLocality().getCode());
// logger.info("codeeee"+hotelstay.getHotel().getAddress().getLocality().getCode());
/*
* citydestination.setCode("FRLIO"); citydestination.setStandard("locode");
* destinationcriteria.setCity(citydestination);
*/
String desCode = hotelstay.getHotel().getAddress().getLocality().getCode();
logger.info("loccccc" + desCode);
if (desCode.contains("geo-")) {
......@@ -98,9 +78,7 @@ public class SearchTeldarHotelPriceRequest extends TeldarServices {
// Search By hotels codes
HotelCodeListDestination hotelsList = new HotelCodeListDestination();
//if(hotelstay.getGiatacode() == null || hotelstay.getGiatacode().getGekko_infinite() == null || hotelstay.getGiatacode().getGekko_infinite().size() == 0)
// d
for (String hotelcodes : hotelstay.getGiatacode().getGekko_infinite()) {
for (String hotelcodes : hotelstay.getGiatacode().getGekko_teldar()) {
String[] codes = hotelcodes.split("-");
String supplierCode = codes[0];
String giataCode = codes[1];
......@@ -112,50 +90,30 @@ public class SearchTeldarHotelPriceRequest extends TeldarServices {
destinationcriteria.setHotels(hotelsList);
avaCriteria.setDestinationCriteria(destinationcriteria);
}
// hotelstay.getLocation().getCode();
hotelavailability.setLanguage("EN");
// logger.info("chekout is" +hotelstay.getCheckin());
avaCriteria.setCheckIn(hotelstay.getCheckin().toString());
avaCriteria.setCheckOut(hotelstay.getCheckout().toString());
// hotelavailability.setAvailCriteria(avaCriteria);
/*
* avaCriteria.setCheckIn("2019-11-07"); avaCriteria.setCheckOut("2019-11-09");
*/
/*
* Facility facility = new Facility(); facility.getCode(); facility.getValue();
*/
/*
* GeoCodeDestination geocodedestination=new GeoCodeDestination();
* destinationcriteria.setGeoCode(geocodedestination);
*
* PoiDestination poidestination=new PoiDestination();
* poidestination.setCode(""); poidestination.setRange(null);
* destinationcriteria.setPoi(poidestination);
*/
RoomCriterias crit = new RoomCriterias();
// Room rooms = new Room();
String roo = "";
for (Room chambre : hotelstay.getRooms()) {
// Log.info("rooooooooommm " +hotelstay.getRooms().size());
Occupancy2 occupancy = new Occupancy2();
RoomPlan roomoffers = new RoomPlan();
int nbreOfAdult = 0;
Children chlidren = new Children();
for (Traveller traveller : chambre.getGuests()) {
if (traveller.getClassification() == PaxType.ADULT)
nbreOfAdult++;
else if (traveller.getClassification() == PaxType.CHILD) {
Child child = new Child();
child.setAge(traveller.getAge());
child.setAge(traveller.getAge().intValue());
chlidren.getChild().add(child);
}
......@@ -173,31 +131,9 @@ public class SearchTeldarHotelPriceRequest extends TeldarServices {
hotelavailability.setAvailCriteria(avaCriteria);
/*
* RoomCriterias roomingList = new RoomCriterias(); RoomPlan roomPlan = new;
* RoomPlan(); roomPlan.setAdultsCount(2); roomPlan.setRoomType("DOUB");
* roomingList.getRoomPlan().add(roomPlan );
*/
/* avaCriteria.setRoomCriterias(roomingList); */
/* hotelavailability.setLanguage("EN"); */
return hotelavailability;
// roomPlan.setAdultsCount(hotelstay.getTravellers().get(0).getClassification().equals(PaxType.ADULT));
/*
* Children children = new Children(); Child child = new Child();
* child.setAge(5); children.getChild().add(child);
* roomPlan.setChildren(children );
*/
/*
* Children children = new Children(); Child child = new Child();
* child.setAge(5); children.getChild().add(child); Child child2 = new Child();
* child2.setAge(1); children.getChild().add(child2);
* roomPlan.setChildren(children );
*/
}
}
Manifest-Version: 1.0
Bnd-LastModified: 1594295093760
Build-Jdk: 1.8.0_252
Built-By: dev
Bnd-LastModified: 1595861104859
Build-Jdk-Spec: 1.8
Bundle-ManifestVersion: 2
Bundle-Name: tdr
Bundle-SymbolicName: tldd-hotels
Bundle-Version: 0.0.1.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: com.gekko_holding.webservice.v2_4;version="0.0.1";uses:=
"javax.jws,javax.xml.bind,javax.xml.bind.annotation,javax.xml.namespace
,javax.xml.ws",com.fractalite.hermes.teldar.parsers;version="0.0.1";use
s:="com.fractalite.models.travel.stay,javax.xml.parsers,javax.xml.xpath
,org.apache.camel,org.slf4j,org.springframework.stereotype,org.xml.sax"
,com.fractalite.hermes.teldar.Marshaller;version="0.0.1";uses:="com.gek
ko_holding.webservice.v2_4,org.apache.camel,org.springframework.stereot
ype",com.fractalite.hermes.teldar.tools;version="0.0.1";uses:="com.frac
talite.models.travel.stay,javax.xml.bind.annotation",com.fractalite.her
mes.teldar.services;version="0.0.1";uses:="com.fractalite.models.commer
ce,com.fractalite.models.travel.stay,com.gekko_holding.webservice.v2_4,
javax.xml.datatype,org.apache.camel,org.slf4j",com.fractalite.hermes.te
ldar.cfg;version="0.0.1";uses:="com.fractalite.hermes.services.stay,jav
ax.xml.parsers,org.apache.camel.builder,org.w3c.dom,org.xml.sax"
Import-Package: org.apache.camel;version="[2.8,3)",org.apache.camel.mode
l;version="[2.8,3)",org.apache.camel.model.language;version="[2.8,3)",o
rg.slf4j;version="[1.6,2)",org.xml.sax,org.joda.time;version="[1.5,2)",
org.joda.time.format;version="[1.5,2)",javax.xml.bind,javax.xml.bind.an
notation,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax
.xml.soap,javax.xml.transform,javax.xml.transform.dom,javax.xml.transfo
rm.stream,javax.xml.ws,javax.xml.xpath,org.apache.camel.builder;version
="[2.8,3)",com.fractalite.hermes.services.stay;version="[0.1,1)",com.fr
actalite.hermes.teldar.Marshaller;version="[0.0,1)",com.fractalite.herm
es.teldar.parsers;version="[0.0,1)",com.fractalite.hermes.teldar.servic
es;version="[0.0,1)",com.fractalite.hermes.teldar.tools;version="[0.0,1
)",com.fractalite.models.commerce;version="[0.0,1)",com.fractalite.mode
ls.common;version="[0.0,1)",com.fractalite.models.travel;version="[0.0,
1)",com.fractalite.models.travel.stay;version="[0.0,1)",com.gekko_holdi
ng.webservice.v2_4;version="[0.0,1)",com.giata.desthotel.mapping;versio
n="[0.0,1)",com.google.i18n.phonenumbers,javax.jws,org.apache.camel.com
ponent.http4;version="[2.8,3)",org.apache.camel.converter.jaxb;version=
"[2.8,3)",org.apache.camel.spi;version="[2.8,3)",org.apache.servicemix.
camel.nmr,org.apache.servicemix.nmr.api,org.codehaus.jackson.map;versio
n="[1.8,2)",org.springframework.stereotype;version="[3.0,4)",org.w3c.do
m,org.apache.camel.model.config;version="[2.8,3)",org.apache.camel.mode
l.dataformat;version="[2.8,3)",org.apache.camel.model.loadbalancer;vers
ion="[2.8,3)",org.springframework.beans.factory.config;version="[3.0,4)
"
Export-Package: com.fractalite.hermes.teldar.Marshaller;uses:="com.gekko
_holding.webservice.v2_4,org.apache.camel,org.springframework.stereotyp
e";version="0.0.1",com.fractalite.hermes.teldar.cfg;uses:="com.fractali
te.hermes.services.stay,javax.xml.parsers,org.apache.camel.builder,org.
w3c.dom,org.xml.sax";version="0.0.1",com.fractalite.hermes.teldar.parse
rs;uses:="com.fractalite.models.travel.stay,javax.xml.parsers,javax.xml
.xpath,org.apache.camel,org.slf4j,org.springframework.stereotype,org.xm
l.sax";version="0.0.1",com.fractalite.hermes.teldar.services;uses:="com
.fractalite.models.commerce,com.fractalite.models.travel.stay,com.gekko
_holding.webservice.v2_4,javax.xml.datatype,org.apache.camel,org.slf4j"
;version="0.0.1",com.fractalite.hermes.teldar.tools;uses:="com.fractali
te.models.travel.stay,javax.xml.bind.annotation";version="0.0.1",com.ge
kko_holding.webservice.v2_4;uses:="javax.jws,javax.xml.bind,javax.xml.b
ind.annotation,javax.xml.namespace,javax.xml.ws";version="0.0.1"
Import-Package: com.fractalite.hermes.services.stay;version="[0.1,1)",co
m.fractalite.hermes.teldar.Marshaller;version="[0.0,1)",com.fractalite.
hermes.teldar.parsers;version="[0.0,1)",com.fractalite.hermes.teldar.se
rvices;version="[0.0,1)",com.fractalite.hermes.teldar.tools;version="[0
.0,1)",com.fractalite.models.commerce;version="[0.0,1)",com.fractalite.
models.common;version="[0.0,1)",com.fractalite.models.travel;version="[
0.0,1)",com.fractalite.models.travel.stay;version="[0.0,1)",com.gekko_h
olding.webservice.v2_4;version="[0.0,1)",com.giata.desthotel.mapping;ve
rsion="[0.0,1)",com.google.i18n.phonenumbers,javax.jws,javax.xml.bind,j
avax.xml.bind.annotation,javax.xml.datatype,javax.xml.namespace,javax.x
ml.parsers,javax.xml.soap,javax.xml.transform,javax.xml.transform.dom,j
avax.xml.transform.stream,javax.xml.ws,javax.xml.xpath,org.apache.camel
;version="[2.8,3)",org.apache.camel.builder;version="[2.8,3)",org.apach
e.camel.component.http4;version="[2.8,3)",org.apache.camel.converter.ja
xb;version="[2.8,3)",org.apache.camel.model;version="[2.8,3)",org.apach
e.camel.model.config;version="[2.8,3)",org.apache.camel.model.dataforma
t;version="[2.8,3)",org.apache.camel.model.language;version="[2.8,3)",o
rg.apache.camel.model.loadbalancer;version="[2.8,3)",org.apache.camel.s
pi;version="[2.8,3)",org.apache.servicemix.camel.nmr,org.apache.service
mix.nmr.api,org.codehaus.jackson.map;version="[1.8,2)",org.joda.time;ve
rsion="[1.5,2)",org.joda.time.format;version="[1.5,2)",org.slf4j;versio
n="[1.6,2)",org.springframework.beans.factory.config;version="[3.0,4)",
org.springframework.stereotype;version="[3.0,4)",org.w3c.dom,org.xml.sa
x
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Tool: Bnd-4.2.0.201903051501
Tool: Bnd-5.1.1.202006162103
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment