diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-27 17:23:45 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-27 17:23:45 +0000 |
| commit | 97a3a4f07cdc8437f73f4270b237e85c7739a6be (patch) | |
| tree | 32154e63775f1fa145d176301840e3150b8eb001 /sources/events | |
| parent | 39e9eb74c011ee5351ac1796e5df529a70aa8945 (diff) | |
client and server variables are now separate in the editor.
Diffstat (limited to 'sources/events')
| -rw-r--r-- | sources/events/VSAbstractEvent.java | 18 | ||||
| -rw-r--r-- | sources/events/VSRegisteredEvents.java | 72 | ||||
| -rw-r--r-- | sources/events/implementations/ProcessCrashEvent.java | 2 | ||||
| -rw-r--r-- | sources/events/implementations/ProcessRecoverEvent.java | 2 | ||||
| -rw-r--r-- | sources/events/internal/MessageReceiveEvent.java | 2 | ||||
| -rw-r--r-- | sources/events/internal/ProtocolEvent.java | 2 | ||||
| -rw-r--r-- | sources/events/internal/ProtocolScheduleEvent.java | 2 |
7 files changed, 76 insertions, 24 deletions
diff --git a/sources/events/VSAbstractEvent.java b/sources/events/VSAbstractEvent.java index 9562233..27be457 100644 --- a/sources/events/VSAbstractEvent.java +++ b/sources/events/VSAbstractEvent.java @@ -14,10 +14,10 @@ abstract public class VSAbstractEvent extends VSPrefs { private static final long serialVersionUID = 1L; /** The prefs. */ - protected VSPrefs prefs; + public VSPrefs prefs; /** The process. */ - protected VSProcess process; + public VSProcess process; /** The event shortname. */ private String eventShortname; @@ -26,7 +26,7 @@ abstract public class VSAbstractEvent extends VSPrefs { private String eventClassname; /** - * Inits the. + * Inits the event. * * @param process the process */ @@ -34,6 +34,14 @@ abstract public class VSAbstractEvent extends VSPrefs { this.process = process; this.prefs = process.getPrefs(); + init(); + } + + /** + * Inits the event. + * + */ + public void init() { onInit(); } @@ -42,7 +50,7 @@ abstract public class VSAbstractEvent extends VSPrefs { * * @param eventClassname the new classname */ - protected final void setClassname(String eventClassname) { + public final void setClassname(String eventClassname) { if (eventClassname.startsWith("class ")) eventClassname = eventClassname.substring(6); @@ -120,7 +128,7 @@ abstract public class VSAbstractEvent extends VSPrefs { /** * On init. */ - abstract protected void onInit(); + abstract public void onInit(); /** * On start. diff --git a/sources/events/VSRegisteredEvents.java b/sources/events/VSRegisteredEvents.java index 81b68dc..997cc19 100644 --- a/sources/events/VSRegisteredEvents.java +++ b/sources/events/VSRegisteredEvents.java @@ -17,16 +17,26 @@ public final class VSRegisteredEvents { private static final long serialVersionUID = 1L; /** The event classnames. */ - private static HashMap<String,String> eventClassnames; + private static HashMap<String,String> eventClassnames = + new HashMap<String,String>(); /** The event shortnames. */ - private static HashMap<String,String> eventShortnames; + private static HashMap<String,String> eventShortnames = + new HashMap<String,String>(); /** The event names. */ - private static HashMap<String,String> eventNames; + private static HashMap<String,String> eventNames = + new HashMap<String,String>(); /** The editable protocols classnames. */ - private static ArrayList<String> editableProtocolsClassnames; + private static ArrayList<String> editableProtocolsClassnames = + new ArrayList<String>(); + + private static HashMap<String,ArrayList<String>> clientVariables = + new HashMap<String,ArrayList<String>>(); + + private static HashMap<String,ArrayList<String>> serverVariables = + new HashMap<String,ArrayList<String>>(); /** The prefs. */ private static VSPrefs prefs; @@ -38,10 +48,6 @@ public final class VSRegisteredEvents { */ public static void init(VSPrefs prefs_) { prefs = prefs_; - eventNames = new HashMap<String, String>(); - eventShortnames = new HashMap<String, String>(); - eventClassnames = new HashMap<String, String>(); - editableProtocolsClassnames = new ArrayList<String>(); registerEvent("events.implementations.ProcessCrashEvent", "Prozessabsturz", null); registerEvent("events.implementations.ProcessRecoverEvent", "Prozesswiederbelebung", null); @@ -57,16 +63,36 @@ public final class VSRegisteredEvents { /* Make dummy objects of each protocol, to see if they contain VSPrefs values to edit */ Vector<String> protocolClassnames = getProtocolClassnames(); VSClassLoader classLoader = new VSClassLoader(); + for (String protocolClassname : protocolClassnames) { - Object object = classLoader.newInstance(protocolClassname); - if (object instanceof protocols.VSAbstractProtocol) { - protocols.VSAbstractProtocol protocol = (protocols.VSAbstractProtocol) object; - if (!protocol.isEmpty()) + Object serverObject = classLoader.newInstance(protocolClassname); + Object clientObject = classLoader.newInstance(protocolClassname); + + if (clientObject instanceof protocols.VSAbstractProtocol && + serverObject instanceof protocols.VSAbstractProtocol) { + + protocols.VSAbstractProtocol serverProtocol = (protocols.VSAbstractProtocol) serverObject; + protocols.VSAbstractProtocol clientProtocol = (protocols.VSAbstractProtocol) clientObject; + + serverProtocol.onServerInit(); + clientProtocol.onClientInit(); + + if (!serverProtocol.isEmpty() || !clientProtocol.isEmpty()) editableProtocolsClassnames.add(protocolClassname); + + if (!serverProtocol.isEmpty()) { + ArrayList<String> variables = new ArrayList<String>(); + variables.addAll(serverProtocol.getAllFullKeys()); + serverVariables.put(protocolClassname, variables); + } + + if (!clientProtocol.isEmpty()) { + ArrayList<String> variables = new ArrayList<String>(); + variables.addAll(clientProtocol.getAllFullKeys()); + clientVariables.put(protocolClassname, variables); + } } } - - //Collections.sort(editableProtocolsClassnames); } /** @@ -79,6 +105,24 @@ public final class VSRegisteredEvents { } /** + * Gets the protocols server variable names + * + * @return The variable names + */ + public static ArrayList<String> getProtocolServerVariables(String protocolClassname) { + return serverVariables.get(protocolClassname); + } + + /** + * Gets the protocols server variable names + * + * @return The variable names + */ + public static ArrayList<String> getProtocolClientVariables(String protocolClassname) { + return clientVariables.get(protocolClassname); + } + + /** * Gets the protocol names. * * @return the protocol names diff --git a/sources/events/implementations/ProcessCrashEvent.java b/sources/events/implementations/ProcessCrashEvent.java index 873debc..d0db00e 100644 --- a/sources/events/implementations/ProcessCrashEvent.java +++ b/sources/events/implementations/ProcessCrashEvent.java @@ -14,7 +14,7 @@ public class ProcessCrashEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onInit() */ - protected void onInit() { + public void onInit() { setClassname(getClass().toString()); } diff --git a/sources/events/implementations/ProcessRecoverEvent.java b/sources/events/implementations/ProcessRecoverEvent.java index 9d85f13..6ba4276 100644 --- a/sources/events/implementations/ProcessRecoverEvent.java +++ b/sources/events/implementations/ProcessRecoverEvent.java @@ -15,7 +15,7 @@ public class ProcessRecoverEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onInit() */ - protected void onInit() { + public void onInit() { setClassname(getClass().toString()); } diff --git a/sources/events/internal/MessageReceiveEvent.java b/sources/events/internal/MessageReceiveEvent.java index f86b05f..60538df 100644 --- a/sources/events/internal/MessageReceiveEvent.java +++ b/sources/events/internal/MessageReceiveEvent.java @@ -29,7 +29,7 @@ public class MessageReceiveEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onInit() */ - protected void onInit() { + public void onInit() { setClassname(getClass().toString()); } diff --git a/sources/events/internal/ProtocolEvent.java b/sources/events/internal/ProtocolEvent.java index 7001394..108bfb8 100644 --- a/sources/events/internal/ProtocolEvent.java +++ b/sources/events/internal/ProtocolEvent.java @@ -25,7 +25,7 @@ public class ProtocolEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onInit() */ - protected void onInit() { + public void onInit() { setClassname(getClass().toString()); } diff --git a/sources/events/internal/ProtocolScheduleEvent.java b/sources/events/internal/ProtocolScheduleEvent.java index 12fbd7b..bbb776c 100644 --- a/sources/events/internal/ProtocolScheduleEvent.java +++ b/sources/events/internal/ProtocolScheduleEvent.java @@ -33,7 +33,7 @@ public class ProtocolScheduleEvent extends VSAbstractEvent { /* (non-Javadoc) * @see events.VSAbstractEvent#onInit() */ - protected void onInit() { + public void onInit() { setClassname(getClass().toString()); } |
