diff --git a/src/main/java/myutil/CSVObject.java b/src/main/java/myutil/CSVObject.java index 4eb8a7c6c5d440ce1551b1047030a5b9b1040c16..2b4d0e4b654690edc77ae9aeee347520ffc40910 100644 --- a/src/main/java/myutil/CSVObject.java +++ b/src/main/java/myutil/CSVObject.java @@ -43,6 +43,7 @@ package myutil; import java.util.ArrayList; import java.util.BitSet; +import java.util.UUID; /** * Class CSVObject @@ -146,6 +147,20 @@ public class CSVObject { return selectedLine[col]; } + + public int getInt(int line, int col) throws NumberFormatException { + String val = get(line, col); + return Integer.decode(val); + } + + public UUID getUUID(int line, int col) throws IllegalArgumentException { + String val = get(line, col); + if (val == null) { + return null; + } + UUID uuid = UUID.fromString(val); + return uuid; + } } diff --git a/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java b/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java index 94f5bf2fac8b77efee2bece6880ba398e50675bc..7f2b315d54651cd4462b25c99d7bd6c0f07f8cd9 100755 --- a/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java +++ b/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java @@ -244,6 +244,7 @@ public class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarS // Trace playing private SimulationTrace selectedTrace; + private CSVObject traceObject; public JFrameAvatarInteractiveSimulation(/*Frame _f,*/ MainGUI _mgui, String _title, AvatarSpecification _avspec) { @@ -1167,13 +1168,14 @@ public class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarS return; } - if (!SELECTED_SIMULATION_TRACE.hasContent()) { + selectedTrace = SELECTED_SIMULATION_TRACE; + + if (selectedTrace.hasContent()) { return; } - selectedTrace = SELECTED_SIMULATION_TRACE; - // Transform String into a CSV object + traceObject = new CSVObject(selectedTrace.getContent()); diff --git a/ttool/src/test/java/myutil/CSVObjectTest.java b/ttool/src/test/java/myutil/CSVObjectTest.java index 43c75b7625fc1ac3454d87503faa72243ce649c0..55bfd94b8a7d3e21961468ab7228242db98dd698 100755 --- a/ttool/src/test/java/myutil/CSVObjectTest.java +++ b/ttool/src/test/java/myutil/CSVObjectTest.java @@ -39,12 +39,14 @@ package myutil; import org.junit.Test; +import java.util.UUID; + import static org.junit.Assert.*; public class CSVObjectTest { - private static String GOOD_CSV = "student, teacher, class\nfoo, too, uml\nfii, tii, os and uml "; - private static String BAD_CSV_1 = "student, teacher, class\nfoo, too\nfii, tii, os"; - private static String BAD_CSV_2 = "student, teacher, class\nfoo, too, uml, os\nfii, tii, os"; + private static String GOOD_CSV = "student, teacher, class\nfoo, 86e65064-2361-4a60-8871-efe389f6e549, 1\nfii, tii, os and uml "; + private static String BAD_CSV_1 = "student, teacher, 1\nfoo, too\nfii, tii, os"; + private static String BAD_CSV_2 = "student, teacher, class\nfoo, 86e65064-2361-4a60-8871-efe389f6e549, uml, os\nfii, tii, os"; @Test public void parsingTest() { @@ -67,13 +69,49 @@ public class CSVObjectTest { assertEquals(csv.get(0, 1), "teacher"); assertEquals(csv.get(0, 2), "class"); assertEquals(csv.get(1, 0), "foo"); - assertEquals(csv.get(1, 1), "too"); - assertEquals(csv.get(1, 2), "uml"); + assertEquals(csv.get(1, 1), "86e65064-2361-4a60-8871-efe389f6e549"); + assertEquals(csv.get(1, 2), "1"); assertEquals(csv.get(2, 0), "fii"); assertEquals(csv.get(2, 1), "tii"); assertEquals(csv.get(2, 2), "os and uml"); + // Testing int + boolean hasException = false; + try { + int test = csv.getInt(0, 0); + } catch (NumberFormatException nfe) { + hasException = true; + } + assertTrue(hasException); + + hasException = false; + try { + int test = csv.getInt(1, 2); + } catch (NumberFormatException nfe) { + hasException = true; + } + assertFalse(hasException); + + // Testing UUID + boolean isIllegal = false; + try { + UUID myUUID = csv.getUUID(0, 0); + } catch (IllegalArgumentException iae) { + isIllegal = true; + } + assertTrue(isIllegal); + + isIllegal = false; + try { + UUID myUUID = csv.getUUID(1, 1); + } catch (IllegalArgumentException iae) { + isIllegal = true; + } + assertFalse(isIllegal); + + + }