summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/core/VSMessage.java8
-rw-r--r--sources/core/VSTask.java6
-rw-r--r--sources/events/VSEvent.java16
-rw-r--r--sources/events/VSRegisteredEvents.java14
-rw-r--r--sources/events/implementations/ProtocolEvent.java31
-rw-r--r--sources/prefs/VSDefaultPrefs.java3
-rw-r--r--sources/prefs/VSPrefs.java148
-rw-r--r--sources/protocols/VSProtocol.java2
-rw-r--r--sources/simulator/VSSimulation.java85
9 files changed, 199 insertions, 114 deletions
diff --git a/sources/core/VSMessage.java b/sources/core/VSMessage.java
index 7362284..7e822b3 100644
--- a/sources/core/VSMessage.java
+++ b/sources/core/VSMessage.java
@@ -6,15 +6,15 @@ import prefs.VSPrefs;
import protocols.*;
public class VSMessage extends VSEvent {
- private String eventClassname;
+ private String protocolClassname;
private VSProcess sendingProcess;
private long messageID;
private static long messageCounter;
private long lamportTime;
private VSVectorTime vectorTime;
- public VSMessage(String eventClassname) {
- this.eventClassname = eventClassname;
+ public VSMessage(String protocolClassname) {
+ this.protocolClassname = protocolClassname;
this.messageID = ++messageCounter;
}
@@ -29,7 +29,7 @@ public class VSMessage extends VSEvent {
}
public String getProtocolClassname() {
- return eventClassname;
+ return protocolClassname;
}
public long getMessageID() {
diff --git a/sources/core/VSTask.java b/sources/core/VSTask.java
index 503d57e..3869e7c 100644
--- a/sources/core/VSTask.java
+++ b/sources/core/VSTask.java
@@ -95,15 +95,15 @@ public class VSTask implements Comparable {
private void onMessageRecv() {
final VSMessage message = (VSMessage) event;
final String eventName = message.getName();
- final String eventClassname = message.getProtocolClassname();
+ final String protocolClassname = message.getProtocolClassname();
process.updateLamportTime(message.getLamportTime()+1);
process.updateVectorTime(message.getVectorTime());
Object protocolObj;
- if (process.objectExists(eventClassname))
- protocolObj = process.getObject(eventClassname);
+ if (process.objectExists(protocolClassname))
+ protocolObj = process.getObject(protocolClassname);
else
protocolObj = null;
diff --git a/sources/events/VSEvent.java b/sources/events/VSEvent.java
index 130d1f5..bfb677d 100644
--- a/sources/events/VSEvent.java
+++ b/sources/events/VSEvent.java
@@ -6,6 +6,7 @@ import prefs.VSPrefs;
abstract public class VSEvent extends VSPrefs {
protected VSPrefs prefs;
protected VSProcess process;
+ private String eventShortname;
private String eventClassname;
public void init(VSProcess process) {
@@ -22,7 +23,7 @@ abstract public class VSEvent extends VSPrefs {
this.eventClassname = eventClassname;
}
- public final String getClassname() {
+ public String getClassname() {
return eventClassname;
}
@@ -30,11 +31,18 @@ abstract public class VSEvent extends VSPrefs {
return VSRegisteredEvents.getName(eventClassname);
}
- public final String getShortname() {
- return VSRegisteredEvents.getShortname(eventClassname);
+ public void setShortname(String eventShortname) {
+ this.eventShortname = eventShortname;
}
- public final VSProcess getProcess() {
+ public String getShortname() {
+ if (eventShortname == null)
+ return VSRegisteredEvents.getShortname(eventClassname);
+
+ return eventShortname;
+ }
+
+ public VSProcess getProcess() {
return process;
}
diff --git a/sources/events/VSRegisteredEvents.java b/sources/events/VSRegisteredEvents.java
index 5f73fea..cd375cd 100644
--- a/sources/events/VSRegisteredEvents.java
+++ b/sources/events/VSRegisteredEvents.java
@@ -59,7 +59,7 @@ public final class VSRegisteredEvents {
Vector<String> vector = new Vector<String>();
for (String eventName : set)
- if (!getClassname(eventName).startsWith("protocols"))
+ if (getClassname(eventName).startsWith("events"))
vector.add(eventName);
Collections.sort(vector);
@@ -72,7 +72,7 @@ public final class VSRegisteredEvents {
Vector<String> vector = new Vector<String>();
for (String eventClassname : set)
- if (!eventClassname.startsWith("protocols"))
+ if (eventClassname.startsWith("events"))
vector.add(eventClassname);
Collections.sort(vector);
@@ -93,11 +93,6 @@ public final class VSRegisteredEvents {
}
public static VSEvent createEventInstanceByClassname(String eventClassname, VSProcess process) {
- return createEventInstanceByName(getName(eventClassname), process);
- }
-
- public static VSEvent createEventInstanceByName(String eventName, VSProcess process) {
- final String eventClassname = eventClassnames.get(eventName);
final Object protocolObj = new VSClassLoader().newInstance(eventClassname);
if (protocolObj instanceof VSEvent) {
@@ -109,10 +104,15 @@ public final class VSRegisteredEvents {
return null;
}
+ public static VSEvent createEventInstanceByName(String eventName, VSProcess process) {
+ return createEventInstanceByClassname(eventClassnames.get(eventName), process);
+ }
+
private static void registerEvent(String eventClassname, String eventName, String eventShortname) {
if (eventShortname == null)
eventShortname = eventName;
+ //System.out.println(eventClassname);
eventNames.put(eventClassname, eventName);
eventShortnames.put(eventClassname, eventShortname);
eventClassnames.put(eventName, eventClassname);
diff --git a/sources/events/implementations/ProtocolEvent.java b/sources/events/implementations/ProtocolEvent.java
index 096e9b6..d753978 100644
--- a/sources/events/implementations/ProtocolEvent.java
+++ b/sources/events/implementations/ProtocolEvent.java
@@ -2,9 +2,10 @@ package events.implementations;
import core.VSProcess;
import events.*;
+import protocols.VSProtocol;
public class ProtocolEvent extends VSEvent {
- private String eventClassname;
+ private String protocolClassname;
private boolean isClientProtocol; /* true = client, false = server */
private boolean isProtocolActivation; /* true = activate, false = deactivate */
@@ -28,24 +29,38 @@ public class ProtocolEvent extends VSEvent {
return isProtocolActivation;
}
- public void setEventClassname(String eventClassname) {
- this.eventClassname = eventClassname;
+ public void setProtocolClassname(String protocolClassname) {
+ this.protocolClassname = protocolClassname;
}
public void onStart() {
- String type = isClientProtocol ? "client" : "server";
- String name = VSRegisteredEvents.getName(eventClassname);
- process.setBoolean("sim."+name.toLowerCase()+"."+type+".enabled!", isProtocolActivation);
+ //String type = isClientProtocol ? " Client!" : " Server!";
+ //process.setBoolean(protocolClassname + type, isProtocolActivation);
+
+ VSProtocol protocol;
+
+ if (!process.objectExists(protocolClassname)) {
+ protocol = (VSProtocol) VSRegisteredEvents.createEventInstanceByClassname(protocolClassname, process);
+ process.setObject(protocolClassname, protocol);
+
+ } else {
+ protocol = (VSProtocol) process.getObject(protocolClassname);
+ }
+
+ if (isClientProtocol)
+ protocol.isClient(isProtocolActivation);
+
+ else
+ protocol.isServer(isProtocolActivation);
StringBuffer buffer = new StringBuffer();
- buffer.append(VSRegisteredEvents.getShortname(eventClassname));
+ buffer.append(VSRegisteredEvents.getShortname(protocolClassname));
buffer.append(" ");
buffer.append(isClientProtocol
? prefs.getString("lang.client") : prefs.getString("lang.server"));
buffer.append(" ");
buffer.append(isProtocolActivation
? prefs.getString("lang.activated") : prefs.getString("lang.deactivated"));
-
logg(buffer.toString());
}
}
diff --git a/sources/prefs/VSDefaultPrefs.java b/sources/prefs/VSDefaultPrefs.java
index 42c429e..55e9fda 100644
--- a/sources/prefs/VSDefaultPrefs.java
+++ b/sources/prefs/VSDefaultPrefs.java
@@ -43,7 +43,8 @@ public class VSDefaultPrefs extends VSPrefs {
initString("lang.about", "About");
initString("lang.about.info!", "Dieses Programm wurde von Paul Bütow im Rahmen der Diplomarbeit bei Prof. Dr.-Ing. Oßmann erstellt. Dieses Programm stellt noch keinesfalls eine fertige Version dar, da es sich noch in Entwicklung befindet und die Diplomarbeit erst mitte August abgeschlossen sein wird! Bei Fehlern bitte eine kurze Mail mitsamt Fehlerbeschreibung an paul@buetow.org schicken! Dieser Simulator wird später außerdem unter einer open source Linzenz (wahrscheinlich der GNU General Public License) freigegeben!");
initString("lang.activate", "aktivieren");
- initString("lang.activated", "Aktiviert");
+ initString("lang.activated", "aktiviert");
+ initString("lang.deactivated", "deaktiviert");
initString("lang.actualize", "Aktualisieren");
initString("lang.cancel", "Abbrechen");
initString("lang.client", "Client");
diff --git a/sources/prefs/VSPrefs.java b/sources/prefs/VSPrefs.java
index be9aea6..6af0156 100644
--- a/sources/prefs/VSPrefs.java
+++ b/sources/prefs/VSPrefs.java
@@ -12,15 +12,15 @@ public abstract class VSPrefs implements Serializable {
public static final String INTEGER_PREFIX = "Integer: ";
public static final String LONG_PREFIX = "Long: ";
public static final String STRING_PREFIX = "String: ";
- private HashMap<String,Color> colorVSPrefs;
- private HashMap<String,Float> floatVSPrefs;
- private HashMap<String,Integer> integerVSPrefs;
- private HashMap<String,Long> longVSPrefs;
+ private HashMap<String,Color> colorPrefs;
+ private HashMap<String,Float> floatPrefs;
+ private HashMap<String,Integer> integerPrefs;
+ private HashMap<String,Long> longPrefs;
private HashMap<String,SettingRestriction> settingRestrictionPrefs;
private HashMap<String,String> descriptionPrefs;
- private HashMap<String,String> stringVSPrefs;
- private HashMap<String,Boolean> booleanVSPrefs;
- private HashMap<String,Object> objectVSPrefs;
+ private HashMap<String,String> stringPrefs;
+ private HashMap<String,Boolean> booleanPrefs;
+ private HashMap<String,Object> objectPrefs;
private HashMap<String,String> units;
private static final long serialVersionUID = 4L;
protected final static String PREFERENCES_FILENAME = "vs.dat";
@@ -64,33 +64,33 @@ public abstract class VSPrefs implements Serializable {
}
public VSPrefs() {
- colorVSPrefs = new HashMap<String,Color>();
+ colorPrefs = new HashMap<String,Color>();
descriptionPrefs = new HashMap<String,String>();
- floatVSPrefs = new HashMap<String,Float>();
- integerVSPrefs = new HashMap<String,Integer>();
- longVSPrefs = new HashMap<String,Long>();
+ floatPrefs = new HashMap<String,Float>();
+ integerPrefs = new HashMap<String,Integer>();
+ longPrefs = new HashMap<String,Long>();
settingRestrictionPrefs = new HashMap<String,SettingRestriction>();
- stringVSPrefs = new HashMap<String,String>();
- booleanVSPrefs = new HashMap<String,Boolean>();
- objectVSPrefs = new HashMap<String,Object>();
+ stringPrefs = new HashMap<String,String>();
+ booleanPrefs = new HashMap<String,Boolean>();
+ objectPrefs = new HashMap<String,Object>();
units = new HashMap<String,String>();
id = ++idCounter;
}
protected synchronized void clear() {
- colorVSPrefs.clear();
- floatVSPrefs.clear();
- integerVSPrefs.clear();
- longVSPrefs.clear();
- stringVSPrefs.clear();
- booleanVSPrefs.clear();
- objectVSPrefs.clear();
+ colorPrefs.clear();
+ floatPrefs.clear();
+ integerPrefs.clear();
+ longPrefs.clear();
+ stringPrefs.clear();
+ booleanPrefs.clear();
+ objectPrefs.clear();
descriptionPrefs.clear();
settingRestrictionPrefs.clear();
}
public synchronized Object getObject(String key) {
- Object val = objectVSPrefs.get(key);
+ Object val = objectPrefs.get(key);
if (val == null) {
System.err.println("Fatal: No such object config value \""
@@ -101,12 +101,16 @@ public abstract class VSPrefs implements Serializable {
return val;
}
+ public synchronized void removeObject(String key) {
+ objectPrefs.remove(key);
+ }
+
public synchronized boolean objectExists(String key) {
- return null != objectVSPrefs.get(key);
+ return null != objectPrefs.get(key);
}
public synchronized String getString(String key) {
- String val = stringVSPrefs.get(key);
+ String val = stringPrefs.get(key);
if (val == null) {
System.err.println("Fatal: No such string config value \""
@@ -118,7 +122,7 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized Integer getIntegerObj(String key) {
- Integer val = integerVSPrefs.get(key);
+ Integer val = integerPrefs.get(key);
if (val == null) {
System.err.println("Fatal: No such integer config value \""
@@ -134,7 +138,7 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized Float getFloatObj(String key) {
- Float val = floatVSPrefs.get(key);
+ Float val = floatPrefs.get(key);
if (val == null) {
System.err.println("Fatal: No such float config value \""
@@ -150,7 +154,7 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized Long getLongObj(String key) {
- Long val = longVSPrefs.get(key);
+ Long val = longPrefs.get(key);
if (val == null) {
System.err.println("Fatal: No such long config value \""
@@ -166,7 +170,7 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized Boolean getBooleanObj(String key) {
- Boolean val = booleanVSPrefs.get(key);
+ Boolean val = booleanPrefs.get(key);
if (val == null)
return new Boolean(false);
@@ -179,7 +183,7 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized Color getColor(String key) {
- Color color = colorVSPrefs.get(key);
+ Color color = colorPrefs.get(key);
if (color == null) {
System.err.println("Fatal: No such color config value \""
@@ -203,81 +207,81 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized Set<String> getStringKeySet() {
- return stringVSPrefs.keySet();
+ return stringPrefs.keySet();
}
public synchronized Set<String> getIntegerKeySet() {
- return integerVSPrefs.keySet();
+ return integerPrefs.keySet();
}
public synchronized Set<String> getFloatKeySet() {
- return floatVSPrefs.keySet();
+ return floatPrefs.keySet();
}
public synchronized Set<String> getLongKeySet() {
- return longVSPrefs.keySet();
+ return longPrefs.keySet();
}
public synchronized Set<String> getBooleanKeySet() {
- return booleanVSPrefs.keySet();
+ return booleanPrefs.keySet();
}
public synchronized Set<String> getColorKeySet() {
- return colorVSPrefs.keySet();
+ return colorPrefs.keySet();
}
public synchronized void setObject(String key, Object val) {
- objectVSPrefs.put(key, val);
+ objectPrefs.put(key, val);
}
public synchronized void setString(String key, String val) {
- stringVSPrefs.put(key, val);
+ stringPrefs.put(key, val);
}
public synchronized void setInteger(String key, Integer val) {
- integerVSPrefs.put(key, val);
+ integerPrefs.put(key, val);
}
public synchronized void setColor(String key, Color color) {
- colorVSPrefs.put(key, color);
+ colorPrefs.put(key, color);
}
public synchronized void setInt(String key, int val) {
- integerVSPrefs.put(key, new Integer(val));
+ integerPrefs.put(key, new Integer(val));
}
public synchronized void setFloat(String key, float val) {
- floatVSPrefs.put(key, new Float(val));
+ floatPrefs.put(key, new Float(val));
}
public synchronized void setFloat(String key, Float val) {
- floatVSPrefs.put(key, val);
+ floatPrefs.put(key, val);
}
public synchronized void setLong(String key, long val) {
- longVSPrefs.put(key, new Long(val));
+ longPrefs.put(key, new Long(val));
}
public synchronized void setLong(String key, Long val) {
- longVSPrefs.put(key, val);
+ longPrefs.put(key, val);
}
public synchronized void setBoolean(String key, boolean val) {
- booleanVSPrefs.put(key, new Boolean(val));
+ booleanPrefs.put(key, new Boolean(val));
}
public synchronized void setBoolean(String key, Boolean val) {
- booleanVSPrefs.put(key, val);
+ booleanPrefs.put(key, val);
}
public synchronized void initString(String key, String val) {
- if (!stringVSPrefs.containsKey(key))
- stringVSPrefs.put(key, val);
+ if (!stringPrefs.containsKey(key))
+ stringPrefs.put(key, val);
}
public synchronized void initInteger(String key, Integer val) {
- if (!integerVSPrefs.containsKey(key))
- integerVSPrefs.put(key, val);
+ if (!integerPrefs.containsKey(key))
+ integerPrefs.put(key, val);
}
public void initInteger(String key, int val) {
@@ -285,8 +289,8 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized void initLong(String key, Long val) {
- if (!longVSPrefs.containsKey(key))
- longVSPrefs.put(key, val);
+ if (!longPrefs.containsKey(key))
+ longPrefs.put(key, val);
}
public void initLong(String key, int val) {
@@ -294,8 +298,8 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized void initFloat(String key, Float val) {
- if (!floatVSPrefs.containsKey(key))
- floatVSPrefs.put(key, val);
+ if (!floatPrefs.containsKey(key))
+ floatPrefs.put(key, val);
}
public void initFloat(String key, float val) {
@@ -303,8 +307,8 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized void setLongIfUnset(String key, Long val) {
- if (!longVSPrefs.containsKey(key))
- longVSPrefs.put(key, val);
+ if (!longPrefs.containsKey(key))
+ longPrefs.put(key, val);
}
public void setLongIfUnset(String key, long val) {
@@ -312,8 +316,8 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized void initBoolean(String key, Boolean val) {
- if (!booleanVSPrefs.containsKey(key))
- booleanVSPrefs.put(key, val);
+ if (!booleanPrefs.containsKey(key))
+ booleanPrefs.put(key, val);
}
public void initBoolean(String key, boolean val) {
@@ -321,8 +325,8 @@ public abstract class VSPrefs implements Serializable {
}
public synchronized void initColor(String key, Color color) {
- if (!colorVSPrefs.containsKey(key))
- colorVSPrefs.put(key, color);
+ if (!colorPrefs.containsKey(key))
+ colorPrefs.put(key, color);
}
public synchronized void setDescriptionIfUnset(String key, String descr) {
@@ -425,25 +429,25 @@ public abstract class VSPrefs implements Serializable {
public synchronized void writeObject(ObjectOutputStream objectOutputStream)
throws IOException {
- objectOutputStream.writeObject(booleanVSPrefs);
- objectOutputStream.writeObject(colorVSPrefs);
- objectOutputStream.writeObject(floatVSPrefs);
- objectOutputStream.writeObject(integerVSPrefs);
- objectOutputStream.writeObject(longVSPrefs);
- objectOutputStream.writeObject(stringVSPrefs);
+ objectOutputStream.writeObject(booleanPrefs);
+ objectOutputStream.writeObject(colorPrefs);
+ objectOutputStream.writeObject(floatPrefs);
+ objectOutputStream.writeObject(integerPrefs);
+ objectOutputStream.writeObject(longPrefs);
+ objectOutputStream.writeObject(stringPrefs);
objectOutputStream.writeObject(units);
}
public synchronized void readObject(ObjectInputStream objectInputStream)
throws IOException, ClassNotFoundException {
- booleanVSPrefs = (HashMap<String,Boolean>) objectInputStream.readObject();
- colorVSPrefs = (HashMap<String,Color>) objectInputStream.readObject();
+ booleanPrefs = (HashMap<String,Boolean>) objectInputStream.readObject();
+ colorPrefs = (HashMap<String,Color>) objectInputStream.readObject();
descriptionPrefs = new HashMap<String,String>();
- floatVSPrefs = (HashMap<String,Float>) objectInputStream.readObject();
- integerVSPrefs = (HashMap<String,Integer>) objectInputStream.readObject();
- longVSPrefs = (HashMap<String,Long>) objectInputStream.readObject();
+ floatPrefs = (HashMap<String,Float>) objectInputStream.readObject();
+ integerPrefs = (HashMap<String,Integer>) objectInputStream.readObject();
+ longPrefs = (HashMap<String,Long>) objectInputStream.readObject();
settingRestrictionPrefs = new HashMap<String,SettingRestriction>();
- stringVSPrefs = (HashMap<String,String>) objectInputStream.readObject();
+ stringPrefs = (HashMap<String,String>) objectInputStream.readObject();
units = (HashMap<String,String>) objectInputStream.readObject();
}
diff --git a/sources/protocols/VSProtocol.java b/sources/protocols/VSProtocol.java
index 71b819f..6888d95 100644
--- a/sources/protocols/VSProtocol.java
+++ b/sources/protocols/VSProtocol.java
@@ -17,7 +17,7 @@ abstract public class VSProtocol extends VSEvent {
}
private final boolean isIncorrectProtocol(VSMessage message) {
- return !message.getClassname().equals(getClassname());
+ return !message.getProtocolClassname().equals(getClassname());
}
public final void onStart() {
diff --git a/sources/simulator/VSSimulation.java b/sources/simulator/VSSimulation.java
index bfe310e..4b5350d 100644
--- a/sources/simulator/VSSimulation.java
+++ b/sources/simulator/VSSimulation.java
@@ -350,12 +350,17 @@ public class VSSimulation extends VSFrame implements ActionListener {
private class VSCreateTask {
private String eventClassname;
+ private String protocolClassname;
+ private String shortname;
/* Those 3 values are for ProtocolEvent events */
private boolean isProtocolActivation;
private boolean isProtocolDeactivation;
private boolean isClientProtocol;
+ /* Those values are for ProtocolClient onStart events */
+ private boolean isClientRequest;
+
public VSCreateTask(String eventClassname) {
this.eventClassname = eventClassname;
}
@@ -378,14 +383,39 @@ public class VSSimulation extends VSFrame implements ActionListener {
this.isClientProtocol = isClientProtocol;
}
+ public void isClientRequest(boolean isClientRequest) {
+ this.isClientRequest = isClientRequest;
+ }
+
+ public void setProtocolClassname(String protocolClassname) {
+ this.protocolClassname = protocolClassname;
+ }
+
+ public void setShortname(String shortname) {
+ this.shortname = shortname;
+ }
+
public VSTask createTask(VSProcess process, long time, boolean localTimedTask) {
- VSEvent event = VSRegisteredEvents.createEventInstanceByClassname(eventClassname, process);
+ VSEvent event = null;
+
+ if (isClientRequest) {
+ if (process.objectExists(eventClassname)) {
+ event = (VSEvent) process.getObject(eventClassname);
+ } else {
+ event = VSRegisteredEvents.createEventInstanceByClassname(eventClassname, process);
+ process.setObject(eventClassname, event);
+ }
+ } else {
+ event = VSRegisteredEvents.createEventInstanceByClassname(eventClassname, process);
+ }
event.init(process);
+ if (shortname != null)
+ event.setShortname(shortname);
if (isProtocolActivation || isProtocolDeactivation) {
ProtocolEvent protocolEvent = (ProtocolEvent) event;
- protocolEvent.setEventClassname(eventClassname);
+ protocolEvent.setProtocolClassname(protocolClassname);
protocolEvent.isProtocolActivation(isProtocolActivation);
protocolEvent.isClientProtocol(isClientProtocol);
}
@@ -615,33 +645,52 @@ public class VSSimulation extends VSFrame implements ActionListener {
String deactivate = prefs.getString("lang.deactivate");
String client = prefs.getString("lang.client");
String server = prefs.getString("lang.server");
+ String protocolEventClassname = "events.implementations.ProtocolEvent";
for (String eventClassname : eventClassnames) {
- String eventShortname = VSRegisteredEvents.getShortname(eventClassname);
- comboBox.addItem(eventShortname + " " + client + " " + activate);
- comboBox.addItem(eventShortname + " " + client + " " + deactivate);
- comboBox.addItem(eventShortname + " " + server + " " + activate);
- comboBox.addItem(eventShortname + " " + server + " " + deactivate);
+ String eventShortname_ = VSRegisteredEvents.getShortname(eventClassname);
+ String eventShortname = eventShortname_ + " " + client + " " + activate;
+ comboBox.addItem(eventShortname);
if (flag) {
- VSCreateTask createTask = new VSCreateTask(eventClassname);
+ VSCreateTask createTask = new VSCreateTask(protocolEventClassname);
createTask.isProtocolActivation(true);
createTask.isClientProtocol(true);
+ createTask.setProtocolClassname(eventClassname);
+ createTask.setShortname(eventShortname);
createTasks.add(createTask);
+ }
- createTask = new VSCreateTask(eventClassname);
+ eventShortname = eventShortname_ + " " + client + " " + deactivate;
+ comboBox.addItem(eventShortname);
+ if (flag) {
+ VSCreateTask createTask = new VSCreateTask(protocolEventClassname);
createTask.isProtocolDeactivation(true);
createTask.isClientProtocol(true);
+ createTask.setProtocolClassname(eventClassname);
+ createTask.setShortname(eventShortname);
createTasks.add(createTask);
+ }
- createTask = new VSCreateTask(eventClassname);
+ eventShortname = eventShortname_ + " " + server + " " + activate;
+ comboBox.addItem(eventShortname);
+ if (flag) {
+ VSCreateTask createTask = new VSCreateTask(protocolEventClassname);
createTask.isProtocolActivation(true);
createTask.isClientProtocol(false);
+ createTask.setProtocolClassname(eventClassname);
+ createTask.setShortname(eventShortname);
createTasks.add(createTask);
+ }
- createTask = new VSCreateTask(eventClassname);
+ eventShortname = eventShortname_ + " " + server + " " + deactivate;
+ comboBox.addItem(eventShortname);
+ if (flag) {
+ VSCreateTask createTask = new VSCreateTask(protocolEventClassname);
createTask.isProtocolDeactivation(true);
createTask.isClientProtocol(false);
+ createTask.setProtocolClassname(eventClassname);
+ createTask.setShortname(eventShortname);
createTasks.add(createTask);
}
}
@@ -651,9 +700,17 @@ public class VSSimulation extends VSFrame implements ActionListener {
String clientrequest = prefs.getString("lang.clientrequest.start");
for (String eventClassname : eventClassnames) {
- String eventShortname = VSRegisteredEvents.getShortname(eventClassname);
- comboBox.addItem(eventShortname + " " + clientrequest);
- if (flag) createTasks.add(new VSCreateTask(eventClassname));
+ String eventShortname = VSRegisteredEvents.getShortname(eventClassname)
+ + " " + clientrequest;
+
+ comboBox.addItem(eventShortname);
+
+ if (flag) {
+ VSCreateTask createTask = new VSCreateTask(eventClassname);
+ createTask.setShortname(eventShortname);
+ createTask.isClientRequest(true);
+ createTasks.add(createTask);
+ }
}
panel.add(comboBox);