diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-27 18:04:53 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-27 18:04:53 +0000 |
| commit | ce4b28ff4047fa50974c3c3d2e370db60a2b3553 (patch) | |
| tree | aaea8717a26d504f14f54b389a379a8b02b88199 /sources/events | |
| parent | 97a3a4f07cdc8437f73f4270b237e85c7739a6be (diff) | |
Pull down menu now sorted by protocol's shortnames
Diffstat (limited to 'sources/events')
| -rw-r--r-- | sources/events/VSAbstractEvent.java | 4 | ||||
| -rw-r--r-- | sources/events/VSRegisteredEvents.java | 68 | ||||
| -rw-r--r-- | sources/events/internal/ProtocolEvent.java | 2 |
3 files changed, 46 insertions, 28 deletions
diff --git a/sources/events/VSAbstractEvent.java b/sources/events/VSAbstractEvent.java index 27be457..22fb81c 100644 --- a/sources/events/VSAbstractEvent.java +++ b/sources/events/VSAbstractEvent.java @@ -72,7 +72,7 @@ abstract public class VSAbstractEvent extends VSPrefs { * @return the name */ public String getName() { - return VSRegisteredEvents.getName(eventClassname); + return VSRegisteredEvents.getNameByClassname(eventClassname); } /** @@ -91,7 +91,7 @@ abstract public class VSAbstractEvent extends VSPrefs { */ public String getShortname() { if (eventShortname == null) - return VSRegisteredEvents.getShortname(eventClassname); + return VSRegisteredEvents.getShortnameByClassname(eventClassname); return eventShortname; } diff --git a/sources/events/VSRegisteredEvents.java b/sources/events/VSRegisteredEvents.java index 997cc19..52cb042 100644 --- a/sources/events/VSRegisteredEvents.java +++ b/sources/events/VSRegisteredEvents.java @@ -16,16 +16,20 @@ import utils.*; public final class VSRegisteredEvents { private static final long serialVersionUID = 1L; - /** The event classnames. */ - private static HashMap<String,String> eventClassnames = + /** The event classnames by eventnames. */ + private static HashMap<String,String> eventClassnamesByNames = new HashMap<String,String>(); - /** The event shortnames. */ - private static HashMap<String,String> eventShortnames = + /** The event shortnames by classnames. */ + private static HashMap<String,String> eventShortnamesByClassnames = new HashMap<String,String>(); - /** The event names. */ - private static HashMap<String,String> eventNames = + /** The event names by classnames. */ + private static HashMap<String,String> eventNamesByClassnames = + new HashMap<String,String>(); + + /** The event classnames by shortnames. */ + private static HashMap<String,String> eventClassnamesByShortnames = new HashMap<String,String>(); /** The editable protocols classnames. */ @@ -128,11 +132,11 @@ public final class VSRegisteredEvents { * @return the protocol names */ public static Vector<String> getProtocolNames() { - Set<String> set = eventClassnames.keySet(); + Set<String> set = eventClassnamesByNames.keySet(); Vector<String> vector = new Vector<String>(); for (String eventName : set) - if (getClassname(eventName).startsWith("protocols.implementations")) + if (getClassnameByEventname(eventName).startsWith("protocols.implementations")) vector.add(eventName); Collections.sort(vector); @@ -146,14 +150,16 @@ public final class VSRegisteredEvents { * @return the protocol classnames */ public static Vector<String> getProtocolClassnames() { - Set<String> set = eventNames.keySet(); + ArrayList<String> shortnames = new ArrayList<String>(); + shortnames.addAll(eventClassnamesByShortnames.keySet()); + Collections.sort(shortnames); Vector<String> vector = new Vector<String>(); - for (String eventClassname : set) + for (String eventShortname : shortnames) { + String eventClassname = getClassnameByShortname(eventShortname); if (eventClassname.startsWith("protocols.implementations")) vector.add(eventClassname); - - Collections.sort(vector); + } return vector; } @@ -164,11 +170,11 @@ public final class VSRegisteredEvents { * @return the non protocol names */ public static Vector<String> getNonProtocolNames() { - Set<String> set = eventClassnames.keySet(); + Set<String> set = eventClassnamesByNames.keySet(); Vector<String> vector = new Vector<String>(); for (String eventName : set) - if (getClassname(eventName).startsWith("events.implementations")) + if (getClassnameByEventname(eventName).startsWith("events.implementations")) vector.add(eventName); Collections.sort(vector); @@ -182,7 +188,7 @@ public final class VSRegisteredEvents { * @return the non protocol classnames */ public static Vector<String> getNonProtocolClassnames() { - Set<String> set = eventNames.keySet(); + Set<String> set = eventNamesByClassnames.keySet(); Vector<String> vector = new Vector<String>(); for (String eventClassname : set) @@ -201,8 +207,8 @@ public final class VSRegisteredEvents { * * @return the classname */ - public static String getClassname(String eventName) { - return eventClassnames.get(eventName); + public static String getClassnameByEventname(String eventName) { + return eventClassnamesByNames.get(eventName); } /** @@ -212,8 +218,8 @@ public final class VSRegisteredEvents { * * @return the name */ - public static String getName(String eventClassname) { - return eventNames.get(eventClassname); + public static String getNameByClassname(String eventClassname) { + return eventNamesByClassnames.get(eventClassname); } /** @@ -223,8 +229,19 @@ public final class VSRegisteredEvents { * * @return the shortname */ - public static String getShortname(String eventClassname) { - return eventShortnames.get(eventClassname); + public static String getShortnameByClassname(String eventClassname) { + return eventShortnamesByClassnames.get(eventClassname); + } + + /** + * Gets the classname. + * + * @param eventShortname the event shortname + * + * @return the shortname + */ + public static String getClassnameByShortname(String eventShortname) { + return eventClassnamesByShortnames.get(eventShortname); } /** @@ -256,7 +273,7 @@ public final class VSRegisteredEvents { * @return the lang.process.removeevent */ public static VSAbstractEvent createEventInstanceByName(String eventName, VSProcess process) { - return createEventInstanceByClassname(eventClassnames.get(eventName), process); + return createEventInstanceByClassname(eventClassnamesByNames.get(eventName), process); } /** @@ -270,8 +287,9 @@ public final class VSRegisteredEvents { if (eventShortname == null) eventShortname = eventName; - eventNames.put(eventClassname, eventName); - eventShortnames.put(eventClassname, eventShortname); - eventClassnames.put(eventName, eventClassname); + eventNamesByClassnames.put(eventClassname, eventName); + eventShortnamesByClassnames.put(eventClassname, eventShortname); + eventClassnamesByNames.put(eventName, eventClassname); + eventClassnamesByShortnames.put(eventShortname, eventClassname); } } diff --git a/sources/events/internal/ProtocolEvent.java b/sources/events/internal/ProtocolEvent.java index 108bfb8..4b9adc3 100644 --- a/sources/events/internal/ProtocolEvent.java +++ b/sources/events/internal/ProtocolEvent.java @@ -87,7 +87,7 @@ public class ProtocolEvent extends VSAbstractEvent { protocol.isServer(isProtocolActivation); StringBuffer buffer = new StringBuffer(); - buffer.append(VSRegisteredEvents.getShortname(protocolClassname)); + buffer.append(VSRegisteredEvents.getShortnameByClassname(protocolClassname)); buffer.append(" "); buffer.append(isClientProtocol ? prefs.getString("lang.client") : prefs.getString("lang.server")); |
