diff options
Diffstat (limited to 'id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java')
-rw-r--r-- | id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java | 65 |
1 files changed, 42 insertions, 23 deletions
diff --git a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java index c9dcd291a..23b8dcd84 100644 --- a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java +++ b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java @@ -26,10 +26,13 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import org.apache.commons.lang.StringEscapeUtils; import at.gv.egiz.eaaf.core.api.IRequest; +import at.gv.egiz.eaaf.core.api.gui.GroupDefinition; +import at.gv.egiz.eaaf.core.api.gui.IVelocityGUIBuilderConfiguration; import at.gv.egiz.eaaf.core.impl.gui.AbstractGUIFormBuilderConfiguration; import at.gv.egovernment.moa.id.auth.frontend.utils.FormBuildUtils; import at.gv.egovernment.moa.id.commons.MOAIDAuthConstants; @@ -42,7 +45,8 @@ import at.gv.egovernment.moa.util.MiscUtil; * @author tlenz * */ -public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration extends AbstractGUIFormBuilderConfiguration { +public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration extends AbstractGUIFormBuilderConfiguration + implements IVelocityGUIBuilderConfiguration { public static final String VIEW_TEMPLATE_MAINGUI_DIRECTORY = "mainGUI/"; @@ -112,63 +116,76 @@ public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration } + @Override + protected final GroupDefinition getFromGroup() { + return null; + + } + /* (non-Javadoc) * @see at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#getViewParameters() */ @Override - public final Map<String, Object> getSpecificViewParameters() { - Map<String, Object> params = new HashMap<String, Object>(); - params.put(PARAM_BKU_ONLINE, IOAAuthParameters.THIRDBKU); - params.put(PARAM_BKU_HANDY, IOAAuthParameters.HANDYBKU); - params.put(PARAM_BKU_LOCAL, IOAAuthParameters.LOCALBKU); + public final void putSpecificViewParameters() { + + if (customParameters == null) + customParameters = new HashMap<String, Object>(); + + setViewParameter(null, PARAM_BKU_ONLINE, IOAAuthParameters.THIRDBKU); + setViewParameter(null, PARAM_BKU_HANDY, IOAAuthParameters.HANDYBKU); + setViewParameter(null, PARAM_BKU_LOCAL, IOAAuthParameters.LOCALBKU); if (pendingReq != null) { - params.put(PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId())); - + setViewParameter(null, PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId())); + setViewParameter(null, PARAM_PENDINGREQUESTID_DEPRECATED, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId())); + //add service-provider specific GUI parameters IOAAuthParameters oaParam = pendingReq.getServiceProviderConfiguration(IOAAuthParameters.class); if (oaParam != null) { - params.put(PARAM_OANAME, StringEscapeUtils.escapeHtml(oaParam.getFriendlyName())); + setViewParameter(null, PARAM_OANAME, StringEscapeUtils.escapeHtml(oaParam.getFriendlyName())); //set BKU URLs if (MiscUtil.isNotEmpty(oaParam.getBKUURL(IOAAuthParameters.LOCALBKU))) - params.put(PARAM_BKU_URL_LOCAL, oaParam.getBKUURL(IOAAuthParameters.LOCALBKU)); + setViewParameter(null, PARAM_BKU_URL_LOCAL, oaParam.getBKUURL(IOAAuthParameters.LOCALBKU)); else - params.put(PARAM_BKU_URL_LOCAL, MOAIDAuthConstants.DEFAULT_BKU_HTTPS); + setViewParameter(null, PARAM_BKU_URL_LOCAL, MOAIDAuthConstants.DEFAULT_BKU_HTTPS); if (MiscUtil.isNotEmpty(oaParam.getBKUURL(IOAAuthParameters.HANDYBKU))) - params.put(PARAM_BKU_URL_HANDY, oaParam.getBKUURL(IOAAuthParameters.HANDYBKU)); + setViewParameter(null, PARAM_BKU_URL_HANDY, oaParam.getBKUURL(IOAAuthParameters.HANDYBKU)); if (MiscUtil.isNotEmpty(oaParam.getBKUURL(IOAAuthParameters.THIRDBKU))) - params.put(PARAM_BKU_URL_THIRD, oaParam.getBKUURL(IOAAuthParameters.THIRDBKU)); + setViewParameter(null, PARAM_BKU_URL_THIRD, oaParam.getBKUURL(IOAAuthParameters.THIRDBKU)); //set eIDAS login information if requird if (oaParam.isShowStorkLogin()) { - addCountrySelection(params, oaParam); - params.put(PARAM_EIDAS_VISIBLE, ""); + addCountrySelection(customParameters, oaParam); + setViewParameter(null, PARAM_EIDAS_VISIBLE, ""); } else { - params.put(PARAM_COUNTRYLIST, ""); - params.put(PARAM_EIDAS_VISIBLE, FormBuildUtils.TEMPLATEVISIBLE); + setViewParameter(null, PARAM_COUNTRYLIST, ""); + setViewParameter(null, PARAM_EIDAS_VISIBLE, FormBuildUtils.TEMPLATEVISIBLE); } - FormBuildUtils.customiceLayoutBKUSelection(params, oaParam); + FormBuildUtils.customiceLayoutBKUSelection(customParameters, oaParam); } else - FormBuildUtils.defaultLayoutBKUSelection(params); + FormBuildUtils.defaultLayoutBKUSelection(customParameters); } else { //add default GUI parameters - FormBuildUtils.defaultLayoutBKUSelection(params); + FormBuildUtils.defaultLayoutBKUSelection(customParameters); } //add additional custom parameters - if (customParameters != null) - params.putAll(customParameters); + if (customParameters != null) { + for (Entry<String, Object> el : customParameters.entrySet()) + setViewParameter(null, el.getKey(), el.getValue()); + } + - return params; + } /** @@ -246,6 +263,8 @@ public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration public void setTemplateClasspahtDir(String templateClasspahtDir) { this.templateClasspahtDir = templateClasspahtDir; } + + |