/******************************************************************************* * Copyright 2014 Federal Chancellery Austria * MOA-ID has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. *******************************************************************************/ package at.gv.egovernment.moa.id.configuration.data; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import at.gv.egovernment.moa.id.auth.frontend.utils.FormBuildUtils; import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.BKUSelectionCustomizationType; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TemplatesType; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoType; import at.gv.egovernment.moa.id.commons.validation.ValidationHelper; import at.gv.egovernment.moa.id.configuration.Constants; import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser; import at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData; import at.gv.egovernment.moa.id.configuration.data.oa.OAGeneralConfig; import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper; import at.gv.egovernment.moa.id.configuration.validation.FormularCustomizationValitator; import at.gv.egovernment.moa.id.configuration.validation.oa.OAFileUploadValidation; import at.gv.egovernment.moa.util.MiscUtil; import lombok.extern.slf4j.Slf4j; @Slf4j public class FormularCustomization implements IOnlineApplicationData { private boolean showMandateLoginButton = true; private boolean onlyMandateAllowed = false; private String fontType = null; private String frontColor = null; private String backGroundColor = null; private String header_FrontColor = null; private String header_BackGroundColor = null; private String header_text = null; private String button_BackGroundColor = null; private String button_BackGroundColorFocus = null; private String button_FrontColor = null; private String applet_height = null; private String applet_width = null; private Map map = null; private String appletRedirectTarget = null; public static List appletRedirectTargetList = null; public static List fontTypeList = null; public String fontTypeListValue = null; private Map sendAssertionForm = new HashMap<>(); private Map bkuSelectionForm = new HashMap<>(); private List bkuSelectionFileUpload = null; private List bkuSelectionFileUploadContentType = null; private List bkuSelectionFileUploadFileName = new ArrayList<>(); private boolean deleteBKUTemplate = false; private List sendAssertionFileUpload = null; private List sendAssertionFileUploadContentType = null; private List sendAssertionFileUploadFileName = new ArrayList<>(); private boolean deleteSendAssertionTemplate = false; private String aditionalAuthBlockText = null; private boolean isHideBPKAuthBlock = false; private String saml2PostBindingTemplate = null; private String mandateServiceSelectionTemplate = null; public FormularCustomization() { new FormularCustomization(null); } public FormularCustomization(Map map) { appletRedirectTargetList = Arrays.asList("", "_blank", "_self", "_parent", "_top"); fontTypeList = Arrays.asList("", "Verdana", "Geneva", "Arial", "Helvetica", "sans-serif", "Times New Roman"); Collections.sort(fontTypeList); if (map == null) { this.map = FormBuildUtils.getDefaultMap(); } else { this.map = map; } } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#getName * () */ @Override public String getName() { return "OAFormularCustomization"; } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#parse( * at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication, * javax.servlet.http.HttpServletRequest) */ @Override public List parse(OnlineApplication dbOA, AuthenticatedUser authUser, HttpServletRequest request) { final AuthComponentOA auth = dbOA.getAuthComponentOA(); mandateServiceSelectionTemplate = dbOA.getMandateServiceSelectionTemplateURL(); saml2PostBindingTemplate = dbOA.getSaml2PostBindingTemplateURL(); if (dbOA.getAuthComponentOA() != null) { isHideBPKAuthBlock = dbOA.isRemoveBPKFromAuthBlock(); } if (auth != null) { final TemplatesType templates = auth.getTemplates(); if (templates != null) { aditionalAuthBlockText = templates.getAditionalAuthBlockText(); final TransformsInfoType bkuSelectTemplate = templates.getBKUSelectionTemplate(); if (bkuSelectTemplate != null && MiscUtil.isNotEmpty(bkuSelectTemplate.getFilename()) && !bkuSelectTemplate.getFilename().equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT) && !bkuSelectTemplate.getFilename().equals( MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT_EMPTY)) { bkuSelectionFileUploadFileName.add(bkuSelectTemplate.getFilename()); } final TransformsInfoType sendAssertionTemplate = templates.getSendAssertionTemplate(); if (sendAssertionTemplate != null && MiscUtil.isNotEmpty(sendAssertionTemplate.getFilename()) && !sendAssertionTemplate.getFilename().equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT) && !sendAssertionTemplate.getFilename().equals( MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT_EMPTY)) { sendAssertionFileUploadFileName.add(sendAssertionTemplate.getFilename()); } final BKUSelectionCustomizationType formcustom = templates.getBKUSelectionCustomization(); if (formcustom != null) { if (formcustom.isMandateLoginButton() != null) { showMandateLoginButton = formcustom.isMandateLoginButton(); } if (formcustom.isOnlyMandateLoginAllowed() != null) { onlyMandateAllowed = formcustom.isOnlyMandateLoginAllowed(); } if (formcustom.getAppletHeight() != null) { applet_height = formcustom.getAppletHeight(); } if (formcustom.getAppletHeight() != null) { applet_width = formcustom.getAppletWidth(); } if (MiscUtil.isNotEmpty(formcustom.getAppletRedirectTarget())) { appletRedirectTarget = formcustom.getAppletRedirectTarget(); } if (MiscUtil.isNotEmpty(formcustom.getBackGroundColor())) { backGroundColor = formcustom.getBackGroundColor(); map.put(FormBuildUtils.PARAM_MAIN_BACKGROUNDCOLOR, formcustom.getBackGroundColor()); } if (MiscUtil.isNotEmpty(formcustom.getButtonBackGroundColor())) { button_BackGroundColor = formcustom.getButtonBackGroundColor(); map.put(FormBuildUtils.PARAM_BUTTON_BACKGROUNDCOLOR, formcustom.getButtonBackGroundColor()); } if (MiscUtil.isNotEmpty(formcustom.getButtonBackGroundColorFocus())) { button_BackGroundColorFocus = formcustom.getButtonBackGroundColorFocus(); map.put(FormBuildUtils.PARAM_BUTTON_BACKGROUNDCOLOR_FOCUS, formcustom .getButtonBackGroundColorFocus()); } if (MiscUtil.isNotEmpty(formcustom.getButtonFontColor())) { button_FrontColor = formcustom.getButtonFontColor(); map.put(FormBuildUtils.PARAM_BUTTON_COLOR, formcustom.getButtonFontColor()); } if (MiscUtil.isNotEmpty(formcustom.getFontType())) { fontType = formcustom.getFontType(); map.put(FormBuildUtils.PARAM_FONTFAMILY, formcustom.getFontType()); } if (MiscUtil.isNotEmpty(formcustom.getFrontColor())) { frontColor = formcustom.getFrontColor(); map.put(FormBuildUtils.PARAM_MAIN_COLOR, formcustom.getFrontColor()); } if (MiscUtil.isNotEmpty(formcustom.getHeaderBackGroundColor())) { header_BackGroundColor = formcustom.getHeaderBackGroundColor(); map.put(FormBuildUtils.PARAM_HEADER_BACKGROUNDCOLOR, formcustom.getHeaderBackGroundColor()); } if (MiscUtil.isNotEmpty(formcustom.getHeaderFrontColor())) { header_FrontColor = formcustom.getHeaderFrontColor(); map.put(FormBuildUtils.PARAM_HEADER_COLOR, formcustom.getHeaderFrontColor()); } if (MiscUtil.isNotEmpty(formcustom.getHeaderText())) { header_text = formcustom.getHeaderText(); map.put(FormBuildUtils.PARAM_HEADER_TEXT, formcustom.getHeaderText()); } } } } request.getSession().setAttribute(Constants.SESSION_BKUFORMPREVIEW, map); return null; } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#store( * at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication, * at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser, * javax.servlet.http.HttpServletRequest) */ @Override public String store(OnlineApplication dbOA, AuthenticatedUser authUser, HttpServletRequest request) { AuthComponentOA authoa = dbOA.getAuthComponentOA(); if (authoa == null) { authoa = new AuthComponentOA(); dbOA.setAuthComponentOA(authoa); } dbOA.setRemoveBPKFromAuthBlock(isHideBPKAuthBlock()); dbOA.setMandateServiceSelectionTemplateURL(mandateServiceSelectionTemplate); dbOA.setSaml2PostBindingTemplateURL(saml2PostBindingTemplate); TemplatesType templates = authoa.getTemplates(); if (templates == null) { templates = new TemplatesType(); authoa.setTemplates(templates); } templates.setAditionalAuthBlockText(getAditionalAuthBlockText()); // store BKU-selection and send-assertion templates if (authUser.isAdmin()) { if (isDeleteBKUTemplate() && templates.getBKUSelectionTemplate() != null) { // templates.setBKUSelectionTemplate(null); templates.getBKUSelectionTemplate().setDelete(true); } if (isDeleteSendAssertionTemplate() && templates.getSendAssertionTemplate() != null) { // templates.setSendAssertionTemplate(null); templates.getSendAssertionTemplate().setDelete(true); } if (bkuSelectionForm != null && bkuSelectionForm.size() > 0) { final TransformsInfoType template = new TransformsInfoType(); final Iterator interator = bkuSelectionForm.keySet().iterator(); template.setFilename(interator.next()); template.setTransformation(bkuSelectionForm.get( template.getFilename())); templates.setBKUSelectionTemplate(template); } if (sendAssertionForm != null && sendAssertionForm.size() > 0) { final TransformsInfoType template = new TransformsInfoType(); final Iterator interator = sendAssertionForm.keySet().iterator(); template.setFilename(interator.next()); template.setTransformation(sendAssertionForm.get( template.getFilename())); templates.setSendAssertionTemplate(template); } } BKUSelectionCustomizationType bkuselectioncustom = templates.getBKUSelectionCustomization(); if (bkuselectioncustom == null) { bkuselectioncustom = new BKUSelectionCustomizationType(); templates.setBKUSelectionCustomization(bkuselectioncustom); } if (authoa.getMandates() != null && (authoa.getMandates().getProfileName() != null && authoa.getMandates().getProfileName().size() > 0 || MiscUtil.isNotEmpty(authoa.getMandates().getProfiles()))) { bkuselectioncustom.setMandateLoginButton(true); } else { bkuselectioncustom.setMandateLoginButton(false); } bkuselectioncustom.setOnlyMandateLoginAllowed(isOnlyMandateAllowed()); bkuselectioncustom.setBackGroundColor(parseColor(getBackGroundColor())); bkuselectioncustom.setFrontColor(parseColor(getFrontColor())); bkuselectioncustom.setHeaderBackGroundColor(parseColor(getHeader_BackGroundColor())); bkuselectioncustom.setHeaderFrontColor(parseColor(getHeader_FrontColor())); bkuselectioncustom.setHeaderText(getHeader_text()); bkuselectioncustom.setButtonBackGroundColor(parseColor(getButton_BackGroundColor())); bkuselectioncustom.setButtonBackGroundColorFocus(parseColor(getButton_BackGroundColorFocus())); bkuselectioncustom.setButtonFontColor(parseColor(getButton_FrontColor())); if (MiscUtil.isNotEmpty(getAppletRedirectTarget())) { bkuselectioncustom.setAppletRedirectTarget(getAppletRedirectTarget()); } bkuselectioncustom.setFontType(getFontType()); bkuselectioncustom.setAppletHeight(getApplet_height()); bkuselectioncustom.setAppletWidth(getApplet_width()); return null; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData# * validate(at.gv.egovernment.moa.id.configuration.data.oa.OAGeneralConfig, * at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser, * javax.servlet.http.HttpServletRequest) */ @Override public List validate(OAGeneralConfig general, AuthenticatedUser authUser, HttpServletRequest request) { final HttpSession session = request.getSession(); final List errors = new ArrayList<>(); String check = null; if (authUser.isAdmin()) { // validate aditionalAuthBlockText check = getAditionalAuthBlockText(); if (MiscUtil.isNotEmpty(check)) { if (ValidationHelper.containsNotValidCharacter(check, false)) { log.warn("AditionalAuthBlockText contains potentail XSS characters: " + check); errors.add(LanguageHelper.getErrorString("validation.general.aditionalauthblocktext", new Object[] { ValidationHelper.getNotValidCharacter(false) }, request)); } } } final OAFileUploadValidation valiator_fileUpload = new OAFileUploadValidation(); // validate BKU-selection template List templateError = valiator_fileUpload.validate(getBkuSelectionFileUploadFileName(), getBkuSelectionFileUpload(), "validation.general.bkuselection", bkuSelectionForm, request); if (templateError != null && templateError.size() == 0) { if (bkuSelectionForm != null && bkuSelectionForm.size() > 0) { session.setAttribute(Constants.SESSION_BKUSELECTIONTEMPLATE, bkuSelectionForm); } else { bkuSelectionForm = (Map) session.getAttribute(Constants.SESSION_BKUSELECTIONTEMPLATE); } } else { errors.addAll(templateError); } // validate send-assertion template templateError = valiator_fileUpload.validate(getSendAssertionFileUploadFileName(), getSendAssertionFileUpload(), "validation.general.sendassertion", sendAssertionForm, request); if (templateError != null && templateError.size() == 0) { if (sendAssertionForm != null && sendAssertionForm.size() > 0) { session.setAttribute(Constants.SESSION_SENDASSERTIONTEMPLATE, sendAssertionForm); } else { sendAssertionForm = (Map) session.getAttribute( Constants.SESSION_SENDASSERTIONTEMPLATE); } } else { errors.addAll(templateError); } check = getSaml2PostBindingTemplate(); if (MiscUtil.isNotEmpty(check) && ValidationHelper.isNotValidIdentityLinkSigner(check)) { log.info("URL to SAML2 POST-Binding template is not valid"); errors.add(LanguageHelper.getErrorString("validation.general.templates.saml2.postbinding.valid", request)); } check = getMandateServiceSelectionTemplate(); if (MiscUtil.isNotEmpty(check) && ValidationHelper.isNotValidIdentityLinkSigner(check)) { log.info("URL to mandate-service selection-template is not valid"); errors.add(LanguageHelper.getErrorString("validation.general.templates.mandateserviceselection.valid", request)); } // validate BKUFormCustomization errors.addAll(new FormularCustomizationValitator().validate(this, request)); return errors; } private String parseColor(String color) { String value = ""; if (MiscUtil.isNotEmpty(color)) { if (!color.startsWith("#")) { value = "#" + color; } else { value = color; } } return value; } /** * @return the showMandateLoginButton */ public boolean isShowMandateLoginButton() { return showMandateLoginButton; } /** * @param showMandateLoginButton the showMandateLoginButton to set */ public void setShowMandateLoginButton(boolean showMandateLoginButton) { this.showMandateLoginButton = showMandateLoginButton; } /** * @return the onlyMandateAllowed */ public boolean isOnlyMandateAllowed() { return onlyMandateAllowed; } /** * @param onlyMandateAllowed the onlyMandateAllowed to set */ public void setOnlyMandateAllowed(boolean onlyMandateAllowed) { this.onlyMandateAllowed = onlyMandateAllowed; } /** * @return the fontType */ public String getFontType() { return fontType; } /** * @param fontType the fontType to set */ public void setFontType(String fontType) { this.fontType = fontType; } /** * @return the frontColor */ public String getFrontColor() { return frontColor; } /** * @param frontColor the frontColor to set */ public void setFrontColor(String frontColor) { this.frontColor = frontColor; } /** * @return the backGroundColor */ public String getBackGroundColor() { return backGroundColor; } /** * @param backGroundColor the backGroundColor to set */ public void setBackGroundColor(String backGroundColor) { this.backGroundColor = backGroundColor; } /** * @return the header_FrontColor */ public String getHeader_FrontColor() { return header_FrontColor; } /** * @param header_FrontColor the header_FrontColor to set */ public void setHeader_FrontColor(String header_FrontColor) { this.header_FrontColor = header_FrontColor; } /** * @return the header_BackGroundColor */ public String getHeader_BackGroundColor() { return header_BackGroundColor; } /** * @param header_BackGroundColor the header_BackGroundColor to set */ public void setHeader_BackGroundColor(String header_BackGroundColor) { this.header_BackGroundColor = header_BackGroundColor; } /** * @return the header_text */ public String getHeader_text() { return header_text; } /** * @param header_text the header_text to set */ public void setHeader_text(String header_text) { this.header_text = header_text; } /** * @return the button_BackGroundColor */ public String getButton_BackGroundColor() { return button_BackGroundColor; } /** * @param button_BackGroundColor the button_BackGroundColor to set */ public void setButton_BackGroundColor(String button_BackGroundColor) { this.button_BackGroundColor = button_BackGroundColor; } /** * @return the button_BackGroundColorFocus */ public String getButton_BackGroundColorFocus() { return button_BackGroundColorFocus; } /** * @param button_BackGroundColorFocus the button_BackGroundColorFocus to set */ public void setButton_BackGroundColorFocus(String button_BackGroundColorFocus) { this.button_BackGroundColorFocus = button_BackGroundColorFocus; } /** * @return the button_FrontColor */ public String getButton_FrontColor() { return button_FrontColor; } /** * @param button_FrontColor the button_FrontColor to set */ public void setButton_FrontColor(String button_FrontColor) { this.button_FrontColor = button_FrontColor; } /** * @return the appletRedirectTarget */ public String getAppletRedirectTarget() { return appletRedirectTarget; } /** * @param appletRedirectTarget the appletRedirectTarget to set */ public void setAppletRedirectTarget(String appletRedirectTarget) { this.appletRedirectTarget = appletRedirectTarget; } /** * @return the appletredirecttargetlist */ public List getAppletRedirectTargetList() { return appletRedirectTargetList; } /** * @return the fontTypeList */ public List getFontTypeList() { return fontTypeList; } /** * @return the fontTypeListValue */ public String getFontTypeListValue() { return fontTypeListValue; } /** * @param fontTypeListValue the fontTypeListValue to set */ public void setFontTypeListValue(String fontTypeListValue) { this.fontTypeListValue = fontTypeListValue; } /** * @return the applet_height */ public String getApplet_height() { return applet_height; } /** * @param applet_height the applet_height to set */ public void setApplet_height(String applet_height) { this.applet_height = applet_height; } /** * @return the applet_width */ public String getApplet_width() { return applet_width; } /** * @param applet_width the applet_width to set */ public void setApplet_width(String applet_width) { this.applet_width = applet_width; } /** * @return the bkuSelectionFileUpload */ public List getBkuSelectionFileUpload() { return bkuSelectionFileUpload; } /** * @param bkuSelectionFileUpload the bkuSelectionFileUpload to set */ public void setBkuSelectionFileUpload(List bkuSelectionFileUpload) { this.bkuSelectionFileUpload = bkuSelectionFileUpload; } /** * @return the bkuSelectionFileUploadContentType */ public List getBkuSelectionFileUploadContentType() { return bkuSelectionFileUploadContentType; } /** * @param bkuSelectionFileUploadContentType the * bkuSelectionFileUploadContentType to * set */ public void setBkuSelectionFileUploadContentType( List bkuSelectionFileUploadContentType) { this.bkuSelectionFileUploadContentType = bkuSelectionFileUploadContentType; } /** * @return the bkuSelectionFileUploadFileName */ public List getBkuSelectionFileUploadFileName() { return bkuSelectionFileUploadFileName; } /** * @param bkuSelectionFileUploadFileName the bkuSelectionFileUploadFileName to * set */ public void setBkuSelectionFileUploadFileName( List bkuSelectionFileUploadFileName) { this.bkuSelectionFileUploadFileName = bkuSelectionFileUploadFileName; } /** * @return the sendAssertionFileUpload */ public List getSendAssertionFileUpload() { return sendAssertionFileUpload; } /** * @param sendAssertionFileUpload the sendAssertionFileUpload to set */ public void setSendAssertionFileUpload(List sendAssertionFileUpload) { this.sendAssertionFileUpload = sendAssertionFileUpload; } /** * @return the sendAssertionFileUploadContentType */ public List getSendAssertionFileUploadContentType() { return sendAssertionFileUploadContentType; } /** * @param sendAssertionFileUploadContentType the * sendAssertionFileUploadContentType * to set */ public void setSendAssertionFileUploadContentType( List sendAssertionFileUploadContentType) { this.sendAssertionFileUploadContentType = sendAssertionFileUploadContentType; } /** * @return the sendAssertionFileUploadFileName */ public List getSendAssertionFileUploadFileName() { return sendAssertionFileUploadFileName; } /** * @param sendAssertionFileUploadFileName the sendAssertionFileUploadFileName to * set */ public void setSendAssertionFileUploadFileName( List sendAssertionFileUploadFileName) { this.sendAssertionFileUploadFileName = sendAssertionFileUploadFileName; } /** * @return the deleteBKUTemplate */ public boolean isDeleteBKUTemplate() { return deleteBKUTemplate; } /** * @param deleteBKUTemplate the deleteBKUTemplate to set */ public void setDeleteBKUTemplate(boolean deleteBKUTemplate) { this.deleteBKUTemplate = deleteBKUTemplate; } /** * @return the deleteSendAssertionTemplate */ public boolean isDeleteSendAssertionTemplate() { return deleteSendAssertionTemplate; } /** * @param deleteSendAssertionTemplate the deleteSendAssertionTemplate to set */ public void setDeleteSendAssertionTemplate(boolean deleteSendAssertionTemplate) { this.deleteSendAssertionTemplate = deleteSendAssertionTemplate; } /** * @return the aditionalAuthBlockText */ public String getAditionalAuthBlockText() { return aditionalAuthBlockText; } /** * @param aditionalAuthBlockText the aditionalAuthBlockText to set */ public void setAditionalAuthBlockText(String aditionalAuthBlockText) { this.aditionalAuthBlockText = aditionalAuthBlockText; } /** * @return the isHideBPKAuthBlock */ public boolean isHideBPKAuthBlock() { return isHideBPKAuthBlock; } /** * @param isHideBPKAuthBlock the isHideBPKAuthBlock to set */ public void setHideBPKAuthBlock(boolean isHideBPKAuthBlock) { this.isHideBPKAuthBlock = isHideBPKAuthBlock; } /** * @return the map */ public Map getFormMap() { return map; } /** * @return the saml2PostBindingTemplate */ public String getSaml2PostBindingTemplate() { return saml2PostBindingTemplate; } /** * @param saml2PostBindingTemplate the saml2PostBindingTemplate to set */ public void setSaml2PostBindingTemplate(String saml2PostBindingTemplate) { this.saml2PostBindingTemplate = saml2PostBindingTemplate; } /** * @return the mandateServiceSelectionTemplate */ public String getMandateServiceSelectionTemplate() { return mandateServiceSelectionTemplate; } /** * @param mandateServiceSelectionTemplate the mandateServiceSelectionTemplate to * set */ public void setMandateServiceSelectionTemplate(String mandateServiceSelectionTemplate) { this.mandateServiceSelectionTemplate = mandateServiceSelectionTemplate; } }