Commit 5d9f9743 by ED-DRIF

EP_BOOKING_CONFIRMATION

parent a6c181f6
......@@ -58,7 +58,7 @@ public class UnmarshallingJAXB {
}
public static GetPreBookingInfoResponse fromPreBookingInfoResponse1(String exchangeBody) {
public static GetPreBookingInfoResponse fromPreBookingInfoResponse(String exchangeBody) {
GetPreBookingInfoResponse unmarshalledObject = printObject(GetPreBookingInfoResponse.class, exchangeBody);
return unmarshalledObject;
}
......
......@@ -39,7 +39,6 @@ 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;
......@@ -47,11 +46,14 @@ 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.ConfirmBookTeldarRequest;
import com.fractalite.hermes.teldar.services.GetHotelDetailsRequest;
import com.fractalite.hermes.teldar.services.HotelQuotesRequest;
import com.fractalite.hermes.teldar.services.PreBookingTeldarRequest;
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.travel.stay.Hotel;
......@@ -90,31 +92,12 @@ public class TeldarRouteBuilder extends RouteBuilder {
public static final String EP_SEARCH_RESULT = "stay/searchResults";
public static final String wsUrl = "http4://teldar.atlasvoyages.com/gekko-front/ws/v2_4/AvailabilityService";
// public static final String wsUrl ="http4://teldar.atlasvoyages.com/gekko-front/ws/v2_4/AvailabilityService";
// public static final String wsUrl ="https4://34.250.74.154:8082/search";
// public static final String wsUrl = "https4://teldar.atlasvoyages.com/gekko-front/ws/v2_4/AvailabilityService";
// public static final String wsUrl = "http4://api.infinitehotel.com/gekko-front/ws/v2_4/AvailabilityService";
// public static final String wsUrl = "http4://api.infinitehotel.com/gekko-front/ws/v2_4/AvailabilityService";
// public static final String wsUrl = "http4://hermes-scribe.fractalite.com/gekko-front/ws/v2_4/AvailabilityService";
// public static final String WSURL_REF = "http4://hermes-scribe.fractalite.com/gekko-front/ws/v2_4/ReferentialService";
public String status = "";
// TEST
// public static final String clientId ="atlasvoyages_test/xml";
// public static final String password="RmsSj7tbKxUu";
// PROD teldar
public static final String clientId = "atlasvoyages/master/test";
public static final String password = "p*TE*kH!e8$%dS";
public static final String customerKey = "atlasvoyages/test";
// PROD teldar
// public static final String clientId = "atlasvoyages/xml";
// public static final String password = "aPxsZ63NpyqPkEYs";
org.apache.camel.spi.DataFormat jaxb = new org.apache.camel.converter.jaxb.JaxbDataFormat(
"com.fractalite.hermes.teldar.api");
......@@ -124,23 +107,6 @@ public class TeldarRouteBuilder extends RouteBuilder {
private JaxbDataFormat hotelsDataFormat;
private boolean test = false;
// private static HashMap<String, HashMap<String, String>> hmap = new
// HashMap<String, HashMap<String, String>>();
/*
* public Object Convertion() throws JAXBException { JAXBContext jaxbContext
* =JAXBContext.newInstance(GetHotelDetailsResponse.class); Unmarshaller
* unmarshaller = jaxbContext.createUnmarshaller();
*
* StringReader reader = new StringReader("xml string here");
* GetHotelDetailsResponse person = (GetHotelDetailsResponse)
* unmarshaller.unmarshal(reader); return person;
*
* }
*/
// public static HashMap<String,String> BoardList = new
// HashMap<String,String>();
public TeldarRouteBuilder() {
......@@ -221,8 +187,10 @@ public class TeldarRouteBuilder extends RouteBuilder {
}
}).choice()
// stop if code empty
.when(header("teldaremtygiata").isEqualTo(true)).log("teldar Giata code is null")
.removeHeader("teldaremtygiata").process(new Processor() {
.when(header("teldaremtygiata").isEqualTo(true))
.log("teldar Giata code is null")
.removeHeader("teldaremtygiata")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
......@@ -246,11 +214,14 @@ public class TeldarRouteBuilder extends RouteBuilder {
exchange.setProperty("hermessearchcompletionsize",
exchange.getIn().getHeader("hermessearchcompletionsize"));
}
}).process(new SearchTeldarHotelPriceRequest()).bean(MarshallingJAXB.class, "marshallObject")
.log("\n Request body content : \n ${body}").log("urlllll" + wsUrl)
}).process(new SearchTeldarHotelPriceRequest())
.bean(MarshallingJAXB.class, "marshallObject")
.log("\n Request body content : \n ${body}")
.log("urlllll" + wsUrl)
.to(wsUrl)// + "?throwExceptionOnFailure=false")
.convertBodyTo(String.class, "ISO-8859-1").log("\n teldar response body --------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class, "ISO-8859-1")
.log("\n teldar response body --------------- : \n ${body}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
......@@ -263,56 +234,19 @@ public class TeldarRouteBuilder extends RouteBuilder {
soapMessageBodyContent(exchange.getIn().getBody(String.class));
logger.info("unmarshledSoap" + soapMessageBodyContent(exchange.getIn().getBody(String.class)));
}
})
/* Unmarshalling teldar response */
.bean(UnmarshallingJAXB.class, "fromHotelAvailabilityResponse(${body})")
// .bean(UnmarshallingJAXB.class)
/* Converting teldar response. */
.log("responsemarshllerrr --------------- : \n ${body}").process(new ParseTeldarHotelsPriceResponse())
.log("responsemarshllerrr --------------- : \n ${body}")
.process(new ParseTeldarHotelsPriceResponse())
.end().to(nmrOrDirect + EP_SEARCH_RESULT);
/***************** CityHotelRequest *******************/
/*
* from(nmrOrDirect +
* EP_HOTEL_ADDRESSE).routeId(EP_HOTEL_ADDRESSE).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(""))
* .log("ConvertCcities : \n ${body}") .process(new
* CityHotelRequest()).log("ConvertCities : \n ${body}")
* .bean(MarshallingJAXB.class,
* "marshallObject").log("Marshalled body for cities : ${body}")
*
* .to(WSURL_REF).convertBodyTo(String.class)
*
* .log("Citie Response : \n " + body())
*
* .bean(UnmarshallingJAXB.class, "fromGetCitiesResponse(${body})").process(new
* Processor() {
*
* @Override public void process(Exchange exchange) throws Exception {
* exchange.getIn().setHeaders(new HashMap<String, Object>());
*
* logger.info("contcity" + getCities(list1)); } })
*
* .process(new ParserCityHotelResonse());
*
*
*
*/
/***************** HotelQuotesRequest *******************/
from(nmrOrDirect + EP_HOTEL_QUOTES).routeId(EP_HOTEL_QUOTES).setExchangePattern(ExchangePattern.InOut)
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.setHeader(Exchange.CONTENT_TYPE, constant("application/xml"))
.setHeader(Exchange.SOAP_ACTION, constant(""))
......@@ -323,7 +257,6 @@ public class TeldarRouteBuilder extends RouteBuilder {
public void process(Exchange exchange) throws Exception {
for (String h : exchange.getIn().getHeaders().keySet())
logger.info("header before quote " + h + " : " + exchange.getIn().getHeader(h));
}
})
......@@ -342,30 +275,29 @@ public class TeldarRouteBuilder extends RouteBuilder {
+ soapMessageBodyContent(exchange.getIn().getBody(String.class)));
}
})
.bean(UnmarshallingJAXB.class, "fromHotelAvailabilityResponse(${body})")
.log("ResponseMarshllerQuote --------------- : \n ${body}")
.process(new com.fractalite.hermes.teldar.parsers.ParserQuotesresponse());
.process(new com.fractalite.hermes.teldar.parsers.ParserQuotesresponse())
.log("bodyquoteeee --------------- : \n ${body}");
/***************** HotelDetailsInfo *******************/
from(nmrOrDirect + EP_HOTEL_INFO).routeId(EP_HOTEL_INFO).setExchangePattern(ExchangePattern.InOut)
from(nmrOrDirect + EP_HOTEL_INFO)
.routeId(EP_HOTEL_INFO)
.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 GetHotelDetailsRequest())
.log("bodyDetailss : \n ${body}").bean(MarshallingJAXB.class, "marshallObject")
.to(wsUrl + "?throwExceptionOnFailure=false")
.convertBodyTo(String.class, "ISO-8859-1").log("ResponseDetails --------------- : \n ${body}")
.log("bodyDetailss : \n ${body}")
.bean(MarshallingJAXB.class, "marshallObject")
.to(wsUrl)
.convertBodyTo(String.class, "ISO-8859-1")
.log("ResponseDetails --------------- : \n ${body}")
.process(new Processor() {
......@@ -373,41 +305,50 @@ public class TeldarRouteBuilder extends RouteBuilder {
public void process(Exchange exchange) throws Exception {
exchange.getIn().setHeaders(new HashMap<String, Object>());
logger.info("ConvertionNodeDteails"
logger.info("ConvertionNode1"
+ ConvertionNode(soapMessageBodyContent(exchange.getIn().getBody(String.class))));
exchange.getOut().setBody(
ConvertionNode(soapMessageBodyContent(exchange.getIn().getBody(String.class))));
}
})
// .bean(UnmarshallingJAXB.class, "fromGetDetailsResponse(${body})")
// .bean(UnmarshallingJAXB.class)
.removeHeader("camel*")
.process(new ParseHoteldetailsResponse());
// .bean(UnmarshallingJAXB.class, "fromGetDetailsResponse(${body})")
.process(new ParseHoteldetailsResponse())
.log("responsemeeeedd-------------- : \n ${body}");
/***************** HotelQuotesCancellationPolicyRequest *******************/
from(nmrOrDirect + EP_HOTEL_QUOTE_CANCELLATION_POLICY)
.routeId(EP_HOTEL_QUOTE_CANCELLATION_POLICY)
.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 QuoteTeldarRequestCancellation())
.bean(MarshallingJAXB.class, "marshallObject")
.log("cancelRequestTeldar body --------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("Cancelresponse body --------------- : \n ${body}")
.bean(UnmarshallingJAXB.class, "fromHotelAvailabilityResponse(${body})")
.process(new QuoteTeldarCancellationResponse()) ;
/***************** PreBookingHotelRequest *******************/
from(nmrOrDirect + EP_ORDER)
.log("EP--PREORDER ${body}")
// from("timer://orderTimer?delay=6000&repeatCount=1")
.routeId(EP_ORDER).setExchangePattern(ExchangePattern.InOut)
.log("PreOrder webservice !!!!! ${body}")
.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(""))
.log("headerss")
.process(new PreBookingTeldarRequest())
.bean(MarshallingJAXB.class, "marshallObject")
.log("PreBookTeldar body --------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("ResponsePreOrderBOok --------------- : \n ${body}")
.process(new Processor() {
......@@ -421,35 +362,46 @@ public class TeldarRouteBuilder extends RouteBuilder {
}
})
.bean(UnmarshallingJAXB.class, "fromPreBookingInfoResponse1(${body})")
.log("ResponseMarshllerPreOder --------------- : \n ${body}")
.bean(UnmarshallingJAXB.class, "fromPreBookingInfoResponse(${body})")
.log("ResponseUnMarshllerPreOder --------------- : \n ${body}")
.process(new ParseAddBookingTeldar())
.log("ResponseParserBook ---------- : \n ${body}");
.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)
.log("EP----CONFIRMATION ${body}")
// from("timer://orderTimer?delay=6000&repeatCount=1")
.routeId(EP_BOOKING_CONFIRMATION)
.setExchangePattern(ExchangePattern.InOut)
.log("ConfirmOrder webservice !!!!! ${body}")
.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("ConfirmBookTeldarRequest Body --------------- : \n ${body}")
.log("Response Marshller--------------- : \n ${body}")
.to(wsUrl)
.convertBodyTo(String.class)
.log("ConfirmBookTeldarRequest Response body --------------- : \n ${body}")
.bean(UnmarshallingJAXB.class, "fromBookHotelResponse(${body})")
.process(new ParseConfirmBookResponse());
.log("ResponseUmarshledConfirm --------------- : \n ${body}")
.process(new ParseConfirmBookResponse())
.log("ResponseConfirmed ---------- : \n ${body}");
/***************** HotelChargeConditionsBookingRequest *******************/
......@@ -471,37 +423,39 @@ public class TeldarRouteBuilder extends RouteBuilder {
private static GetHotelDetailsResponse ConvertionNode(String hoteldetail)
throws ParserConfigurationException, SAXException, IOException, JAXBException, TransformerException {
Logger logg = LoggerFactory.getLogger(TeldarRouteBuilder.class);
// Document document = stringToXml(hoteldetail);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(hoteldetail)));
Element rootElement = document.getDocumentElement();
logger.info("detailsssssssssssss" +hoteldetail);
logger.info("documentDetailss" +rootElement);
GetHotelDetailsResponse resp = new GetHotelDetailsResponse();
NodeList nLhotelName = rootElement.getElementsByTagName("hotelName");
Element elmnhotelName = (Element) nLhotelName.item(0);
String hotelCode = "";
NodeList nLhotelCodee = rootElement.getElementsByTagName("hotelCode");
Element elmnhotelCodee = (Element) nLhotelCodee.item(0);
if (elmnhotelCodee != null && elmnhotelCodee.getTextContent() != null) {
hotelCode = elmnhotelCodee.getTextContent();
Node nLhotelCode = rootElement.getAttributeNode("hotelCode");
String hotelCode ="";
if(rootElement.getAttributeNode("hotelCode")!= null) {
hotelCode =nLhotelCode.getNodeValue().toString();
}
logger.info("hotelcodehotel" +nLhotelCode) ;
Node nLhotelRating = rootElement.getAttributeNode("hotelRating");
String hotelRating ="";
if(rootElement.getAttributeNode("hotelRating") !=null) {
hotelRating=nLhotelRating.getNodeValue();
logger.info("hotelRatinggggggggggg" +nLhotelRating) ;
String hotelRating = "";
NodeList nLhotelRating = rootElement.getElementsByTagName("hotelRating");
Element elmnhotelRating = (Element) nLhotelRating.item(0);
if (elmnhotelRating != null && elmnhotelRating.getTextContent() != null) {
hotelRating = elmnhotelRating.getTextContent();
}
/*
* Node nLhotelRating = rootElement.getAttributeNode("hotelRating");
*
* String hotelRating = nLhotelRating.getNodeValue();
*/
HotelChain htlChaine = new HotelChain();
NodeList nLhotelChain = rootElement.getElementsByTagName("hotelChain");
......@@ -510,14 +464,22 @@ public class TeldarRouteBuilder extends RouteBuilder {
String hotelChain = elmnhotelChain.getTextContent();
htlChaine.setValue(hotelChain);
}
logger.info("nLhotelChainnnn" +nLhotelChain) ;
logger.info("hotelChainnnn" +elmnhotelChain) ;
CityBean cityB = new CityBean();
NodeList nLcity = rootElement.getElementsByTagName("city");
Element elmncity = (Element) nLcity.item(0);
Node nLCode = elmncity.getAttributeNode("code");
String codeCity = nLCode.getNodeValue();
String codeCity = "";
if(elmncity.getAttributeNode("code") !=null) {
codeCity = nLCode.getNodeValue();
logger.info("codeCityyyyyy" +nLCode);
}
logger.info("codeCityyyyyy2" +nLCode);
cityB.setCode(codeCity);
GeoLocalization geo = new GeoLocalization();
......@@ -597,21 +559,13 @@ public class TeldarRouteBuilder extends RouteBuilder {
NodeList nLImage = elmnImages.getElementsByTagName("image");
Element elmnfacility = (Element) nLImage.item(0);
Node nLTypeImages = elmnfacility.getAttributeNode("type");
for (int j = 0; j < nLImage.getLength(); j++) {
Element elmnImage = (Element) nLImage.item(j);
// String typeImage = elmnImage.getNodeValue();
String urlImage = elmnImage.getTextContent();
// ig.setType(typeImage);
ig.setValue(urlImage);
str.add(ig.getValue());
// imges.getImage().add(j, ig);
igs.add(ig);
// logg.info("igggg63" + imges.getImage().get(j).getValue());
}
}
......@@ -635,6 +589,7 @@ public class TeldarRouteBuilder extends RouteBuilder {
if (elmnfax != null && elmnfax.getTextContent() != null)
fax = elmnfax.getTextContent();
logger.info("faxxxxxxx" +nLfax);
if (elmnemail != null && elmnemail.getTextContent() != null)
email = elmnemail.getTextContent();
......@@ -667,6 +622,7 @@ public class TeldarRouteBuilder extends RouteBuilder {
return resp;
}
public static Document stringToXml(String line) throws ParserConfigurationException, SAXException, IOException {
Logger logg = LoggerFactory.getLogger(TeldarRouteBuilder.class);
......@@ -677,7 +633,7 @@ public class TeldarRouteBuilder extends RouteBuilder {
return document;
}
//hotelreponse
//ConvertString
private static String convertToString(SOAPBody message) throws Exception {
Document doc = message.extractContentAsDocument();
......@@ -693,7 +649,7 @@ public class TeldarRouteBuilder extends RouteBuilder {
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.transform(new DOMSource(rootElement), new StreamResult(sw));
transformer.transform(new DOMSource(s), new StreamResult(sw));
return sw.toString();
}
......
package com.fractalite.hermes.teldar.parsers;
public enum HotelRating {
public enum HotelRatingg {
_1STR("1STR"),
_2STR("2STR"),
......@@ -17,7 +17,7 @@ public enum HotelRating {
*/
private String value;
private HotelRating(String v) {
private HotelRatingg(String v) {
this.value = v;
}
......
......@@ -24,120 +24,117 @@ import com.gekko_holding.webservice.v2_4.CancellationFeesPolicy;
import com.gekko_holding.webservice.v2_4.CancellationPolicyResponse;
import com.gekko_holding.webservice.v2_4.GetPreBookingInfoResponse;
public class ParseAddBookingTeldar extends TeldarParsers {
public class ParseAddBookingTeldar extends TeldarParsers{
protected static Logger logger = LoggerFactory.getLogger(ParseAddBookingTeldar.class);
protected static Logger logger = LoggerFactory.getLogger(ParseAddBookingTeldar.class);
@Override
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException, ParseException {
@Override
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());
logger.info("End TELDAR ParseAddBookingTeldar Processor.......");
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.getTrip().getContent(HotelStay.class).get(0).getHotel().getCode());
logger.info("End TELDAR ParseAddBookingTeldar Processor......."+ ObjectToXml.printXML(order));
private Order printHotelInfo(CancellationPolicyResponse teldarHotels, Order order) throws XPathExpressionException {
}
if (teldarHotels != null && teldarHotels.getCancellationFeesPolicy() != null
&& !teldarHotels.getCancellationFeesPolicy().isEmpty()) {
private Order printHotelInfo(CancellationPolicyResponse teldarHotels, Order order) throws XPathExpressionException {
if (teldarHotels != null && teldarHotels.getCancellationFeesPolicy() != null
&& !teldarHotels.getCancellationFeesPolicy().isEmpty()) {
logger.info("teldarHotels" + teldarHotels + "̣ size " + teldarHotels.getCancellationFeesPolicy().size());
logger.info("teldarHotels" + teldarHotels + "̣ size " + teldarHotels.getCancellationFeesPolicy().size());
HashMap<String, HashMap<String, String>> cancellationFees = new HashMap<String, HashMap<String, String>>();
HashMap<String, HashMap<String, String>> cancellationFees = new HashMap<String, HashMap<String, String>>();
for (CancellationFeesPolicy respHotelBook : teldarHotels.getCancellationFeesPolicy()) {
for (CancellationFeesPolicy respHotelBook : teldarHotels.getCancellationFeesPolicy()) {
if (!respHotelBook.isAllDates()) {
if (respHotelBook.getFromDate() != null) {
cancellationFees.put(respHotelBook.getFromDate(), new HashMap<String, String>());
}
if (!respHotelBook.isAllDates()){
if (respHotelBook.getFromDate() != null) {
cancellationFees.put(respHotelBook.getFromDate(), new HashMap<String, String>());
}
if (respHotelBook.getToDate() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("ToDate", respHotelBook.getToDate());
}
if (respHotelBook.getToDate()!=null){
cancellationFees.get(respHotelBook.getFromDate()).put("ToDate", respHotelBook.getToDate());
}
if (respHotelBook.getRoomIndex() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("RoomIndex",
respHotelBook.getRoomIndex().toString());
}
if (respHotelBook.getRoomIndex() != null){
cancellationFees.get(respHotelBook.getFromDate()).put("RoomIndex", respHotelBook.getRoomIndex().toString());
}
if (respHotelBook.getCurrency() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("Currency", respHotelBook.getCurrency());
}
if (respHotelBook.getCurrency() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("Currency", respHotelBook.getCurrency());
}
if (respHotelBook.getPrice() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("Price", respHotelBook.getPrice());
}
} else {
cancellationFees.put("allDates", new HashMap<String, String>());
if (respHotelBook.getPrice() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("Price", respHotelBook.getPrice());
}
}else {
cancellationFees.put("allDates", new HashMap<String, String>());
if (respHotelBook.getCurrency() != null) {
cancellationFees.get("allDates").put("Currency", respHotelBook.getCurrency());
}
if (respHotelBook.getCurrency() != null) {
cancellationFees.get("allDates").put("Currency", respHotelBook.getCurrency());
}
if (respHotelBook.getPrice() != null) {
cancellationFees.get("allDates").put("Price", respHotelBook.getPrice());
}
}
}
if (teldarHotels.getVoucherObservation() != null && !teldarHotels.getVoucherObservation().isEmpty()) {
HashMap<String, String> voucherMap = new HashMap<String, String>();
voucherMap.put("voucher", teldarHotels.getVoucherObservation());
cancellationFees.put("voucherObservation", voucherMap);
}
if (teldarHotels.getOfferCode() != null && !teldarHotels.getOfferCode().isEmpty()) {
//
logger.info(" Offer codeteladr is : " + teldarHotels.getOfferCode());
order.setNumber(teldarHotels.getOfferCode());
order.setStatus(OrderStatus.PREORDER);
} else
try {
throw (new Exception());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (teldarHotels.getOfferPrice() != null) {
if (teldarHotels.getOfferPrice().isChanged()) {
Money newMoney = new Money(teldarHotels.getOfferPrice().getTotalPrice().getValue(),
Currency.getInstance(teldarHotels.getOfferPrice().getTotalPrice().getCurrency()));
order.getPricing().setPrice(PriceScope.TOTAL, newMoney);
logger.info("priceeeeeess " + teldarHotels.getOfferPrice().getTotalPrice().getCurrency());
if (teldarHotels.getOfferPrice().getPricePerRoom() != null) {
// Room pricing
}
}
logger.info("Cancellation fees list content");
for (String key : cancellationFees.keySet()) {
for (String value : cancellationFees.get(key).keySet()) {
logger.info(key);
logger.info(value + " : " + cancellationFees.get(key).get(value));
logger.info("vaueeeeeeeeeeee " + cancellationFees.get(key).get(value));
}
}
if (respHotelBook.getPrice() != null) {
cancellationFees.get("allDates").put("Price", respHotelBook.getPrice());
}
}
}
}
if (teldarHotels.getVoucherObservation() != null && !teldarHotels.getVoucherObservation().isEmpty()){
HashMap<String, String> voucherMap = new HashMap<String, String>();
voucherMap.put("voucher", teldarHotels.getVoucherObservation());
cancellationFees.put("voucherObservation", voucherMap);
}
}
if (teldarHotels.getOfferCode() != null && !teldarHotels.getOfferCode().isEmpty()){
// order.setNumber(accorHotels.getOfferCode());
logger.info(" Offer codeteladr is : " + teldarHotels.getOfferCode());
order.setNumber(teldarHotels.getOfferCode());
order.setStatus(OrderStatus.PREORDER);
} else
try {
throw(new Exception() );
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
logger.debug("new one in processorPreOrder1 " + ObjectToXml.printXML(order));
return order;
if (teldarHotels.getOfferPrice() != null){
if (teldarHotels.getOfferPrice().isChanged()){
Money newMoney = new Money(teldarHotels.getOfferPrice().getTotalPrice().getValue(), Currency.getInstance(teldarHotels.getOfferPrice().getTotalPrice().getCurrency()));
order.getPricing().setPrice(PriceScope.TOTAL, newMoney);
logger.info("priceeeeeess " +teldarHotels.getOfferPrice().getTotalPrice().getCurrency());
if (teldarHotels.getOfferPrice().getPricePerRoom() != null){
// Room pricing
}
}
logger.info("Cancellation fees list content");
for (String key : cancellationFees.keySet()){
for (String value: cancellationFees.get(key).keySet()
) {
logger.info(key);
logger.info(value + " : " + cancellationFees.get(key).get(value));
logger.info("vaueeeeeeeeeeee "+ cancellationFees.get(key).get(value));
}
}
}
}
logger.debug("new one in processorPreOrder1 " + ObjectToXml.printXML(order));
return order;
}
}
}
......@@ -21,8 +21,7 @@ import com.gekko_holding.webservice.v2_4.BookHotelResponse;
import com.gekko_holding.webservice.v2_4.BookResponse;
import com.gekko_holding.webservice.v2_4.Segment;
public class ParseConfirmBookResponse extends TeldarParsers{
public class ParseConfirmBookResponse extends TeldarParsers {
protected static Logger logger = LoggerFactory.getLogger(ParseConfirmBookResponse.class);
......@@ -30,20 +29,14 @@ public class ParseConfirmBookResponse extends TeldarParsers{
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException, ParseException {
logger.info("Invoking TELDAR ParseConfirmBookResponse Processor.......");
logger.info("Invoking TELDAR ParseBookHotelResponsee Processor.......");
Order oldOrder = exchange.getProperty("order", Order.class);
String custoNumber = exchange.getProperty("custoNumber", String.class);
BookHotelResponse respbookhotel = exchange.getIn().getBody(BookHotelResponse.class);
Order order = printHotelInfo(respbookhotel.getBookResponse(), oldOrder, custoNumber);
logger.info("new one " + ObjectToXml.printXML(order));
logger.info("new oneeeesss " + ObjectToXml.printXML(order));
exchange.getIn().setBody(order);
logger.info("End TELDAR ParseConfirmBookResponse Processor.......");
/*
* } catch (Exception e) { logger.info(e.getMessage()); // TODO Auto-generated
* catch block e.printStackTrace(); }
*/
logger.info("End TELDAR ParseBookHotelResponse Processor.......");
}
private Order printHotelInfo(BookResponse bookHotels, Order order, String custoNumber) {
......@@ -59,8 +52,7 @@ public class ParseConfirmBookResponse extends TeldarParsers{
TermOfSale termsOfSalePayable = new TermOfSale();
termsOfSalePayable.setCode("PAYEDBY");
termsOfSalePayable.setDescription(
"Infinite Hotel , Teldar Hotels Group " + respSegment.getSupplierBookingNumber());
termsOfSalePayable.setDescription(" Teldar Hotels Group " + respSegment.getSupplierBookingNumber());
order.getPricing().getItems(StayItem2.class).get(0).getProduct().getTermsOfSales()
.add(termsOfSalePayable);
for (StayItem2 lineItem : order.getPricing().getItems(StayItem2.class)) {
......@@ -73,16 +65,14 @@ public class ParseConfirmBookResponse extends TeldarParsers{
if (respSegment.getSupplierBookingNumber() != null) {
order.setNumber(bookHotels.getBookingId() + "_" + respSegment.getSupplierBookingNumber() + "_"
+ custoNumber);
logger.info("seggggggg " + respSegment.getSupplierBookingNumber());
logger.info("seggggId " + bookHotels.getBookingId());
}
/*
* if(respSegment.getStatus() != null) {
* orderhotel.setStatus(respSegment.getStatus()); }
*/
}
}
logger.debug("new one in processor " + ObjectToXml.printXML(order));
return order;
}
......
......@@ -37,15 +37,20 @@ public class ParseHoteldetailsResponse extends TeldarParsers {
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException, ParseException {
// TODO Auto-generated method stub
logger.info("\n Invoking TELDAR ParseDetailHotel Processor....... "+exchange.getIn().getBody());
logger.info("\n Invoking TELDAR ParseDetailHotel Processor....... " + exchange.getIn().getBody());
GetHotelDetailsResponse resp = exchange.getIn().getMandatoryBody(GetHotelDetailsResponse.class);
logger.info("\n Invoking TELDAR ParseDetailHotel Processor....... " + resp.getHotel().size());
logger.info("\n Invoking TELDAR Pars=]DetailHotel Processor....... " + resp.getHotel().size());
Hotel result = printHotelInfo(resp);
logger.info("\n End TELDAR ParseDetailHotel Processor" + result.getPhoneNumber("Phone"));
exchange.getIn().setBody(new Hotel("codehotel", "ibis"), Hotel.class);
logger.info("\n End TELDAR ParseDetailHotel Processor"+ com.fractalite.hermes.teldar.tools.ObjectToXml.printXML(result));
exchange.getOut().setBody(result, Hotel.class);
}
/**
* @param respdetail
* @return
* @throws XPathExpressionException
*/
private Hotel printHotelInfo(GetHotelDetailsResponse respdetail) throws XPathExpressionException {
Hotel hermesHotel = new Hotel();
......@@ -55,19 +60,20 @@ public class ParseHoteldetailsResponse extends TeldarParsers {
for (HotelBean respBean : respdetail.getHotel()) {
if (respBean.getHotelRating() != null) {
HotelRating rating = null;
HotelRatingg rating;
if (respBean.getHotelRating().equals("UNKNOWN") || respBean.getHotelRating().equals("UNRATED")) {
rating = HotelRating.valueOf(respBean.getHotelRating());
} /*
* else { rating = HotelRating.valueOf("_" + respBean.getHotelRating()); }
*/
rating = HotelRatingg.valueOf(respBean.getHotelRating());
} else {
rating = HotelRatingg.valueOf("_" + respBean.getHotelRating());
}
if (rating != null) {
hermesHotel.setRating(new CodeNamePair(String.valueOf(rating.value()), rating.value() + "ST"));
}
}
if (respBean.getHotelCode() != null) {
hermesHotel.setCode("fffff");
hermesHotel.setCode(respBean.getHotelCode());
}
......@@ -106,24 +112,24 @@ public class ParseHoteldetailsResponse extends TeldarParsers {
}
// long ii = 12345678910L;
if (respBean.getPhone() != null) {
if (respBean.getPhone() != null) {
PhoneNumber phone;
logger.info("phhhhhhhhh" +respBean.getPhone());
logger.info("phhhhhhhhh" + respBean.getPhone());
try {
phone = PhoneNumberUtil.getInstance().parse(respBean.getPhone(), "FR");
hermesHotel.getPhoneNumbers().add( new PhoneNumberEntry("Phone", phone));
hermesHotel.getPhoneNumbers().add(new PhoneNumberEntry("Phone", phone));
} catch (NumberParseException e) {
// TODO Auto-generated catch block
logger.info("mesgggggg" +e.getMessage());
logger.info("mesgggggg" + e.getMessage());
}
}
else {
logger.info("no numbrrr" );
logger.info("no numbrrr");
}
if (respBean.getEmail() != null) {
hermesHotel.setEmail(respBean.getEmail());
......@@ -163,19 +169,18 @@ public class ParseHoteldetailsResponse extends TeldarParsers {
if (respFacility.getCode() != null && !respFacility.getCode().isEmpty()) {
facilities.add(respFacility.getValue());
String a = respFacility.getValue();
logger.info("facilecode"+a);
/*
* com.fractalite.hermes.accor.parsers.Facility hermesFacility =
* com.fractalite.hermes.accor.parsers.Facility
* .valueOf(respFacility.getCode().replace("-", "_"));
*/
// logger.info("facecode"+respFacility.getCode());
/*
* if (hermesFacility != null) { facilities.add(respFacility.getValue());
*
* }
*/
logger.info("facilecode" + a);
com.fractalite.hermes.teldar.parsers.Facility hermesFacility = com.fractalite.hermes.teldar.parsers.Facility
.valueOf(respFacility.getCode().replace("-", "_"));
logger.info("facecode" + respFacility.getCode());
if (hermesFacility != null) {
facilities.add(respFacility.getValue());
}
}
}
hermesHotel.setAmenities(facilities);
......@@ -194,39 +199,7 @@ public class ParseHoteldetailsResponse extends TeldarParsers {
hermesimages.add(img);
}
// hermesimages.add(ig)
/*
* List<String> lst= new ArrayList<String>();
* lst.add(respBean.getImages().getImage().toArray().toString());
*
*
* logger.info("imgesssss1"+lst.size());
* logger.info("imgesssss2"+lst.toString());
*
*
* for(int i=0;i<lst.size();i++) { Image ig= new Image();
*
* }
*/
// for (ImageUrl respImage : respBean.getImages().getImage().get(i).getValue())
// hermesimages.add(new Image(""+id + id++, respImage.getType(),
// respImage.getValue(), respImage.getValue(), Short.parseShort("" +
// 800),Short.parseShort("" + 600)));
/*
* for(int i=0;i<100;i++) hermesimagest.add(new Image(""+id + id++,
* respImage.getType(), respImage.getValue(), respImage.getValue(),
* Short.parseShort("" + 800),Short.parseShort("" + 600)));
*/
// logger.info("immmmmages"+hermesimages.size()+" "+id);
/*
* if (respImage.getType() != null && !respImage.getType().isEmpty()) { id++;
* hermesimages.add(new Image("" + id, respImage.getType(),
* respImage.getValue(), respImage.getValue(), Short.parseShort("" + 800),
* Short.parseShort("" + 600))); }
*/
logger.info("immmmmages"+hermesimages.size()+" "+id);
hermesHotel.setType(String.valueOf(respBean.getImages()));
......@@ -239,22 +212,7 @@ public class ParseHoteldetailsResponse extends TeldarParsers {
}
return hermesHotel;
}
public static void main(String[] args) {
String phone = "00 33 1 44 40 52 52";
PhoneNumber phonenumber =null;
try {
phonenumber = PhoneNumberUtil.getInstance().parse(phone, "FR");
} catch (NumberParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
phonenumber.setRawInput(phone);
PhoneNumberEntry pn = new PhoneNumberEntry("phone", phonenumber );
//h.set
System.out.println(phonenumber.getCountryCode()+" "+phonenumber.getNationalNumber());
}
}
\ No newline at end of file
}
......@@ -32,6 +32,7 @@ import com.fractalite.models.travel.stay.RoomProduct;
import com.fractalite.models.travel.stay.RoomType;
import com.fractalite.models.travel.stay.StaySearchResults;
import com.gekko_holding.webservice.v2_4.AvailabilityResponse;
import com.gekko_holding.webservice.v2_4.CancellationFeesPolicy;
import com.gekko_holding.webservice.v2_4.Facility;
import com.gekko_holding.webservice.v2_4.HotelAvailabilityResponse;
import com.gekko_holding.webservice.v2_4.HotelResponse;
......@@ -42,22 +43,20 @@ import com.gekko_holding.webservice.v2_4.RoomOffer;
public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
protected static Logger logger = LoggerFactory.getLogger(ParseTeldarHotelsPriceResponse.class);
private CamelContext camelContext;
@Override
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException {
logger.info("\n Invoking TELDAR ParseHotelsPriceResponse Processor....... " +exchange.getIn().getBody());
logger.info("\n Invoking TELDAR ParseHotelsPriceResponse Processor....... " + exchange.getIn().getBody());
HotelAvailabilityResponse resp = exchange.getIn().getBody(HotelAvailabilityResponse.class);
/* Converting to a list of hotels. */
camelContext = exchange.getContext();
List<Hotel> result = printHotelInfo(resp.getAvailResponse(),
exchange.getProperty("hermesquery", QuoteTemplate.class));
/* Preparing response. */
StaySearchResults staySearchResults = new StaySearchResults();
staySearchResults.setHotels(result);
......@@ -69,11 +68,10 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
* logger.info(" \n StayRes21 -> \n " +
* mapper.writeValueAsString(staySearchResults) + "\n");
*/
staySearchResults.setQuery(exchange.getProperty("hermesquery", QuoteTemplate.class));
exchange.getIn().setBody(staySearchResults, StaySearchResults.class);
}
}
private static String objectToJson(StaySearchResults staySearchResults) {
ObjectMapper objectMapper = new ObjectMapper();
......@@ -88,9 +86,9 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
private List<Hotel> printHotelInfo(AvailabilityResponse teldarHotel, QuoteTemplate quoteTemplate)
throws XPathExpressionException {
HashMap<String , String> cntry=new HashMap<String , String>();
HashMap<String, String> cntry = new HashMap<String, String>();
HashMap<String, String> giataMapping = new HashMap<String, String>();
List<String> hotelcodes = quoteTemplate.getTrip().getContent(HotelStay.class).get(0).getGiatacode()
.getGekko_infinite();
......@@ -100,26 +98,71 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
String giataCode = codes[1];
giataMapping.put(supplierCode, giataCode);
}
logger.info("giataccoddddd" +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","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SI","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TG","TH","TJ","TL","TM","TN","TO","TR","TT","TW","TZ","UA","UG","US","UY","UZ","VC","VE","VG","VI","VN","VU","WF","WS","XO","YE","ZA","ZM","ZW"));
List<String> lstName = new ArrayList<String>(Arrays.asList("Andorra","United Arab Emirates","Afghanistan","Antigua","Anguilla","Albania","Armenia","Angola","Argentina","AmericanS amoa","Austria","Australia","Aruba","Aserbaidshan","Bosnia","Barbados","Bangladesh","Belgium","BurkinaFaso","Bulgaria","Bahrain","Burundi","Benin","Saint-Barthélemy","Bermuda","Brunei Darussalam","Bolivia","Bonaire,Sint Eustatius","Brazil","Bahamas","Bhutan","Botswana","Belarus","Belize","Canada","Congo,Democratic Republic","Central African Republic","Congo","Switzerland","IvoryCoast","CookIslands","Chile","Cameroon","China","Colombia","CostaRica","Cuba","CapeVerde","Curaçao","Cyprus","CzechRepublic","Germany","Djibouti","Denmark","Dominica","Dominican Republic","Algeria","Ecuador","Estland","Egypt","WesternSahara","Eritrea","Spain","Ethiopia","Finland","Fiji","Islands","FederatedS tatesofMicronesia","FaeroeIslands","France","Gabon","UnitedKingdom","Grenada","Georgia","FrenchGuiana","Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","EquatorialGuinea","Greece","Guatemala","Guam","Guinea-Bissau","Guyana","HongKong","Honduras","Croatia","Haiti","Hungary","Indonesia","Eire/Ireland","Israel","India","Iraq","Iran","Iceland","Italy","Jamaica","Jordan","Japan","Kenya","Kyrgystan","Cambodia","Kiribati","Comoros","St.KittsandNevis","Korea,Republicof","Kuwait","CaymanIslands","Kazakstan","LaoPeople'sDemocraticRepublic","Lebanon","SaintLucia","Liechtenstein","SriLanka","Liberia","Lesotho","Lithuania","Luxembourg","Latvia","Libya","Morocco","Monaco","Moldova","Montenegro","Saint-Martin","Madagascar","Macedonia(FYROM)","Mali","Myanmar","Mongolia","Macau","NorthernMarianaIslands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives","Malawi","Mexico","Malaysia","Mozambique","Namibia","NewCaledonia","Niger","NorfolkIsland","Nigeria","Nicaragua","Netherlands","Norway","Nepal","Nauru","Niue","NewZealand","Oman","Panama","Peru","FrenchPolynesia","PapuaNewGuinea","Philippines","Pakistan","Poland","St.PierreandMiquelon","PuertoRico","Palestine","Portugal","Palau","Paraguay","Qatar","Reunion","Romania","Serbia","RussianFederation","Rwanda","SaudiArabia","SolomonIslands","Seychelles","Sudan","Sweden","Singapore","Slovenia","Slovakia","SierraLeone","SanMarino","Senegal","Somalia","Suriname","SouthSudan","SaoTomeandPrincipe","ElSalvador","SintMaarten","SyrianArabRepublic","Swaziland","TurksandCaicosIslands","Chad","Togo","Thailand","Tajikistan","EastTimor","Turkmenistan","Tunisia","Tonga","Turkey","TrinidadandTobago","Taiwan,ProvinceofChina","Tanzania","Ukraine","Uganda","USA","Uruguay","Uzbekistan","SaintVincentandtheGrenadines","Venezuela","VirginIslands,British","VirginIslands,U.S.","VietNam","Vanuatu","WallisandFutunaIslands","Samoa","OtherCountries","Yemen","SouthAfrica","Zambia","Zimbabwe"));
logger.info("giataccoddddd" + 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",
"BO", "BQ", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM",
"CN", "CO", "CR", "CU", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG",
"EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GH", "GI",
"GL", "GM", "GN", "GP", "GQ", "GR", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE",
"IL", "IN", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW",
"KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME",
"MF", "MG", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY",
"MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF",
"PG", "PH", "PK", "PL", "PM", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA",
"SB", "SC", "SD", "SE", "SG", "SI", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY",
"SZ", "TC", "TD", "TG", "TH", "TJ", "TL", "TM", "TN", "TO", "TR", "TT", "TW", "TZ", "UA", "UG", "US",
"UY", "UZ", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XO", "YE", "ZA", "ZM", "ZW"));
List<String> lstName = new ArrayList<String>(Arrays.asList("Andorra", "United Arab Emirates", "Afghanistan",
"Antigua", "Anguilla", "Albania", "Armenia", "Angola", "Argentina", "AmericanS amoa", "Austria",
"Australia", "Aruba", "Aserbaidshan", "Bosnia", "Barbados", "Bangladesh", "Belgium", "BurkinaFaso",
"Bulgaria", "Bahrain", "Burundi", "Benin", "Saint-Barthélemy", "Bermuda", "Brunei Darussalam",
"Bolivia", "Bonaire,Sint Eustatius", "Brazil", "Bahamas", "Bhutan", "Botswana", "Belarus", "Belize",
"Canada", "Congo,Democratic Republic", "Central African Republic", "Congo", "Switzerland", "IvoryCoast",
"CookIslands", "Chile", "Cameroon", "China", "Colombia", "CostaRica", "Cuba", "CapeVerde", "Curaçao",
"Cyprus", "CzechRepublic", "Germany", "Djibouti", "Denmark", "Dominica", "Dominican Republic",
"Algeria", "Ecuador", "Estland", "Egypt", "WesternSahara", "Eritrea", "Spain", "Ethiopia", "Finland",
"Fiji", "Islands", "FederatedS tatesofMicronesia", "FaeroeIslands", "France", "Gabon", "UnitedKingdom",
"Grenada", "Georgia", "FrenchGuiana", "Ghana", "Gibraltar", "Greenland", "Gambia", "Guinea",
"Guadeloupe", "EquatorialGuinea", "Greece", "Guatemala", "Guam", "Guinea-Bissau", "Guyana", "HongKong",
"Honduras", "Croatia", "Haiti", "Hungary", "Indonesia", "Eire/Ireland", "Israel", "India", "Iraq",
"Iran", "Iceland", "Italy", "Jamaica", "Jordan", "Japan", "Kenya", "Kyrgystan", "Cambodia", "Kiribati",
"Comoros", "St.KittsandNevis", "Korea,Republicof", "Kuwait", "CaymanIslands", "Kazakstan",
"LaoPeople'sDemocraticRepublic", "Lebanon", "SaintLucia", "Liechtenstein", "SriLanka", "Liberia",
"Lesotho", "Lithuania", "Luxembourg", "Latvia", "Libya", "Morocco", "Monaco", "Moldova", "Montenegro",
"Saint-Martin", "Madagascar", "Macedonia(FYROM)", "Mali", "Myanmar", "Mongolia", "Macau",
"NorthernMarianaIslands", "Martinique", "Mauritania", "Montserrat", "Malta", "Mauritius", "Maldives",
"Malawi", "Mexico", "Malaysia", "Mozambique", "Namibia", "NewCaledonia", "Niger", "NorfolkIsland",
"Nigeria", "Nicaragua", "Netherlands", "Norway", "Nepal", "Nauru", "Niue", "NewZealand", "Oman",
"Panama", "Peru", "FrenchPolynesia", "PapuaNewGuinea", "Philippines", "Pakistan", "Poland",
"St.PierreandMiquelon", "PuertoRico", "Palestine", "Portugal", "Palau", "Paraguay", "Qatar", "Reunion",
"Romania", "Serbia", "RussianFederation", "Rwanda", "SaudiArabia", "SolomonIslands", "Seychelles",
"Sudan", "Sweden", "Singapore", "Slovenia", "Slovakia", "SierraLeone", "SanMarino", "Senegal",
"Somalia", "Suriname", "SouthSudan", "SaoTomeandPrincipe", "ElSalvador", "SintMaarten",
"SyrianArabRepublic", "Swaziland", "TurksandCaicosIslands", "Chad", "Togo", "Thailand", "Tajikistan",
"EastTimor", "Turkmenistan", "Tunisia", "Tonga", "Turkey", "TrinidadandTobago",
"Taiwan,ProvinceofChina", "Tanzania", "Ukraine", "Uganda", "USA", "Uruguay", "Uzbekistan",
"SaintVincentandtheGrenadines", "Venezuela", "VirginIslands,British", "VirginIslands,U.S.", "VietNam",
"Vanuatu", "WallisandFutunaIslands", "Samoa", "OtherCountries", "Yemen", "SouthAfrica", "Zambia",
"Zimbabwe"));
for (int i = 0; i < 228; i++) {
cntry.put(lstCode.get(i), lstName.get(i));
for(int i=0;i<228;i++) {
cntry.put(lstCode.get(i),lstName.get(i));
}
}
List<Hotel> hermesHotels = new ArrayList<Hotel>();
if (teldarHotel != null && teldarHotel.getHotelResponse() != null && !teldarHotel.getHotelResponse().isEmpty()) {
if (teldarHotel != null && teldarHotel.getHotelResponse() != null
&& !teldarHotel.getHotelResponse().isEmpty()) {
logger.info("teldarhotelsizeee" + teldarHotel + "̣ size " + teldarHotel.getHotelResponse().size());
for (HotelResponse respHotel : teldarHotel.getHotelResponse()) {
Hotel hermesHotel = new Hotel();
if (respHotel.getCode() != null) {
hermesHotel.setCode(respHotel.getCode());
hermesHotel.setGiataCode(giataMapping.get(respHotel.getCode()));
}
// Hotel Chain
......@@ -129,22 +172,21 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
if (respHotel.getName() != null) {
hermesHotel.setName(respHotel.getName());
}
hermesHotel.setRecommended(true);
String cd = respHotel.getCity().getCode().substring(0, 2);
String nm = cntry.get(cd);
com.fractalite.models.common.Address hermesAddress = new Address(respHotel.getAddress(),
respHotel.getZipcode(),
new Location(respHotel.getCity().getCode().substring(2, 5),
respHotel.getCity().getCode().substring(2, 5)),
new Location(respHotel.getCity().getCode().substring(0, 5), nm));
hermesHotel.setAddress(hermesAddress);
hermesHotel.setRecommended(true);
String cd = respHotel.getCity().getCode().substring(0, 2);
String nm = cntry.get(cd);
com.fractalite.models.common.Address hermesAddress = new Address(respHotel.getAddress(),
respHotel.getZipcode(),
new Location(respHotel.getCity().getCode().substring(2, 5),
respHotel.getCity().getCode().substring(2, 5)),
new Location(respHotel.getCity().getCode().substring(0, 5), nm));
hermesHotel.setAddress(hermesAddress);
// lattitude
if (respHotel.getLatitude() != null) {
hermesHotel.setLatitude(respHotel.getLatitude().floatValue());
......@@ -153,14 +195,15 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
if (respHotel.getLongitude() != null) {
hermesHotel.setLongitude(respHotel.getLongitude().floatValue());
}
// Hotel Rating
if (respHotel.getRating() != null) {
HotelRating rating;
HotelRatingg rating;
if (respHotel.getRating().getCode().equals("UNKNOWN")
|| respHotel.getRating().getCode().equals("UNRATED")) {
rating = HotelRating.valueOf(respHotel.getRating().getCode());
rating = HotelRatingg.valueOf(respHotel.getRating().getCode());
} else {
rating = HotelRating.valueOf("_" + respHotel.getRating().getCode());
rating = HotelRatingg.valueOf("_" + respHotel.getRating().getCode());
}
if (rating != null) {
hermesHotel.setRating(new CodeNamePair(String.valueOf(rating.value()), rating.value() + "ST"));
......@@ -177,7 +220,7 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
List<String> offres = new ArrayList<String>();
List<RoomProduct> products = new ArrayList<RoomProduct>();
}
/* Setting facilities. e.g: Accès Internet, etc. */
if (respHotel.getFacilities() != null && respHotel.getFacilities().getFacilities() != null
......@@ -188,7 +231,8 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
List<String> facilities = new ArrayList<String>();
for (Facility respFacility : respHotel.getFacilities().getFacilities()) {
if (respFacility.getCode() != null && !respFacility.getCode().isEmpty()) {
com.fractalite.hermes.teldar.parsers.Facility hermesFacility = com.fractalite.hermes.teldar.parsers.Facility.valueOf(respFacility.getCode().replace("-", "_"));
com.fractalite.hermes.teldar.parsers.Facility hermesFacility = com.fractalite.hermes.teldar.parsers.Facility
.valueOf(respFacility.getCode().replace("-", "_"));
if (hermesFacility != null) {
facilities.add(hermesFacility.getValue());
}
......@@ -197,6 +241,43 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
hermesHotel.setAmenities(facilities);
}
if (respHotel.getOffers().getOffer().get(0).getCancellationFeesPolicy() != null
&& !respHotel.getOffers().getOffer().get(0).getCancellationFeesPolicy().isEmpty()) {
HashMap<String, HashMap<String, String>> cancellationFees = new HashMap<String, HashMap<String, String>>();
for (CancellationFeesPolicy respHotelBook : respHotel.getOffers().getOffer().get(0)
.getCancellationFeesPolicy()) {
if (respHotelBook.getFromDate() != null) {
cancellationFees.put(respHotelBook.getFromDate(), new HashMap<String, String>());
}
if (respHotelBook.getToDate() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("ToDate", respHotelBook.getToDate());
}
if (respHotelBook.getCurrency() != null) {
cancellationFees.get(respHotelBook.getCurrency());
}
if (respHotelBook.getPrice() != null) {
cancellationFees.get(respHotelBook.getFromDate()).put("Price", respHotelBook.getPrice());
}
else {
cancellationFees.put("allDates", new HashMap<String, String>());
if (respHotelBook.getCurrency() != null) {
cancellationFees.get("allDates").put("Currency", respHotelBook.getCurrency());
}
if (respHotelBook.getPrice() != null) {
cancellationFees.get("allDates").put("Price", respHotelBook.getPrice());
}
}
}
}
// offers
List<RoomType> hermesRoomTypes = new ArrayList<RoomType>();
List<RoomProduct> hermesRoomProducts = new ArrayList<RoomProduct>();
......@@ -249,7 +330,7 @@ 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);
// roomproduct.setPrice(PriceScope.TOTAL, totalPrice);
hermesRoomProducts.add(roomproduct);
break;
......@@ -264,7 +345,7 @@ public class ParseTeldarHotelsPriceResponse extends TeldarParsers {
}
hermesHotel.addMeta("source", ContentProvider.PROVIDER_ID);
hermesHotels.add(hermesHotel);
logger.info("hermessssize" +hermesHotels.size());
logger.info("hermessssize" + hermesHotels.size());
}
}
......
......@@ -113,14 +113,15 @@ public class ParserQuotesresponse extends TeldarParsers {
if (respHotel.getLongitude() != null) {
hermesHotel.setLongitude(respHotel.getLongitude().floatValue());
}
// Hotel Rating
if (respHotel.getRating() != null) {
HotelRating rating;
HotelRatingg rating;
if (respHotel.getRating().getCode().equals("UNKNOWN")
|| respHotel.getRating().getCode().equals("UNRATED")) {
rating = HotelRating.valueOf(respHotel.getRating().getCode());
rating = HotelRatingg.valueOf(respHotel.getRating().getCode());
} else {
rating = HotelRating.valueOf("_" + respHotel.getRating().getCode());
rating = HotelRatingg.valueOf("_" + respHotel.getRating().getCode());
}
if (rating != null) {
hermesHotel.setRating(new CodeNamePair(String.valueOf(rating.value()), rating.value() + "ST"));
......@@ -264,7 +265,9 @@ public class ParserQuotesresponse extends TeldarParsers {
quote.addMeta("source", ContentProvider.PROVIDER_ID);
List<TermOfSale> termsOfSales = new ArrayList<TermOfSale>();
int ii = 0;
// int ii = 0;
logger.info("cancellationnnn " +offer.getCancellationFeesPolicy().size());
if (offer.getCancellationFeesPolicy() != null
&& offer.getCancellationFeesPolicy().size() > 0)
for (CancellationFeesPolicy cancellation : offer.getCancellationFeesPolicy()) {
......@@ -279,20 +282,12 @@ public class ParserQuotesresponse extends TeldarParsers {
logger.info("hh2hhhhh" +date3.toString());
java.util.Date d = new SimpleDateFormat("yyyy-MM-dd").parse(checkin.toString());
// logger.info("psss" +d.toString());
Long difference = d.getTime() - date3.getTime();
// logger.info("p2sss" +difference);
logger.info("differenceeee" +difference);
// float daysBetween = (difference / (1000*60*60*24));
float daysBetween1 = (difference / (86400000));
int q = (int) daysBetween1;
// logger.info("p1sss" +daysBetween);
// Days q=Days.daysBetween((ReadablePartial) date2,(ReadablePartial) date1);
// logger.info("hh2hhhhh" +q.toString());
// if(cancellation.getPrice()!= null && cancellation.getPrice().isEmpty()) {
term.addCharge(q, new Money(Double.parseDouble(cancellation.getPrice()),
currency.getInstance(cancellation.getCurrency())));
......
package com.fractalite.hermes.teldar.parsers;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Currency;
import java.util.Date;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPathExpressionException;
import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
import org.joda.time.LocalDate;
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.QuoteTemplate;
import com.fractalite.models.commerce.RequestForQuote;
import com.fractalite.models.commerce.TermOfSale;
import com.fractalite.models.common.Money;
import com.fractalite.models.travel.stay.HotelStay;
import com.gekko_holding.webservice.v2_4.AvailabilityResponse;
import com.gekko_holding.webservice.v2_4.CancellationFeesPolicy;
import com.gekko_holding.webservice.v2_4.HotelAvailabilityResponse;
import com.gekko_holding.webservice.v2_4.HotelResponse;
import com.gekko_holding.webservice.v2_4.Offer;
public class QuoteTeldarCancellationResponse extends TeldarParsers {
protected static Logger logger = LoggerFactory.getLogger(QuoteTeldarCancellationResponse.class);
@Override
public void process(Exchange exchange) throws InvalidPayloadException, ParserConfigurationException, SAXException,
IOException, XPathExpressionException {
logger.trace("Invoking TELDAR QuoteTeldarCancellationResponse Processor.......");
RequestForQuote requestForQuote = new RequestForQuote();
HotelAvailabilityResponse resp = exchange.getIn().getMandatoryBody(HotelAvailabilityResponse.class);
requestForQuote = getHotelQuotes(resp.getAvailResponse(), exchange);
exchange.getIn().setBody(requestForQuote, RequestForQuote.class);
exchange.getIn().setHeader("HermesPartnerId", "teldar");
logger.info("End TELDAR QuoteTeldarCancellationResponse Processor......." + ObjectToXml.printXML(requestForQuote));
}
private RequestForQuote getHotelQuotes(AvailabilityResponse teldarHotel, Exchange exchange)
throws XPathExpressionException {
QuoteTemplate quoteTemplate = exchange.getProperty("QuoteTemplate", QuoteTemplate.class);
LocalDate gg = quoteTemplate.getTrip().getContent(HotelStay.class).get(0).getCheckin();
RequestForQuote requestForQuote = new RequestForQuote();
for (HotelResponse respHotel : teldarHotel.getHotelResponse()) {
Currency currency = Currency.getInstance("EUR");
for (Offer offer : respHotel.getOffers().getOffer()) {
List<TermOfSale> termsOfSales = new ArrayList<TermOfSale>();
if (offer.getCancellationFeesPolicy() != null && offer.getCancellationFeesPolicy().size() > 0)
for (CancellationFeesPolicy cancellation : offer.getCancellationFeesPolicy()) {
TermOfSale term = new TermOfSale("condition",
"From " + cancellation.getFromDate() + " to " + cancellation.getToDate() + " price "
+ cancellation.getPrice() + cancellation.getCurrency());
try {
Date date3 = new SimpleDateFormat("dd/MM/yyyy").parse(cancellation.getFromDate());
// logger.info("hh2hhhhh" +date3.toString());
java.util.Date d = new SimpleDateFormat("yyyy-MM-dd").parse(gg.toString());
// logger.info("psss" +d.toString());
Long difference = d.getTime() - date3.getTime();
float daysBetween1 = (difference / (86400000));
int q = (int) daysBetween1;
term.addCharge(q, new Money(Double.parseDouble(cancellation.getPrice()),
currency.getInstance(cancellation.getCurrency())));
}
catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// term.getCharges().
termsOfSales.add(term);
}
}
}
return requestForQuote;
}
}
\ No newline at end of file
......@@ -26,8 +26,7 @@ import com.gekko_holding.webservice.v2_4.Pax;
import com.gekko_holding.webservice.v2_4.RequestedBookings;
import com.gekko_holding.webservice.v2_4.StaticticField;
public class ConfirmBookTeldarRequest extends TeldarServices{
public class ConfirmBookTeldarRequest extends TeldarServices {
protected static Logger logger = LoggerFactory.getLogger(ConfirmBookTeldarRequest.class);
......@@ -39,8 +38,8 @@ public class ConfirmBookTeldarRequest extends TeldarServices{
Order order = exchange.getIn().getMandatoryBody(Order.class);
exchange.setProperty("order", order);
logger.info("Order is " + ObjectToXml.printXML(order));
String custoNumber = "Av"+(System.currentTimeMillis() / 1000l);
exchange.setProperty("custoNumber", custoNumber);
String custoNumber = "Av" + (System.currentTimeMillis() / 1000l);
exchange.setProperty("custoNumber", custoNumber);
BookHotel book = addBookhotel(order, custoNumber);
logger.info("End TELDAR ConfirmBookTeldarRequest Processor....... \n" + ObjectToXml.printXML(book));
exchange.getIn().setBody(book, BookHotel.class);
......@@ -50,11 +49,10 @@ public class ConfirmBookTeldarRequest extends TeldarServices{
BookHotel bookhotel = new BookHotel();
CustomerIdentification customeridentification = new CustomerIdentification();
customeridentification.setClientId(TeldarRouteBuilder.clientId);
customeridentification.setPassword(TeldarRouteBuilder.password);
HotelStay hotelstay = ((HotelStay) order.getTrip().getContent().get(0));
bookhotel.setLanguage("EN");
......@@ -63,57 +61,46 @@ public class ConfirmBookTeldarRequest extends TeldarServices{
RequestedBookings requestbooking = new RequestedBookings();
requestbooking.setInsurance(true);
RequestedBookings.StatisticalFields satisticalfields = new RequestedBookings.StatisticalFields();
StaticticField staticticField = new StaticticField();
staticticField.setType("REM_EXTERNAL_REF");
staticticField.setValue(custonumber);
logger.info("avvvv" +custonumber);
logger.info("avvvv" + custonumber);
satisticalfields.getStatisticalField().add(staticticField);
requestbooking.setStatisticalFields(satisticalfields);
HotelBooking hotelbooking = new HotelBooking();
// hotelbooking.setHotelCode("FR004294");
hotelbooking.setHotelCode(hotelstay.getHotel().getCode());
hotelbooking.setCheckIn(hotelstay.getCheckin().toString());
// hotelbooking.setCheckIn(hotelstay.getCheckin().toString());
hotelbooking.setCheckOut(hotelstay.getCheckout().toString());
// hotelbooking.setCheckOut(hotelstay.getCheckin().toString());
BookedOffer bookedoffer = new BookedOffer();
// bookedoffer.setCode("5cdbf3f2cc71932ceacce265");
bookedoffer.setCode(order.getNumber());
// bookedoffer.setCode(order.getPricing().getItems(StayItem2.class).get(0).getProduct().getCode());
BookedOffer.BookedRooms bookedRooms = new BookedOffer.BookedRooms();
int roomId=0;
for(StayItem2 item: order.getPricing().getItems(StayItem2.class)) //Item
{
for(Room room: item.getRooms())
{
BookedRoom bookedroom2 = new BookedRoom();
bookedroom2.setRoomIndex(roomId++);
for( Traveller tr :room.getGuests())
{
Pax pax2 = new Pax();
pax2.setTitle("Mr");
if(tr.getClassification() == PaxType.CHILD)
{
pax2.setIsChild(true);
pax2.setChildAge(""+tr.getAge());
}
pax2.setFirstName(tr.getName().getFirst());
pax2.setLastName(tr.getName().getLast());
bookedroom2.getRegisteredUserOrPax().add(pax2);
}
bookedRooms.getBookedRoom().add(bookedroom2);
BookedOffer.BookedRooms bookedRooms = new BookedOffer.BookedRooms();
int roomId = 0;
for (StayItem2 item : order.getPricing().getItems(StayItem2.class)) // Item
{
for (Room room : item.getRooms()) {
BookedRoom bookedroom2 = new BookedRoom();
bookedroom2.setRoomIndex(roomId++);
for (Traveller tr : room.getGuests()) {
Pax pax2 = new Pax();
pax2.setTitle("Mr");
if (tr.getClassification() == PaxType.CHILD) {
pax2.setIsChild(true);
pax2.setChildAge("" + tr.getAge());
}
pax2.setFirstName(tr.getName().getFirst());
pax2.setLastName(tr.getName().getLast());
bookedroom2.getRegisteredUserOrPax().add(pax2);
}
bookedRooms.getBookedRoom().add(bookedroom2);
}
}
bookedoffer.setBookedRooms(bookedRooms);
......@@ -129,4 +116,3 @@ public class ConfirmBookTeldarRequest extends TeldarServices{
}
}
......@@ -24,8 +24,8 @@ public class GetHotelDetailsRequest extends TeldarServices {
public void process(Exchange exchange)
throws InvalidPayloadException, DatatypeConfigurationException, ParseException {
logger.info("Invoking TELDAR GetHotelDetailsRequest Processor.......");
// HotelStay hotelstay = exchange.getIn().getMandatoryBody(HotelStay.class);
logger.info("Invoking TELDAR GetHotelDetailsRequest Processor" +exchange.getIn().getBody());
String hotelCode = exchange.getIn().getMandatoryBody(String.class);
GetHotelDetails hoteldetailReq = getDetail(hotelCode);
......@@ -49,8 +49,7 @@ public class GetHotelDetailsRequest extends TeldarServices {
HotelCodes hotelsCode = new HotelCodes();
hotelsCode.getHotelCode().add(hotelcode);
gethoteldetails.setHotelCodes(hotelsCode);
// hotelcode.setCode("FR000070");
return gethoteldetails;
......
......@@ -92,61 +92,18 @@ public HotelAvailability getList(HotelStay hotelstay) throws ParseException, Dat
avaCriteria.setCheckIn(hotelstay.getCheckin().toString());
avaCriteria.setCheckOut(hotelstay.getCheckout().toString());
// avaCriteria.setCheckIn("2019-11-07");
//avaCriteria.setCheckOut("2019-11-09");
Facility facility=new Facility();
facility.getCode();
facility.getValue();
/* GeoCodeDestination geocodedestination=new GeoCodeDestination();
geocodedestination.setLatitude(0);
geocodedestination.setLatitude(0);
geocodedestination.setRange(null);
destinationcriteria.setGeoCode(geocodedestination);
PoiDestination poidestination=new PoiDestination();
poidestination.setCode("");
poidestination.setRange(null);
destinationcriteria.setPoi(poidestination);
*/
/*
RoomOffer roomoffers=new RoomOffer();
Iterator<Room> iterator = hotelstay.getRooms().iterator();
while (iterator.hasNext()) {
RoomOffer roomoffer=new RoomOffer();
Room chambre = new Room();
int nbreOfAdult=0;
int nbreOfInfant=0;
List<Integer> age = new ArrayList<Integer>();
chambre = iterator.next();
for(Traveller traveller : chambre.getGuests())
if(traveller.getClassification()==PaxType.ADULT)
nbreOfAdult++;
else if(traveller.getClassification()==PaxType.CHILD) {
age.add(traveller.getAge().intValue());
}
else
nbreOfInfant++;
roomoffer.setRoomIndex(1);
roomoffer.setAdultsCount(nbreOfInfant);
roomoffer.setAdultsCount(nbreOfAdult);
roomoffers.getRoomType();
}*/
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();
......@@ -176,46 +133,12 @@ public HotelAvailability getList(HotelStay hotelstay) throws ParseException, Dat
avaCriteria.setRoomCriterias(crit);
/*
* avaCriteria.setRoomCriterias(crit);
* Log.info("tsssscot "+avaCriteria.getRoomCriterias().getRoomPlan().size());
*/
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");
* hotelavailability.setAvailCriteria(avaCriteria);
*/
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 );*/
......
package com.fractalite.hermes.teldar.services;
import java.text.ParseException;
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.hermes.teldar.tools.ObjectToXml;
import com.fractalite.models.commerce.Order;
import com.fractalite.models.commerce.TermOfSale;
import com.fractalite.models.travel.stay.StayItem2;
import com.gekko_holding.webservice.v2_4.CustomerIdentification;
public class QuoteTeldarRequestCancellation extends TeldarServices {
protected static Logger logger = LoggerFactory.getLogger(QuoteTeldarRequestCancellation.class);
@Override
public void process(Exchange exchange)
throws InvalidPayloadException, DatatypeConfigurationException, ParseException {
logger.info("Invoking TELDAR QuoteRequestCancellation Processor.......");
Order order = exchange.getIn().getMandatoryBody(Order.class);
exchange.setProperty("hermesquery", order);
int exchangeCount = 0;
for (StayItem2 lineItem : order.getPricing().getItems(StayItem2.class)) {
Order orderLineItem = new Order(order.getCurrency());
orderLineItem.getPricing().addItem(lineItem);
orderLineItem.setTrip(order.getTrip());
orderLineItem.getTrip().getTravellers().removeAll(orderLineItem.getTrip().getTravellers());
orderLineItem.getTrip().getTravellers().addAll(lineItem.getRooms().get(0).getGuests());
String description = exchange.getContext().getProperties().get(Integer.toString(++exchangeCount));
TermOfSale termOfSale = new TermOfSale();
termOfSale.setDescription(description);
lineItem.getProduct().getTermsOfSales().add(termOfSale);
}
exchange.getIn().setBody(order);
logger.debug(ObjectToXml.printXML(order));
CustomerIdentification customeridentification = new CustomerIdentification();
customeridentification.setClientId(TeldarRouteBuilder.clientId);
customeridentification.setPassword(TeldarRouteBuilder.password);
}
}
\ No newline at end of file
......@@ -6,6 +6,7 @@ import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
......@@ -44,6 +45,7 @@ import javax.xml.bind.annotation.XmlType;
@XmlType(name = "bookResponse", propOrder = {
"segments"
})
@XmlRootElement
public class BookResponse {
protected BookResponse.Segments segments;
......
......@@ -5,6 +5,7 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
......@@ -39,6 +40,7 @@ import javax.xml.bind.annotation.XmlType;
"price",
"currency"
})
@XmlRootElement(name="CancellationFeesPolicy")
public class CancellationFeesPolicy {
protected String fromDate;
......
......@@ -37,7 +37,7 @@ import javax.xml.bind.annotation.XmlType;
"cityCodeStandard",
"hotelCodes"
})
@XmlRootElement
@XmlRootElement(name="getHotelDetails")
public class GetHotelDetails {
protected String language;
......
......@@ -32,7 +32,7 @@ import org.codehaus.jackson.map.ObjectMapper;
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "getHotelDetailsResponse", propOrder = {
"hotel"
"hotel"
})
@XmlRootElement(name="GetHotelDetailsResponse")
public class GetHotelDetailsResponse {
......
Manifest-Version: 1.0
Bnd-LastModified: 1593510980932
Bnd-LastModified: 1594295093760
Build-Jdk: 1.8.0_252
Built-By: dev
Bundle-ManifestVersion: 2
......
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