private void setHeaderDetails(HttpServletRequest request) throws Exception
{
UserInfo userInfo = new UserInfo();
String agentName = request.getHeader("sabrename");
String sabreAuthorisedUser = request.getHeader("sabreauthuser");
logger.info("#### AgentName :"+agentName);
if (agentName == null || SCDOUtil.isEmpty(sabreAuthorisedUser))
{
logger.info("Loading Dummy User Info");
loadDefaultUserInfo(userInfo);
}
else
{
String pcc = request.getHeader("sabrepcc");
String agentId = UserCredentialsHelper.extractAgentId(sabreAuthorisedUser);
logger.info("SABRE PCC FROM HEADER " + pcc);
String dutyCode = request.getHeader("sabredutycodes");
String sineID = request.getHeader("sabreauthagentsign");
if (sineID == null || sineID.equals(""))
{
sineID = UserCredentialsHelper.createSineId(agentName);
}
boolean flag = UserCredentialsHelper.checkDutyCode(dutyCode);
if (!flag) flag = UserCredentialsHelper.checkIfCruiseLineUser(pcc);
String dtyCode = UserCredentialsHelper.getDutyCode(dutyCode);
boolean isAuthorized = UserCredentialsHelper.isAuthorizedUser(flag, pcc, dutyCode);
logger.info("IS Authorized " + isAuthorized);
if (!isAuthorized)
{
request.setAttribute("NotAuthorized", "Y");
if (pcc != null && pcc.length() > 3) request.setAttribute("NotAuthorized", "N");
}
String sabreCountry = request.getHeader("sabrecountry");
userInfo.setSineId(sineID);
userInfo.setSiteMinderAgentName(UserCredentialsHelper.getTruncatedName(agentName));
userInfo.setPcc(UserCredentialsHelper.getPcc(pcc, flag));
userInfo.setFlag(flag);
userInfo.setDutyCode(dtyCode);
userInfo.setAgentId(agentId);
userInfo.setCountryCode(sabreCountry);
logger.info("SABRE NAME FROM HEADER " + agentName);
logger.info("SABRE DUTYCODE FROM HEADER " + dutyCode);
logger.info("NAME UCA " + userInfo.getSineId());
logger.info("PCC UCA " + userInfo.getPcc());
logger.info("DTYC UCA " + userInfo.getDutyCode());
logger.info("AGY NAME UCA " + userInfo.getSiteMinderAgentName());
}
UserPreferenceBean userPreferenceBean = null;
try
{
userPreferenceBean = AgentPreferenceDataHelper.getUserPreferenceBeanFromDB(userInfo.getAgentId(), userInfo.getPcc());
}
catch (Exception e)
{
logger.warn("Exception in userPrefernceBean obtained " + "from AgentPreferenceDataHelper.getUserPreferenceBeanFromDB() for agentID =" + userInfo.getAgentId() + " and pcc = " + userInfo.getPcc());
logger.warn(e.getMessage());
userPreferenceBean = new UserPreferenceBean();
}
catch (Throwable t)
{
logger.warn("Exception Throwable in userPrefernceBean obtained " + "from AgentPreferenceDataHelper.getUserPreferenceBeanFromDB() for agentID =" + userInfo.getAgentId() + " and pcc = " + userInfo.getPcc());
logger.warn(t.getMessage());
userPreferenceBean = new UserPreferenceBean();
}
if (userPreferenceBean == null)
{
userPreferenceBean = new UserPreferenceBean();
userPreferenceBean.setSailRegionSingle("");
userPreferenceBean.setSailingPerPage("10");
userPreferenceBean.setNationality("");
userPreferenceBean.setCitizenShip("");
userPreferenceBean.setResidence("");
userPreferenceBean.setPassengerCity("");
userPreferenceBean.setPhoneNumber("");
userPreferenceBean.setLogoFilePath("");
userPreferenceBean.setAgentName(agentName);
userPreferenceBean.setPriceSortPref("");
}
String agentNameDB = userPreferenceBean.getAgentName();
if (SCDOUtil.isEmpty(agentNameDB))
{
userPreferenceBean.setAgentName(userInfo.getSiteMinderAgentName());
}
SessionManager.removeAttribute(request.getSession(false), SessionEnum.CRUISEBOOKINGBEAN);
removeSessionData(request.getSession(false));
SessionManager.set(request.getSession(false), SessionEnum.USERCREDENTIALS, userInfo);
//For deep linking user
GroupRestrictionHelper.checkForRestriction(request, userInfo.getPcc());
SessionManager.set(request.getSession(false), SessionEnum.CRUISEBOOKINGBEAN, new CruiseBookingBean());
SessionManager.set(request.getSession(false), SessionEnum.USERPREFERENCE, userPreferenceBean);
}
private void loadDefaultUserInfo(UserInfo userInfo)
{
userInfo.setSineId("HP6");
userInfo.setPcc("KK11");
userInfo.setFlag(true);
userInfo.setDutyCode("*");
userInfo.setSiteMinderAgentName("TEST");
userInfo.setAgentId("062524");
userInfo.setCountryCode("US");
return;
}
private static void modifySCDOApplicationParams(HttpServletRequest request)
{
String userCountry = null;
if (SessionManager.get(request.getSession(false), SessionEnum.USERCREDENTIALS) != null)
{
userCountry = ((UserInfo) SessionManager.get(request.getSession(false), SessionEnum.USERCREDENTIALS)).getCountryCode();
}
String region = CacheAccess.getCountryRegionCode(userCountry);
if (SCDOUtil.isNotEmpty(region) && SCDOHelper.isEuropeLADUser(region))
{
SessionManager.set(request.getSession(false), SessionEnum.EMEALADUSER, "Y");
}
else
{
SessionManager.set(request.getSession(false), SessionEnum.EMEALADUSER, "N");
}
}
public ActionForward postProcess(ActionMapping mapping, Advisory advMessges[], ActionForm form, HttpServletRequest request, HttpServletResponse response)
{
logger.info("into releasecabinandbookingaction");
forwardTo = "";
LiveConnectExistingbkg aLiveConnectExistingbkg = (LiveConnectExistingbkg) SessionManager.get(request.getSession(false), SessionEnum.LIVECONNECTEXISTINGBKG);
String NotAuthorized = (String) request.getAttribute("NotAuthorized");
if (NotAuthorized != null)
{
logger.info("UserCredentialsAction :: forwarding to :: /NotAuthorized.do?command="+NotAuthorized);
if (NotAuthorized.equalsIgnoreCase("Y")) return new ActionForward(("/NotAuthorized.do?command=Y"));
else return new ActionForward(("/NotAuthorized.do?command=N"));
}
// FIXME-Ratnesh change it to read the actual rule than hard-coded one.
DeepLinkRequestData deepLinkRequestData = (DeepLinkRequestData) SessionManager.get(request.getSession(false), SessionEnum.DEEPLINKREQDATA);
LiveConnectNewBooking liveConnectNewBooking = (LiveConnectNewBooking) SessionManager.get(request.getSession(false), SessionEnum.LIVECONNECTNEWBOOKING);
if (aLiveConnectExistingbkg != null && SCDOUtil.isNotEmpty(aLiveConnectExistingbkg.getConfirmationNo())){
forwardTo = LiveConnectViewHelper.getForwardLive(aLiveConnectExistingbkg);
logger.info("UserCredentialsAction :: forwarding to :: "+forwardTo);
return (mapping.findForward(forwardTo));
}else if (deepLinkRequestData != null && deepLinkRequestData.getTargetPage() != null){
forwardTo = DeepLinkHelper.getForwardAction(deepLinkRequestData);
logger.info("UserCredentialsAction :: forwarding to :: "+forwardTo);
return (mapping.findForward(forwardTo));
}else if(liveConnectNewBooking!=null && liveConnectNewBooking.getEnableNewCBPlusPath()){
//This if condition is added for CBPlus
forwardTo = DeepLinkHelper.getForwardAction(liveConnectNewBooking);
logger.info("UserCredentialsAction :: forwarding to :: "+forwardTo);
return (mapping.findForward(forwardTo));
}else{
logger.info("UserCredentialsAction :: forwarding to :: /SailAvailSearch.do");
return new ActionForward(("/SailAvailSearch.do"));
}
}
can you please hepl me write junit for the below code
#########################################################################################