From 271949bf140359dd97cbee9ef927ee9280c9f31f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 17 May 2008 14:55:16 +0000 Subject: Vectortimestamps work Better representation of Lamporttimestamps BerkelyTimeProtocol M trunk/ROADMAP M trunk/sources/prefs/VSPrefs.java M trunk/sources/prefs/VSDefaultPrefs.java M trunk/sources/simulator/VSMain.java M trunk/sources/simulator/VSSimulation.java M trunk/sources/simulator/VSSimulationPanel.java M trunk/sources/utils/VSFrame.java M trunk/sources/utils/VSClassLoader.java M trunk/sources/utils/VSInfoArea.java M trunk/sources/protocols/BroadcastSturmProtocol.java M trunk/sources/protocols/ExternalTimeSyncProtocol.java M trunk/sources/protocols/RegisteredProtocols.java M trunk/sources/protocols/PingPongProtocol.java M trunk/sources/protocols/InternalTimeSyncProtocol.java M trunk/sources/protocols/VSProtocol.java M trunk/sources/protocols/DummyProtocol.java A trunk/sources/protocols/BerkelyTimeProtocol.java M trunk/sources/core/VSLamport.java M trunk/sources/core/VSProcess.java A trunk/sources/core/VSTime.java A trunk/sources/core/VSVectorTime.java M trunk/sources/core/VSTask.java M trunk/sources/core/VSMessage.java M trunk/sources/editors/VSEditor.java M trunk/sources/editors/VSProtocolEditor.java M trunk/sources/editors/VSSimulationEditor.java M trunk/sources/editors/VSEditorFrame.java M trunk/sources/editors/VSProcessEditor.java --- sources/core/VSVectorTime.java | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 sources/core/VSVectorTime.java (limited to 'sources/core/VSVectorTime.java') diff --git a/sources/core/VSVectorTime.java b/sources/core/VSVectorTime.java new file mode 100644 index 0000000..70a62a2 --- /dev/null +++ b/sources/core/VSVectorTime.java @@ -0,0 +1,52 @@ +package core; + +import java.util.ArrayList; + +public class VSVectorTime extends ArrayList implements VSTime { + /* Only needed for painting in the painting panel */ + private long globalTime; + + public VSVectorTime(long globalTime) { + this.globalTime = globalTime; + } + + public long[] toLongArray() { + final int size = super.size(); + final long[] arr = new long[size]; + + for (int i = 0; i < size; ++i) + arr[i] = super.get(i).longValue(); + + return arr; + } + + public void setGlobalTime(long globalTime) { + this.globalTime = globalTime; + } + + public long getGlobalTime() { + return globalTime; + } + + public VSVectorTime getCopy() { + final VSVectorTime vectorTime = new VSVectorTime(globalTime); + final int size = super.size(); + + for (int i = 0; i < size; ++i) + vectorTime.add(super.get(i)); + + return vectorTime; + } + + public String toString() { + final int size = super.size(); + final StringBuffer buffer = new StringBuffer(); + buffer.append("("); + + for (int i = 0; i < size-1; ++i) + buffer.append(super.get(i)+","); + buffer.append(super.get(size-1)+")"); + + return buffer.toString(); + } +} -- cgit v1.2.3