aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2016-03-24 13:25:04 +0100
committerThomas Lenz <tlenz@iaik.tugraz.at>2016-03-24 13:25:04 +0100
commitb819b1f8cd82383fd2b2ed63dc71f6ac23fa9731 (patch)
treee5cc15a66e0ac60efeb98257f81c6852bd337476 /id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
parentd8afdada80249cc2d944b120343fdc22c22ba707 (diff)
downloadmoa-id-spss-b819b1f8cd82383fd2b2ed63dc71f6ac23fa9731.tar.gz
moa-id-spss-b819b1f8cd82383fd2b2ed63dc71f6ac23fa9731.tar.bz2
moa-id-spss-b819b1f8cd82383fd2b2ed63dc71f6ac23fa9731.zip
fix problem in moa-id-configuration with duplicate entries and delete operation
Diffstat (limited to 'id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java49
1 files changed, 28 insertions, 21 deletions
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 71639abef..c80bc1925 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
@@ -262,25 +262,8 @@ public class BasicOAAction extends BasicAction {
OnlineApplication onlineapplication = null;
- Object oadbid = request.getSession().getAttribute(Constants.SESSION_OAID);
- Long oaid = (long) -1;
-
- if (oadbid != null) {
- try {
- oaid = (Long) oadbid;
- if (oaid < 0 || oaid > Long.MAX_VALUE) {
- throw new BasicOAActionException(
- LanguageHelper.getErrorString("errors.edit.oa.oaid", request),
- Constants.STRUTS_ERROR);
- }
-
- } catch (Throwable t) {
- throw new BasicOAActionException(
- LanguageHelper.getErrorString("errors.edit.oa.oaid", request),
- Constants.STRUTS_ERROR);
- }
- }
-
+ Long oaid = getOAIDFromSession();
+
// valid DBID and check entry
OAGeneralConfig oaGeneralForm = ((OAGeneralConfig)formList.get(new OAGeneralConfig().getName()));
String oaidentifier = oaGeneralForm.getIdentifier();
@@ -316,14 +299,15 @@ public class BasicOAAction extends BasicAction {
onlineapplication = configuration.getDbRead().getOnlineApplication(oaidentifier);
}
- setNewOA(true);
+
if (onlineapplication != null) {
log.info("The OAIdentifier is not unique");
throw new BasicOAActionException(
LanguageHelper.getErrorString("validation.general.oaidentifier.notunique", request),
Constants.STRUTS_ERROR_VALIDATION);
- }
+ } else
+ setNewOA(true);
} else {
onlineapplication = configuration.getDbRead().getOnlineApplication(oaid);
@@ -362,6 +346,29 @@ public class BasicOAAction extends BasicAction {
}
+ protected Long getOAIDFromSession() throws BasicOAActionException {
+ Object oadbid = request.getSession().getAttribute(Constants.SESSION_OAID);
+ Long oaid = (long) -1;
+
+ if (oadbid != null) {
+ try {
+ oaid = (Long) oadbid;
+ if (oaid < 0 || oaid > Long.MAX_VALUE) {
+ throw new BasicOAActionException(
+ LanguageHelper.getErrorString("errors.edit.oa.oaid", request),
+ Constants.STRUTS_ERROR);
+ }
+
+ } catch (Throwable t) {
+ throw new BasicOAActionException(
+ LanguageHelper.getErrorString("errors.edit.oa.oaid", request),
+ Constants.STRUTS_ERROR);
+ }
+ }
+
+ return oaid;
+ }
+
protected String preProcessDeleteOnlineApplication() throws BasicOAActionException {
try {
Object formidobj = session.getAttribute(Constants.SESSION_FORMID);