From e833d0f16ba50ead4a72c1afebd08aad5bb50e35 Mon Sep 17 00:00:00 2001
From: Thomas Lenz <tlenz@iaik.tugraz.at>
Date: Mon, 31 Aug 2015 15:27:47 +0200
Subject: fix problem with configuration GUI and interfederation configurations

---
 .../moa/id/configuration/struts/action/BasicOAAction.java | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

(limited to 'id/ConfigWebTool')

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 45674a283..e092d9e13 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
@@ -489,6 +489,21 @@ public class BasicOAAction extends BasicAction {
 				log.debug("Find new hjID: " + hjID + " for service: " + oa.getPublicURLPrefix());
 				oa.setHjid(Long.valueOf(hjID));
 				
+			} else {
+				//TODO: work-around for old config tool and new key/value configuration
+				//see: NewConfigurationDBRead.java Line 81
+				if (oa.getHjid() > 1000000) {
+					if (serviceIdentifier.equals(MOAIDConfigurationConstants.PREFIX_GATEWAY))						
+						oa.setHjid(oa.getHjid() - 1000000);
+					else if (serviceIdentifier.equals(MOAIDConfigurationConstants.PREFIX_IIDP))
+						oa.setHjid(oa.getHjid() - 2000000);
+					else if (serviceIdentifier.equals(MOAIDConfigurationConstants.PREFIX_VIDP))
+						oa.setHjid(oa.getHjid() - 3000000);
+					else
+						log.warn("Inconsistent state found! Service Identifier for OA found but Hjid is > 1000000.");
+					
+				}
+				
 			}
 			
 			Map<String, String> absolutKeyValue = KeyValueUtils.makeKeysAbsolut(
-- 
cgit v1.2.3