From 34595bc248660a6cd9c51f2b7a18ed33ae31cce4 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 18 May 2008 04:21:44 +0000 Subject: Some cleanup in the VSDefaultPrefs. Initial ProtocolEvent, which is for protocol activation/deactivation --- sources/protocols/VSRegisteredProtocols.java | 52 +++++++++++++++------------- 1 file changed, 28 insertions(+), 24 deletions(-) (limited to 'sources/protocols/VSRegisteredProtocols.java') diff --git a/sources/protocols/VSRegisteredProtocols.java b/sources/protocols/VSRegisteredProtocols.java index d3bcc20..d58385b 100644 --- a/sources/protocols/VSRegisteredProtocols.java +++ b/sources/protocols/VSRegisteredProtocols.java @@ -8,20 +8,22 @@ import utils.*; public final class VSRegisteredProtocols { private static HashMap protocolClassnames; + private static HashMap protocolShortnames; private static HashMap protocolNames; private static VSPrefs prefs; public static void init(VSPrefs prefs_) { prefs = prefs_; protocolNames = new HashMap(); + protocolShortnames = new HashMap(); protocolClassnames = new HashMap(); - registerProtocol("protocols.implementations.DummyProtocol"); - registerProtocol("protocols.implementations.PingPongProtocol"); - registerProtocol("protocols.implementations.ExternalTimeSyncProtocol"); - registerProtocol("protocols.implementations.InternalTimeSyncProtocol"); - registerProtocol("protocols.implementations.BroadcastSturmProtocol"); - registerProtocol("protocols.implementations.BerkelyTimeProtocol"); + registerProtocol("protocols.implementations.BerkelyTimeProtocol", "Berkeley Algorithmus zur internen Sync.", "Berkeley"); + registerProtocol("protocols.implementations.BroadcastSturmProtocol", "Broadcaststurm", null); + registerProtocol("protocols.implementations.DummyProtocol", "Beispiel/Dummy", null); + registerProtocol("protocols.implementations.ExternalTimeSyncProtocol", "Christians Methode zur externen Sync.", "Christians"); + registerProtocol("protocols.implementations.InternalTimeSyncProtocol", "Interne Synchronisation", "Interne Sync."); + registerProtocol("protocols.implementations.PingPongProtocol", "Ping Pong", null); } public static Vector getProtocolNames() { @@ -36,6 +38,18 @@ public final class VSRegisteredProtocols { return vector; } + public static Vector getProtocolClassnames() { + Set set = protocolNames.keySet(); + Vector vector = new Vector(); + + for (String protocolClassname : set) + vector.add(protocolClassname); + + Collections.sort(vector); + + return vector; + } + public static String getProtocolClassname(String protocolName) { return protocolClassnames.get(protocolName); } @@ -44,6 +58,10 @@ public final class VSRegisteredProtocols { return protocolNames.get(protocolClassname); } + public static String getProtocolShortname(String protocolClassname) { + return protocolShortnames.get(protocolClassname); + } + public static VSProtocol getProtocolInstanceByName(String protocolName, VSProcess process) { final String protocolClassname = protocolClassnames.get(protocolName); final Object protocolObj = new VSClassLoader().newInstance(protocolClassname); @@ -57,26 +75,12 @@ public final class VSRegisteredProtocols { return null; } - public static void registerProtocol(String protocolClassname) { - int index = protocolClassname.lastIndexOf('.'); - - if (index < 0) { - protocolNames.put(protocolClassname, protocolClassname); - protocolClassnames.put(protocolClassname, protocolClassname); - return; - } - - String protocolName = protocolClassname.substring(index + 1); - index = protocolName.lastIndexOf("Protocol"); - - if (index < 0 || index != protocolName.length() - 8) { - protocolNames.put(protocolClassname, protocolName); - protocolClassnames.put(protocolName, protocolClassname); - return; - } + private static void registerProtocol(String protocolClassname, String protocolName, String protocolShortname) { + if (protocolShortname == null) + protocolShortname = protocolName; - protocolName = protocolName.substring(0, index); protocolNames.put(protocolClassname, protocolName); + protocolShortnames.put(protocolClassname, protocolShortname); protocolClassnames.put(protocolName, protocolClassname); } } -- cgit v1.2.3