summaryrefslogtreecommitdiffstats
path: root/base/server/cmscore
diff options
context:
space:
mode:
authorFraser Tweedale <ftweedal@redhat.com>2015-04-22 21:47:51 -0400
committerFraser Tweedale <ftweedal@redhat.com>2015-04-23 12:00:11 +1000
commit97e860895831ba84f66d776d6a324abcbcc53c11 (patch)
treeadde179c51c0c2fad5e368dad9be3ff93fcd11e5 /base/server/cmscore
parent4edd5664cefae2022782a3734db11accbfa16b3a (diff)
downloadpki-97e860895831ba84f66d776d6a324abcbcc53c11.tar.gz
pki-97e860895831ba84f66d776d6a324abcbcc53c11.tar.xz
pki-97e860895831ba84f66d776d6a324abcbcc53c11.zip
Enumerate profiles in order of discovery
Recent change (d83f688) changed the order of profile enumeration. Track profiles using a LinkedHashMap to restore old behaviour where profiles were enumerated in the order they were discovered.
Diffstat (limited to 'base/server/cmscore')
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/profile/AbstractProfileSubsystem.java6
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/profile/LDAPProfileSubsystem.java3
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/profile/ProfileSubsystem.java3
3 files changed, 8 insertions, 4 deletions
diff --git a/base/server/cmscore/src/com/netscape/cmscore/profile/AbstractProfileSubsystem.java b/base/server/cmscore/src/com/netscape/cmscore/profile/AbstractProfileSubsystem.java
index 8125dfac9..238816ff0 100644
--- a/base/server/cmscore/src/com/netscape/cmscore/profile/AbstractProfileSubsystem.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/profile/AbstractProfileSubsystem.java
@@ -17,8 +17,10 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cmscore.profile;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.LinkedHashMap;
import java.util.Vector;
import com.netscape.certsrv.base.EBaseException;
@@ -35,7 +37,7 @@ public abstract class AbstractProfileSubsystem implements IProfileSubsystem {
protected IConfigStore mConfig = null;
protected ISubsystem mOwner;
- protected Hashtable<String, IProfile> mProfiles;
+ protected LinkedHashMap<String, IProfile> mProfiles;
protected Hashtable<String, String> mProfileClassIds;
/**
@@ -131,7 +133,7 @@ public abstract class AbstractProfileSubsystem implements IProfileSubsystem {
* list is of type String.
*/
public Enumeration<String> getProfileIds() {
- return mProfiles.keys();
+ return Collections.enumeration(mProfiles.keySet());
}
/**
diff --git a/base/server/cmscore/src/com/netscape/cmscore/profile/LDAPProfileSubsystem.java b/base/server/cmscore/src/com/netscape/cmscore/profile/LDAPProfileSubsystem.java
index 0c390be58..a7974430f 100644
--- a/base/server/cmscore/src/com/netscape/cmscore/profile/LDAPProfileSubsystem.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/profile/LDAPProfileSubsystem.java
@@ -23,6 +23,7 @@ import java.io.InputStream;
import java.lang.Thread;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.LinkedHashMap;
import java.util.Vector;
import netscape.ldap.LDAPAttribute;
@@ -73,7 +74,7 @@ public class LDAPProfileSubsystem
CMS.debug("LDAPProfileSubsystem: start init");
// (re)init member collections
- mProfiles = new Hashtable<String, IProfile>();
+ mProfiles = new LinkedHashMap<String, IProfile>();
mProfileClassIds = new Hashtable<String, String>();
IConfigStore cs = CMS.getConfigStore();
diff --git a/base/server/cmscore/src/com/netscape/cmscore/profile/ProfileSubsystem.java b/base/server/cmscore/src/com/netscape/cmscore/profile/ProfileSubsystem.java
index b2b4b30f2..10bc50cda 100644
--- a/base/server/cmscore/src/com/netscape/cmscore/profile/ProfileSubsystem.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/profile/ProfileSubsystem.java
@@ -20,6 +20,7 @@ package com.netscape.cmscore.profile;
import java.io.File;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.LinkedHashMap;
import java.util.StringTokenizer;
import java.util.Vector;
@@ -55,7 +56,7 @@ public class ProfileSubsystem
IPluginRegistry registry = (IPluginRegistry)
CMS.getSubsystem(CMS.SUBSYSTEM_REGISTRY);
- mProfiles = new Hashtable<String, IProfile>();
+ mProfiles = new LinkedHashMap<String, IProfile>();
mProfileClassIds = new Hashtable<String, String>();
mConfig = config;