summaryrefslogtreecommitdiff
path: root/sources/events/internal/VSMessageReceiveEvent.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-05-28 22:11:57 +0000
committerPaul Buetow <paul@buetow.org>2008-05-28 22:11:57 +0000
commitca09c67e85acb0ab6c85c87f0dd0c05b35262b12 (patch)
treeada90495be58a1b508f9cc30c722735b58cb776d /sources/events/internal/VSMessageReceiveEvent.java
parent4d5a90f7191b6c175863d0375e9d1e17b2df39d4 (diff)
alle event classnames now have a VS prefix.
Diffstat (limited to 'sources/events/internal/VSMessageReceiveEvent.java')
-rw-r--r--sources/events/internal/VSMessageReceiveEvent.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/sources/events/internal/VSMessageReceiveEvent.java b/sources/events/internal/VSMessageReceiveEvent.java
new file mode 100644
index 0000000..ff97010
--- /dev/null
+++ b/sources/events/internal/VSMessageReceiveEvent.java
@@ -0,0 +1,66 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
+package events.internal;
+
+import core.VSMessage;
+import events.VSAbstractEvent;
+import protocols.VSAbstractProtocol;
+
+/**
+ * The Class VSMessageReceiveEvent.
+ */
+public class VSMessageReceiveEvent extends VSAbstractEvent {
+ private static final long serialVersionUID = 1L;
+
+ /** The message. */
+ private VSMessage message;
+
+ /**
+ * Instantiates a new message receive event.
+ *
+ * @param message the message
+ */
+ public VSMessageReceiveEvent(VSMessage message) {
+ this.message = message;
+ }
+
+ /* (non-Javadoc)
+ * @see events.VSAbstractEvent#onInit()
+ */
+ public void onInit() {
+ setClassname(getClass().toString());
+ }
+
+ /* (non-Javadoc)
+ * @see events.VSAbstractEvent#onStart()
+ */
+ public void onStart() {
+ String eventName = message.getName();
+ String protocolClassname = message.getProtocolClassname();
+
+ process.updateLamportTime(message.getLamportTime()+1);
+ process.updateVectorTime(message.getVectorTime());
+
+ Object protocolObj = null;
+
+ if (process.objectExists(protocolClassname))
+ protocolObj = process.getObject(protocolClassname);
+
+ StringBuffer buffer = new StringBuffer();
+ buffer.append(prefs.getString("lang.message.recv"));
+ buffer.append("; ");
+ buffer.append(message);;
+
+ if (protocolObj == null) {
+ logg(buffer.toString());
+
+ } else {
+ final VSAbstractProtocol protocol = (VSAbstractProtocol) protocolObj;
+ logg(buffer.toString());
+ protocol.onMessageRecvStart(message);
+ }
+
+ }
+}