From 97e860895831ba84f66d776d6a324abcbcc53c11 Mon Sep 17 00:00:00 2001 From: Fraser Tweedale Date: Wed, 22 Apr 2015 21:47:51 -0400 Subject: 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. --- .../src/com/netscape/cmscore/profile/AbstractProfileSubsystem.java | 6 ++++-- .../src/com/netscape/cmscore/profile/LDAPProfileSubsystem.java | 3 ++- .../cmscore/src/com/netscape/cmscore/profile/ProfileSubsystem.java | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'base/server/cmscore/src') 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 mProfiles; + protected LinkedHashMap mProfiles; protected Hashtable mProfileClassIds; /** @@ -131,7 +133,7 @@ public abstract class AbstractProfileSubsystem implements IProfileSubsystem { * list is of type String. */ public Enumeration 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(); + mProfiles = new LinkedHashMap(); mProfileClassIds = new Hashtable(); 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(); + mProfiles = new LinkedHashMap(); mProfileClassIds = new Hashtable(); mConfig = config; -- cgit