diff options
7 files changed, 440 insertions, 375 deletions
| diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java index 25f20372a..504a38800 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java @@ -106,9 +106,10 @@ public class FormularCustomization implements IOnlineApplicationData {  		Collections.sort(fontTypeList);  		if (map == null) -			this.map = new HashMap<String, String>(); +			this.map = FormBuildUtils.getDefaultMap();  		else  			this.map = map; +				  	}  	/* (non-Javadoc) @@ -794,5 +795,14 @@ public class FormularCustomization implements IOnlineApplicationData {  	 */  	public void setHideBPKAuthBlock(boolean isHideBPKAuthBlock) {  		this.isHideBPKAuthBlock = isHideBPKAuthBlock; +	} + +	/** +	 * @return the map +	 */ +	public Map<String, String> getFormMap() { +		return map;  	}	 +	 +	  } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java index 43954828c..9c1cb90e0 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java @@ -22,13 +22,21 @@   */  package at.gv.egovernment.moa.id.configuration.struts.action; +import iaik.utils.URLDecoder; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream;  import java.util.ArrayList;  import java.util.Date;  import java.util.LinkedHashMap;  import java.util.List; +import java.util.Map;  import org.apache.log4j.Logger; +import at.gv.egovernment.moa.id.auth.builder.LoginFormBuilder;  import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;  import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration; @@ -37,13 +45,16 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;  import at.gv.egovernment.moa.id.configuration.Constants; +import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;  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.data.oa.OAPVP2Config; +import at.gv.egovernment.moa.id.configuration.exception.BasicActionException;  import at.gv.egovernment.moa.id.configuration.exception.BasicOAActionException;  import at.gv.egovernment.moa.id.configuration.exception.ConfigurationException;  import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;  import at.gv.egovernment.moa.id.configuration.helper.MailHelper; +import at.gv.egovernment.moa.id.util.FormBuildUtils;  import at.gv.egovernment.moa.id.util.Random;  import at.gv.egovernment.moa.util.MiscUtil; @@ -63,6 +74,8 @@ public class BasicOAAction extends BasicAction {      private boolean newOA;      private boolean isMetaDataRefreshRequired = false; +    private InputStream stream; +          /**  	 *   	 */ @@ -411,6 +424,88 @@ public class BasicOAAction extends BasicAction {          return null;      } +    public String bkuFramePreview() { + +        String preview = null; + +		try { +			populateBasicInformations(); +			 +		} catch (BasicActionException e) { +			return Constants.STRUTS_ERROR; +			 +		} +        InputStream input = null; + +        try { +            Object mapobj = session.getAttribute(Constants.SESSION_BKUFORMPREVIEW); +            if (mapobj != null && mapobj instanceof Map<?, ?>) { + +                ConfigurationProvider config = ConfigurationProvider.getInstance(); +                String templateURL = config.getConfigRootDir() + ConfigurationProvider.HTMLTEMPLATE_DIR +                        + ConfigurationProvider.HTMLTEMPLATE_FILE; + +                File file = new File(templateURL); +                input = new FileInputStream(file); + +                String contextpath = config.getMOAIDInstanceURL(); +                if (MiscUtil.isEmpty(contextpath)) { +                    log.info("NO MOA-ID instance URL configurated."); +                    input.close(); +                    throw new ConfigurationException("No MOA-ID instance configurated"); +                } + +                preview = LoginFormBuilder.getTemplate(input); +                preview = preview.replace(LoginFormBuilder.CONTEXTPATH, contextpath); + +                Map<String, String> map = (Map<String, String>) mapobj; + +                request.setCharacterEncoding("UTF-8"); + +                String module = request.getParameter(Constants.REQUEST_FORMCUSTOM_MODULE); +                String value = request.getParameter(Constants.REQUEST_FORMCUSTOM_VALUE); + +                if (value != null) { +                    String[] query = URLDecoder.decode(request.getQueryString()).split("&"); +                    value = query[1].substring("value=".length()); +                } + +                synchronized (map) { + +                    if (MiscUtil.isNotEmpty(module)) { +                        if (map.containsKey("#" + module + "#")) { +                            if (MiscUtil.isNotEmpty(value)) { +                                if (FormBuildUtils.FONTFAMILY.contains(module) || FormBuildUtils.HEADER_TEXT.contains(module) +                                        || value.startsWith("#")) +                                    map.put("#" + module + "#", value); +                                else +                                    map.put("#" + module + "#", "#" + value); + +                            } else { +                                map.put("#" + module + "#", FormBuildUtils.getDefaultMap().get("#" + module + "#")); +                            } +                        } +                    } +                    preview = FormBuildUtils.customiceLayoutBKUSelection(preview, true, false, map, true); +                } + +            } else { +                preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible", request); + +            } + +        } catch (Exception e) { +            log.warn("BKUSelection Preview can not be generated.", e); +            preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible", request); + +        } + +        stream = new ByteArrayInputStream(preview.getBytes()); + +        return Constants.STRUTS_SUCCESS; +    }     +     +          /**       * @param oaidobj the oaidobj to set       */ @@ -449,4 +544,11 @@ public class BasicOAAction extends BasicAction {      	formList.put(pvp2oa.getName(), pvp2oa);      } +    /** +     * @return the stream +     */ +    public InputStream getStream() { +        return stream; +    } +      } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java index e15d1e958..659835d03 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java @@ -22,13 +22,11 @@   *******************************************************************************/  package at.gv.egovernment.moa.id.configuration.struts.action; -import at.gv.egovernment.moa.id.auth.builder.LoginFormBuilder;  import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;  import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.dao.config.*;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.configuration.Constants; -import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;  import at.gv.egovernment.moa.id.configuration.data.FormularCustomization;  import at.gv.egovernment.moa.id.configuration.data.oa.*;  import at.gv.egovernment.moa.id.configuration.exception.BasicActionException; @@ -39,481 +37,431 @@ import at.gv.egovernment.moa.id.configuration.helper.MailHelper;  import at.gv.egovernment.moa.id.util.FormBuildUtils;  import at.gv.egovernment.moa.id.util.Random;  import at.gv.egovernment.moa.util.MiscUtil; -import iaik.utils.URLDecoder;  import org.apache.log4j.Logger; -import java.io.*;  import java.util.*;  public class EditOAAction extends BasicOAAction { -    private final Logger log = Logger.getLogger(EditOAAction.class); -    private static final long serialVersionUID = 1L; -     -    private String nextPage; -    private InputStream stream; -         +	private final Logger log = Logger.getLogger(EditOAAction.class); +	private static final long serialVersionUID = 1L; + +	private String nextPage; +  	public EditOAAction() {  		super();  		OATargetConfiguration oaTarget = new OATargetConfiguration();  		formList.put(oaTarget.getName(), oaTarget); -		 -    	OAAuthenticationData authOA = new OAAuthenticationData(); -    	formList.put(authOA.getName(), authOA); -    	 -    	OASSOConfig ssoOA = new OASSOConfig(); -    	formList.put(ssoOA.getName(), ssoOA); -    	 -    	OASAML1Config saml1OA = new OASAML1Config(); -    	formList.put(saml1OA.getName(), saml1OA); -    	 -    	OAPVP2Config pvp2OA = new OAPVP2Config(); -    	formList.put(pvp2OA.getName(), pvp2OA); -    	 -    	OAOAuth20Config oauth20OA = new OAOAuth20Config(); -    	formList.put(oauth20OA.getName(), oauth20OA); -    	 -    	OASTORKConfig storkOA = new OASTORKConfig(); -    	formList.put(storkOA.getName(), storkOA); -    	 -        Map<String, String> map = new HashMap<String, String>(); -        map.putAll(FormBuildUtils.getDefaultMap()); -    	FormularCustomization formOA = new FormularCustomization(map); -    	formList.put(formOA.getName(), formOA); -		 + +		OAAuthenticationData authOA = new OAAuthenticationData(); +		formList.put(authOA.getName(), authOA); + +		OASSOConfig ssoOA = new OASSOConfig(); +		formList.put(ssoOA.getName(), ssoOA); + +		OASAML1Config saml1OA = new OASAML1Config(); +		formList.put(saml1OA.getName(), saml1OA); + +		OAPVP2Config pvp2OA = new OAPVP2Config(); +		formList.put(pvp2OA.getName(), pvp2OA); + +		OAOAuth20Config oauth20OA = new OAOAuth20Config(); +		formList.put(oauth20OA.getName(), oauth20OA); + +		OASTORKConfig storkOA = new OASTORKConfig(); +		formList.put(storkOA.getName(), storkOA); + +		Map<String, String> map = new HashMap<String, String>(); +		map.putAll(FormBuildUtils.getDefaultMap()); +		FormularCustomization formOA = new FormularCustomization(map); +		formList.put(formOA.getName(), formOA); +  	} -     -    // STRUTS actions -    public String inital() { +	// STRUTS actions +	public String inital() {  		try {  			populateBasicInformations(); -		 +  			OnlineApplication onlineapplication = populateOnlineApplicationFromRequest(); -			 +  			if (onlineapplication == null) { -				addActionError(LanguageHelper.getErrorString("errors.listOAs.noOA", request)); +				addActionError(LanguageHelper.getErrorString( +						"errors.listOAs.noOA", request));  				return Constants.STRUTS_SUCCESS;  			} -			 -	        List<String> errors = new ArrayList<String>(); + +			List<String> errors = new ArrayList<String>();  			for (IOnlineApplicationData form : formList.values()) { -				List<String> error = form.parse(onlineapplication, authUser, request); +				List<String> error = form.parse(onlineapplication, authUser, +						request);  				if (error != null)  					errors.addAll(error);  			} -	        if (errors.size() > 0) { -	            for (String el : errors) -	                addActionError(el); -	        } - -	        setNewOA(false); -	         -	        ConfigurationDBUtils.closeSession(); - -	        formID = Random.nextRandom(); -	        session.setAttribute(Constants.SESSION_FORMID, formID); -	        session.setAttribute(Constants.SESSION_OAID, oaid); -			 -	        return Constants.STRUTS_OA_EDIT; -				 +			if (errors.size() > 0) { +				for (String el : errors) +					addActionError(el); +			} + +			setNewOA(false); + +			ConfigurationDBUtils.closeSession(); + +			formID = Random.nextRandom(); +			session.setAttribute(Constants.SESSION_FORMID, formID); +			session.setAttribute(Constants.SESSION_OAID, oaid); + +			return Constants.STRUTS_OA_EDIT; +  		} catch (BasicActionException e) {  			return Constants.STRUTS_ERROR; -			 +  		} catch (BasicOAActionException e) {  			addActionError(e.getStrutsError());  			return e.getStrutsReturnValue();  		} -    } +	} -    public String newOA() { -        log.debug("insert new Online-Application"); +	public String newOA() { +		log.debug("insert new Online-Application");  		try {  			populateBasicInformations(); -			 +  			populateBasicNewOnlineApplicationInformation(); -						 +  			// prepare attribute helper list  			ArrayList<AttributeHelper> attributes = new ArrayList<AttributeHelper>(); -			for(StorkAttribute current : ConfigurationDBRead.getMOAIDConfiguration().getAuthComponentGeneral().getForeignIdentities().getSTORK().getAttributes()) -				attributes.add(new AttributeHelper(current));						 +			for (StorkAttribute current : ConfigurationDBRead +					.getMOAIDConfiguration().getAuthComponentGeneral() +					.getForeignIdentities().getSTORK().getAttributes()) +				attributes.add(new AttributeHelper(current));  			getStorkOA().setHelperAttributes(attributes); -			 +  		} catch (BasicActionException e) {  			return Constants.STRUTS_ERROR; -			 + +		} + +		UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser +				.getUserID()); + +		if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null +				&& !userdb.isIsMailAddressVerified()) { +			log.info("Online-Applikation managemant disabled. Mail address is not verified."); +			addActionError(LanguageHelper.getErrorString( +					"error.editoa.mailverification", request)); +			return Constants.STRUTS_SUCCESS;  		} -         -        UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID()); - -        if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null && !userdb.isIsMailAddressVerified()) { -            log.info("Online-Applikation managemant disabled. Mail address is not verified."); -            addActionError(LanguageHelper.getErrorString("error.editoa.mailverification", request)); -            return Constants.STRUTS_SUCCESS; -        } - -        ConfigurationDBUtils.closeSession(); -        session.setAttribute(Constants.SESSION_OAUTH20SECRET, ((OAOAuth20Config)formList.get(new OAOAuth20Config().getName())).getClientSecret()); -        nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); -         -        return Constants.STRUTS_OA_EDIT; -    } - -    public String saveOA() { -    	 -    	OnlineApplication onlineapplication= null; -    	 + +		ConfigurationDBUtils.closeSession(); +		session.setAttribute( +				Constants.SESSION_OAUTH20SECRET, +				((OAOAuth20Config) formList.get(new OAOAuth20Config().getName())) +						.getClientSecret()); +		session.setAttribute(Constants.SESSION_BKUFORMPREVIEW, getFormOA().getFormMap()); +		nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); + +		return Constants.STRUTS_OA_EDIT; +	} + +	public String saveOA() { + +		OnlineApplication onlineapplication = null; +  		try {  			populateBasicInformations(); -			 +  			onlineapplication = preProcessSaveOnlineApplication(); -			 +  		} catch (BasicActionException e) {  			return Constants.STRUTS_ERROR; -			 +  		} catch (BasicOAActionException e) {  			addActionError(e.getStrutsError());  			return e.getStrutsReturnValue(); -			 +  		} -        List<String> errors = new ArrayList<String>(); -		 -        //validate forms -        for (IOnlineApplicationData form : formList.values()) -        	errors.addAll(form.validate(getGeneralOA(), authUser, request)); - -        // Do not allow SSO in combination with special BKUSelection features -        if (getSsoOA().isUseSSO() && (getFormOA().isOnlyMandateAllowed() || !getFormOA().isShowMandateLoginButton())) { -            log.warn("Special BKUSelection features can not be used in combination with SSO"); -            errors.add(LanguageHelper.getErrorString("validation.general.bkuselection.specialfeatures.valid", request)); -        } - -        if (errors.size() > 0) { -            log.info("OAConfiguration with ID " + getGeneralOA().getIdentifier() + " has some errors."); -            for (String el : errors) -                addActionError(el); - -            formID = Random.nextRandom(); -            session.setAttribute(Constants.SESSION_FORMID, formID); -            return Constants.STRUTS_ERROR_VALIDATION; - -        } else { -        	try { +		List<String> errors = new ArrayList<String>(); + +		// validate forms +		for (IOnlineApplicationData form : formList.values()) +			errors.addAll(form.validate(getGeneralOA(), authUser, request)); + +		// Do not allow SSO in combination with special BKUSelection features +		if (getSsoOA().isUseSSO() +				&& (getFormOA().isOnlyMandateAllowed() || !getFormOA() +						.isShowMandateLoginButton())) { +			log.warn("Special BKUSelection features can not be used in combination with SSO"); +			errors.add(LanguageHelper.getErrorString( +					"validation.general.bkuselection.specialfeatures.valid", +					request)); +		} + +		if (errors.size() > 0) { +			log.info("OAConfiguration with ID " +					+ getGeneralOA().getIdentifier() + " has some errors."); +			for (String el : errors) +				addActionError(el); + +			formID = Random.nextRandom(); +			session.setAttribute(Constants.SESSION_FORMID, formID); +			return Constants.STRUTS_ERROR_VALIDATION; + +		} else { +			try {  				onlineapplication = postProcessSaveOnlineApplication(onlineapplication); -				 +  			} catch (BasicOAActionException e) {  				addActionError(e.getStrutsError());  				return e.getStrutsReturnValue();  			} -        	        	 -        } -        Object nextPageAttr = session.getAttribute(Constants.SESSION_RETURNAREA); -        if (nextPageAttr != null && nextPageAttr instanceof String) { -            nextPage = (String) nextPageAttr; -            session.setAttribute(Constants.SESSION_RETURNAREA, null); +		} + +		Object nextPageAttr = session +				.getAttribute(Constants.SESSION_RETURNAREA); +		if (nextPageAttr != null && nextPageAttr instanceof String) { +			nextPage = (String) nextPageAttr; +			session.setAttribute(Constants.SESSION_RETURNAREA, null); -        } else { -            nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); -        } +		} else { +			nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); +		} -        if (onlineapplication.isIsAdminRequired()) { -            int numoas = 0; -            int numusers = 0; +		if (onlineapplication.isIsAdminRequired()) { +			int numoas = 0; +			int numusers = 0; -            List<OnlineApplication> openOAs = ConfigurationDBRead.getAllNewOnlineApplications(); -            if (openOAs != null) numoas = openOAs.size(); +			List<OnlineApplication> openOAs = ConfigurationDBRead +					.getAllNewOnlineApplications(); +			if (openOAs != null) +				numoas = openOAs.size(); -            List<UserDatabase> openUsers = ConfigurationDBRead.getAllNewUsers(); -            if (openUsers != null) numusers = openUsers.size(); -            try { +			List<UserDatabase> openUsers = ConfigurationDBRead.getAllNewUsers(); +			if (openUsers != null) +				numusers = openUsers.size(); +			try { -                addActionMessage(LanguageHelper.getGUIString("webpages.oaconfig.success.admin", getGeneralOA().getIdentifier(), request)); +				addActionMessage(LanguageHelper.getGUIString( +						"webpages.oaconfig.success.admin", getGeneralOA() +								.getIdentifier(), request)); -                if (numusers > 0 || numoas > 0) MailHelper.sendAdminMail(numoas, numusers); +				if (numusers > 0 || numoas > 0) +					MailHelper.sendAdminMail(numoas, numusers); -            } catch (ConfigurationException e) { -                log.warn("Sending Mail to Admin failed.", e); -            } +			} catch (ConfigurationException e) { +				log.warn("Sending Mail to Admin failed.", e); +			} -        } else -            addActionMessage(LanguageHelper.getGUIString("webpages.oaconfig.success", getGeneralOA().getIdentifier(), request)); +		} else +			addActionMessage(LanguageHelper.getGUIString( +					"webpages.oaconfig.success", +					getGeneralOA().getIdentifier(), request)); -        //remove session attributes -        session.setAttribute(Constants.SESSION_OAID, null); -        session.removeAttribute(Constants.SESSION_BKUSELECTIONTEMPLATE); -        session.removeAttribute(Constants.SESSION_SENDASSERTIONTEMPLATE); +		// remove session attributes +		session.setAttribute(Constants.SESSION_OAID, null); +		session.removeAttribute(Constants.SESSION_BKUSELECTIONTEMPLATE); +		session.removeAttribute(Constants.SESSION_SENDASSERTIONTEMPLATE); -        ConfigurationDBUtils.closeSession(); -        return Constants.STRUTS_SUCCESS; -    } +		ConfigurationDBUtils.closeSession(); +		return Constants.STRUTS_SUCCESS; +	} -    public String cancleAndBackOA() { +	public String cancleAndBackOA() {  		try {  			populateBasicInformations(); -			 +  		} catch (BasicActionException e) {  			return Constants.STRUTS_ERROR; -			 +  		} -        Object nextPageAttr = session.getAttribute(Constants.SESSION_RETURNAREA); -        if (nextPageAttr != null && nextPageAttr instanceof String) { -            nextPage = (String) nextPageAttr; -            session.setAttribute(Constants.SESSION_RETURNAREA, null); +		Object nextPageAttr = session +				.getAttribute(Constants.SESSION_RETURNAREA); +		if (nextPageAttr != null && nextPageAttr instanceof String) { +			nextPage = (String) nextPageAttr; +			session.setAttribute(Constants.SESSION_RETURNAREA, null); -        } else { -            nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); -        } +		} else { +			nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); +		} -        session.setAttribute(Constants.SESSION_OAID, null); +		session.setAttribute(Constants.SESSION_OAID, null); -        addActionMessage(LanguageHelper.getGUIString("webpages.oaconfig.cancle", getGeneralOA().getIdentifier(), request)); +		addActionMessage(LanguageHelper.getGUIString( +				"webpages.oaconfig.cancle", getGeneralOA().getIdentifier(), +				request)); -        ConfigurationDBUtils.closeSession(); +		ConfigurationDBUtils.closeSession(); -        return Constants.STRUTS_SUCCESS; -    } +		return Constants.STRUTS_SUCCESS; +	} -    public String deleteOA() { +	public String deleteOA() {  		String oaidentifier = null;  		try {  			populateBasicInformations(); -						 -	        Object nextPageAttr = session.getAttribute(Constants.SESSION_RETURNAREA); -	        if (nextPageAttr != null && nextPageAttr instanceof String) { -	            nextPage = (String) nextPageAttr; - -	        } else { -	            nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); -	        } -			 -			oaidentifier  = preProcessDeleteOnlineApplication(); -	         -			 + +			Object nextPageAttr = session +					.getAttribute(Constants.SESSION_RETURNAREA); +			if (nextPageAttr != null && nextPageAttr instanceof String) { +				nextPage = (String) nextPageAttr; + +			} else { +				nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name(); +			} + +			oaidentifier = preProcessDeleteOnlineApplication(); +  		} catch (BasicActionException e) {  			return Constants.STRUTS_ERROR; -			 +  		} catch (BasicOAActionException e) {  			addActionError(e.getStrutsError());  			return e.getStrutsReturnValue(); -			 +  		} -        OnlineApplication onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier); -        request.getSession().setAttribute(Constants.SESSION_OAID, null); +		OnlineApplication onlineapplication = ConfigurationDBRead +				.getOnlineApplication(oaidentifier); +		request.getSession().setAttribute(Constants.SESSION_OAID, null); + +		try { +			if (MiscUtil.isNotEmpty(onlineapplication.getAuthComponentOA() +					.getOAPVP2().getMetadataURL())) { + +				MOAIDConfiguration moaconfig = ConfigurationDBRead +						.getMOAIDConfiguration(); +				moaconfig.setPvp2RefreshItem(new Date()); +				ConfigurationDBUtils.saveOrUpdate(moaconfig); + +			} +		} catch (Throwable e) { +			log.info("Found no MetadataURL in OA-Databaseconfig!", e); +		} + +		if (ConfigurationDBUtils.delete(onlineapplication)) { + +			if (!authUser.isAdmin()) { +				UserDatabase user = ConfigurationDBRead.getUserWithID(authUser +						.getUserID()); +				List<OnlineApplication> useroas = user.getOnlineApplication(); + +				for (OnlineApplicationType oa : useroas) { +					if (oa.getHjid().equals(onlineapplication.getHjid())) { +						useroas.remove(oa); +					} +				} + +				try { +					ConfigurationDBUtils.saveOrUpdate(user); + +				} catch (MOADatabaseException e) { +					log.warn("User information can not be updated in database", +							e); +					addActionError(LanguageHelper.getGUIString( +							"error.db.oa.store", request)); +					return Constants.STRUTS_ERROR; +				} +			} + +			ConfigurationDBUtils.closeSession(); -        try { -            if (MiscUtil.isNotEmpty(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())) { +			addActionMessage(LanguageHelper.getGUIString( +					"webpages.oaconfig.delete.message", oaidentifier, request)); -                MOAIDConfiguration moaconfig = ConfigurationDBRead.getMOAIDConfiguration(); -                moaconfig.setPvp2RefreshItem(new Date()); -                ConfigurationDBUtils.saveOrUpdate(moaconfig); +			return Constants.STRUTS_SUCCESS; -            } -        } catch (Throwable e) { -            log.info("Found no MetadataURL in OA-Databaseconfig!", e); -        } +		} else { +			ConfigurationDBUtils.closeSession(); +			addActionError(LanguageHelper.getGUIString( +					"webpages.oaconfig.delete.error", oaidentifier, request)); +			return Constants.STRUTS_SUCCESS; +		} -        if (ConfigurationDBUtils.delete(onlineapplication)) { +	} -            if (!authUser.isAdmin()) { -                UserDatabase user = ConfigurationDBRead.getUserWithID(authUser.getUserID()); -                List<OnlineApplication> useroas = user.getOnlineApplication(); +	public OAAuthenticationData getAuthOA() { +		return (OAAuthenticationData) formList.get(new OAAuthenticationData() +				.getName()); +	} -                for (OnlineApplicationType oa : useroas) { -                    if (oa.getHjid().equals(onlineapplication.getHjid())) { -                        useroas.remove(oa); -                    } -                } +	public void setAuthOA(OAAuthenticationData generalOA) { +		formList.put(generalOA.getName(), generalOA); +	} -                try { -                    ConfigurationDBUtils.saveOrUpdate(user); +	public OASAML1Config getSaml1OA() { +		return (OASAML1Config) formList.get(new OASAML1Config().getName()); +	} -                } catch (MOADatabaseException e) { -                    log.warn("User information can not be updated in database", e); -                    addActionError(LanguageHelper.getGUIString("error.db.oa.store", request)); -                    return Constants.STRUTS_ERROR; -                } -            } +	public void setSaml1OA(OASAML1Config saml1oa) { +		formList.put(saml1oa.getName(), saml1oa); +	} -            ConfigurationDBUtils.closeSession(); +	public OASSOConfig getSsoOA() { +		return (OASSOConfig) formList.get(new OASSOConfig().getName()); +	} -            addActionMessage(LanguageHelper.getGUIString("webpages.oaconfig.delete.message", oaidentifier, request)); +	public void setSsoOA(OASSOConfig ssoOA) { +		formList.put(ssoOA.getName(), ssoOA); +	} -            return Constants.STRUTS_SUCCESS; +	public OASTORKConfig getStorkOA() { +		return (OASTORKConfig) formList.get(new OASTORKConfig().getName()); +	} -        } else { -            ConfigurationDBUtils.closeSession(); -            addActionError(LanguageHelper.getGUIString("webpages.oaconfig.delete.error", oaidentifier, request)); -            return Constants.STRUTS_SUCCESS; -        } +	public void setStorkOA(OASTORKConfig storkOA) { +		formList.put(storkOA.getName(), storkOA); +	} -    } +	/** +	 * @return the nextPage +	 */ +	public String getNextPage() { +		return nextPage; +	} -    public String bkuFramePreview() { +	/** +	 * @return the formOA +	 */ +	public FormularCustomization getFormOA() { +		return (FormularCustomization) formList.get(new FormularCustomization( +				null).getName()); +	} -        String preview = null; +	/** +	 * @param formOA +	 *            the formOA to set +	 */ +	public void setFormOA(FormularCustomization formOA) { +		formList.put(formOA.getName(), formOA); +	} -		try { -			populateBasicInformations(); -			 -		} catch (BasicActionException e) { -			return Constants.STRUTS_ERROR; -			 -		} -        InputStream input = null; +	public OAOAuth20Config getOauth20OA() { +		return (OAOAuth20Config) formList.get(new OAOAuth20Config().getName()); +	} -        try { -            Object mapobj = session.getAttribute(Constants.SESSION_BKUFORMPREVIEW); -            if (mapobj != null && mapobj instanceof Map<?, ?>) { +	public void setOauth20OA(OAOAuth20Config oauth20OA) { +		formList.put(oauth20OA.getName(), oauth20OA); +	} -                ConfigurationProvider config = ConfigurationProvider.getInstance(); -                String templateURL = config.getConfigRootDir() + ConfigurationProvider.HTMLTEMPLATE_DIR -                        + ConfigurationProvider.HTMLTEMPLATE_FILE; +	/** +	 * @return the formOA +	 */ +	public OATargetConfiguration getTargetConfig() { +		return (OATargetConfiguration) formList.get(new OATargetConfiguration() +				.getName()); +	} -                File file = new File(templateURL); -                input = new FileInputStream(file); - -                String contextpath = config.getMOAIDInstanceURL(); -                if (MiscUtil.isEmpty(contextpath)) { -                    log.info("NO MOA-ID instance URL configurated."); -                    throw new ConfigurationException("No MOA-ID instance configurated"); -                } - -                preview = LoginFormBuilder.getTemplate(input); -                preview = preview.replace(LoginFormBuilder.CONTEXTPATH, contextpath); - -                Map<String, String> map = (Map<String, String>) mapobj; - -                request.setCharacterEncoding("UTF-8"); - -                String module = request.getParameter(Constants.REQUEST_FORMCUSTOM_MODULE); -                String value = request.getParameter(Constants.REQUEST_FORMCUSTOM_VALUE); - -                if (value != null) { -                    String[] query = URLDecoder.decode(request.getQueryString()).split("&"); -                    value = query[1].substring("value=".length()); -                } - -                synchronized (map) { - -                    if (MiscUtil.isNotEmpty(module)) { -                        if (map.containsKey("#" + module + "#")) { -                            if (MiscUtil.isNotEmpty(value)) { -                                if (FormBuildUtils.FONTFAMILY.contains(module) || FormBuildUtils.HEADER_TEXT.contains(module) -                                        || value.startsWith("#")) -                                    map.put("#" + module + "#", value); -                                else -                                    map.put("#" + module + "#", "#" + value); - -                            } else { -                                map.put("#" + module + "#", FormBuildUtils.getDefaultMap().get("#" + module + "#")); -                            } -                        } -                    } -                    preview = FormBuildUtils.customiceLayoutBKUSelection(preview, true, false, map, true); -                } - -            } else { -                preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible", request); - -            } - -        } catch (Exception e) { -            log.warn("BKUSelection Preview can not be generated.", e); -            preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible", request); - -        } - -        stream = new ByteArrayInputStream(preview.getBytes()); - -        return Constants.STRUTS_SUCCESS; -    } -     -    public OAAuthenticationData getAuthOA() { -        return (OAAuthenticationData) formList.get(new OAAuthenticationData().getName()); -    } - -    public void setAuthOA(OAAuthenticationData generalOA) { -    	formList.put(generalOA.getName(), generalOA); -    } - -    public OASAML1Config getSaml1OA() { -        return (OASAML1Config) formList.get(new OASAML1Config().getName()); -    } - -    public void setSaml1OA(OASAML1Config saml1oa) { -    	formList.put(saml1oa.getName(), saml1oa); -    } - -    public OASSOConfig getSsoOA() { -        return (OASSOConfig) formList.get(new OASSOConfig().getName()); -    } - -    public void setSsoOA(OASSOConfig ssoOA) { -    	formList.put(ssoOA.getName(), ssoOA); -    } - -    public OASTORKConfig getStorkOA() { -        return (OASTORKConfig) formList.get(new OASTORKConfig().getName()); -    } - -    public void setStorkOA(OASTORKConfig storkOA) { -    	formList.put(storkOA.getName(), storkOA); -    } - -    /** -     * @return the nextPage -     */ -    public String getNextPage() { -        return nextPage; -    } - -    /** -     * @return the formOA -     */ -    public FormularCustomization getFormOA() { -        return (FormularCustomization) formList.get(new FormularCustomization(null).getName()); -    } - -    /** -     * @param formOA the formOA to set -     */ -    public void setFormOA(FormularCustomization formOA) { -    	formList.put(formOA.getName(), formOA); -    } - -    /** -     * @return the stream -     */ -    public InputStream getStream() { -        return stream; -    } - -    public OAOAuth20Config getOauth20OA() { -        return (OAOAuth20Config) formList.get(new OAOAuth20Config().getName()); -    } - -    public void setOauth20OA(OAOAuth20Config oauth20OA) { -    	formList.put(oauth20OA.getName(), oauth20OA); -    } -     -    /** -     * @return the formOA -     */ -    public OATargetConfiguration getTargetConfig() { -        return (OATargetConfiguration) formList.get(new OATargetConfiguration().getName()); -    } - -    /** -     * @param formOA the formOA to set -     */ -    public void setTargetConfig(OATargetConfiguration formOA) { -    	formList.put(formOA.getName(), formOA); -    } +	/** +	 * @param formOA +	 *            the formOA to set +	 */ +	public void setTargetConfig(OATargetConfiguration formOA) { +		formList.put(formOA.getName(), formOA); +	}  } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java index 215fd9a17..46c3ea8f5 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java @@ -116,6 +116,8 @@ public class InterfederationIDPAction extends BasicOAAction {  				addActionError(LanguageHelper.getErrorString("errors.notallowed", request));  				return Constants.STRUTS_NOTALLOWED;  			} + +			populateBasicNewOnlineApplicationInformation();  			if (STRUTS_IDP_MOA.equals(interfederationType)) {  				formList.putAll(MOAIDPAction.buildMOAIDPFormList()); @@ -124,14 +126,15 @@ public class InterfederationIDPAction extends BasicOAAction {  				formList.putAll(VIDPAction.buildVIDPFormList());  				getStorkOA().setVidpEnabled(true);  				getStorkOA().getAttributeProviderPlugins().add(new AttributeProviderPlugin()); -				 +				session.setAttribute(Constants.SESSION_BKUFORMPREVIEW, getFormOA().getFormMap()); +								  			} else {  				log.warn("Unkown interfederation IDP type");  				addActionError("Unkown interfederation IDP type");  				return Constants.STRUTS_ERROR;  			} -			populateBasicNewOnlineApplicationInformation(); +  		} catch (BasicActionException e) {  			return Constants.STRUTS_ERROR; diff --git a/id/ConfigWebTool/src/main/resources/struts.xml b/id/ConfigWebTool/src/main/resources/struts.xml index 3fc82f83f..68cd85b2f 100644 --- a/id/ConfigWebTool/src/main/resources/struts.xml +++ b/id/ConfigWebTool/src/main/resources/struts.xml @@ -169,7 +169,7 @@  			<interceptor-ref name="OwnStack"/>  		</action> - 		<action name="bkuFramePreview" method="bkuFramePreview" class="at.gv.egovernment.moa.id.configuration.struts.action.EditOAAction"> + 		<action name="bkuFramePreview" method="bkuFramePreview" class="at.gv.egovernment.moa.id.configuration.struts.action.BasicOAAction">  			<result type="stream">      		<param name="contentType">text/html</param>      		<param name="inputName">stream</param> diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp index 945d4b0b5..6f266f865 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp @@ -421,7 +421,7 @@  							<s:if test="moaconfig.fileUploadFileName.size() == 0">  									<div id="pvp2_certificate_upload"> -									<s:file name="moaconfig.fileUpload" key="webpages.moaconfig.sl.transormations.upload" cssClass="textfield_long"></s:file> +										<s:file name="moaconfig.fileUpload" key="webpages.moaconfig.sl.transormations.upload" cssClass="textfield_long"></s:file>  								</div>  							</s:if> diff --git a/id/ConfigWebTool/src/main/webapp/jsp/interfederation/vidp.jsp b/id/ConfigWebTool/src/main/webapp/jsp/interfederation/vidp.jsp index 3a5dd68c9..0cc3b11dd 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/interfederation/vidp.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/interfederation/vidp.jsp @@ -8,9 +8,11 @@  	<head>  		<meta content="text/html; charset=utf-8" http-equiv="Content-Type">  		<link rel="stylesheet" type="text/css" href="../css/index.css"> +		<link rel="stylesheet" media="screen" type="text/css" href="../css/colorpicker.css" />  		<title><%=LanguageHelper.getGUIString("title", request) %></title>  		<script type="text/javascript" src="../js/common.js"></script>  		<script src="../js/jquery.js"></script> +		<script src="../js/colorpicker.js"></script>  	</head>  	<body onload="oaOnLoad()"> | 
