ctf: introducing IDefinition
authorMatthew Khouzam <matthew.khouzam@ericsson.com>
Mon, 7 Jul 2014 21:34:06 +0000 (17:34 -0400)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Wed, 9 Jul 2014 21:00:22 +0000 (17:00 -0400)
This is a step in adding a real api to CTF. Now an IDefinition can
be used instead of a definition.

Change-Id: I2f1cea03265afcfd1125ccecff4657324b55ad84
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/29573
Tested-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
21 files changed:
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventFieldTest.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputTest.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceTest.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinition2Test.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/DefinitionTest.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDefinition2Test.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDefinitionTest.java
org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDefinitionTest.java
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Definition.java
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDeclaration.java
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java [new file with mode: 0644]
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInput.java
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputPacketReader.java
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTrace.java
org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/SequenceDeclaration.java
org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventFieldTest.java
org.eclipse.linuxtools.tmf.ctf.core/META-INF/MANIFEST.MF
org.eclipse.linuxtools.tmf.ctf.core/pom.xml
org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEvent.java
org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventFactory.java
org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventField.java

index a149e444832219952c4053171cdd1dab5459a95a..366c7e65cdc909711a5a1bb9859afbfc9b40f63f 100644 (file)
@@ -21,6 +21,7 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
@@ -84,7 +85,7 @@ public class CTFEventFieldTest {
             byb.put((byte) i);
         }
         BitBuffer bb = new BitBuffer(byb);
-        Definition fieldDef = sd.createDefinition(structDef, "fff-fffield", bb);
+        IDefinition fieldDef = sd.createDefinition(structDef, "fff-fffield", bb);
 
         assertNotNull(fieldDef);
     }
@@ -107,7 +108,7 @@ public class CTFEventFieldTest {
         final StringDeclaration elemType = new StringDeclaration();
         byte[] bytes = { 'T', 'e', 's', 't', '\0' };
         ByteBuffer bb = testMemory(ByteBuffer.wrap(bytes));
-        Definition fieldDef = elemType.createDefinition(null, fieldName, new BitBuffer(bb));
+        IDefinition fieldDef = elemType.createDefinition(null, fieldName, new BitBuffer(bb));
 
         assertNotNull(fieldDef);
     }
index 0e1e80d74b97c9943ec18c87e165669c75730682..4175b1661108b01feee035b2cf87735e8c7bbf54 100644 (file)
@@ -21,7 +21,7 @@ import static org.junit.Assume.assumeTrue;
 import java.io.File;
 import java.io.FilenameFilter;
 
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
 import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
 import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
@@ -117,7 +117,7 @@ public class CTFStreamInputTest {
      */
     @Test
     public void testLookupDefinition() {
-        Definition result = fixture.lookupDefinition("id");
+        IDefinition result = fixture.lookupDefinition("id");
         assertNull(result);
     }
 
index 396aa3dae696ebe68e525152aac5dc541b5b9556..aac1d6b445671de0ee13ccdf5fe10782363a2429 100644 (file)
@@ -26,7 +26,7 @@ import java.nio.ByteOrder;
 import java.util.UUID;
 
 import org.eclipse.linuxtools.ctf.core.event.CTFClock;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
 import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
 import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
@@ -215,7 +215,7 @@ public class CTFTraceTest {
     @Test
     public void testLookupDefinition() {
         String lookupPath = "trace.packet.header";
-        Definition result = fixture.lookupDefinition(lookupPath);
+        IDefinition result = fixture.lookupDefinition(lookupPath);
         assertNotNull(result);
     }
 
index 93f7b0fd553cdf6b4fcab9d0d3e1fd84672a8a51..ddc2ad5e6a4774301d9dc2eb9a093b7be56718f2 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
 import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
@@ -161,7 +162,7 @@ public class ArrayDefinition2Test {
     @Test
     public void testgetElem_noDefs() {
         int i = 0;
-        Definition result = charArrayFixture.getDefinitions().get(i);
+        IDefinition result = charArrayFixture.getDefinitions().get(i);
 
         assertNotNull(result);
     }
@@ -176,7 +177,7 @@ public class ArrayDefinition2Test {
         ArrayDefinition ad = new ArrayDefinition((CompoundDeclaration) charArrayFixture.getDeclaration(), definitionScope, "test", defs);
         int j = 1;
 
-        Definition result = ad.getDefinitions().get(j);
+        IDefinition result = ad.getDefinitions().get(j);
 
         assertNotNull(result);
     }
index c388301051e04fb407f65d83fe378d63d103b0f7..7d95e9e5273d2edce9bfee9f9cbd03945de3e5d6 100644 (file)
@@ -17,6 +17,7 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
 import org.junit.Test;
 
@@ -55,7 +56,7 @@ public class DefinitionTest {
      */
     @Test
     public void testToString() {
-        Definition fixture = new DefTest(null, "Hello");
+        IDefinition fixture = new DefTest(null, "Hello");
         String result = fixture.toString();
 
         assertNotNull(result);
index 8e74413342a5cc5a1d38cb08823b2cfa5caca7f8..cbd23dee0472bfeb2eefb328dca12e07c6881f10 100644 (file)
@@ -19,6 +19,7 @@ import java.nio.ByteOrder;
 import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
@@ -110,7 +111,7 @@ public class SequenceDefinition2Test {
     @Test
     public void testGetElem() {
         int i = 1;
-        Definition result = fixture.getDefinitions().get(i);
+        IDefinition result = fixture.getDefinitions().get(i);
         assertNotNull(result);
     }
 
index 4c2fedf6587b6ccd8f052babcfd84b4937fd10ba..f7a312425cbad4f5dc77996f86f24654c335a3e5 100644 (file)
@@ -20,9 +20,9 @@ import java.nio.ByteBuffer;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
 import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
@@ -124,7 +124,7 @@ public class StructDefinitionTest {
      */
     @Test
     public void testGetDefinitions_1() {
-        Definition result = fixture.getDefinition("_id");
+        IDefinition result = fixture.getDefinition("_id");
         assertNotNull(result);
     }
 
@@ -144,7 +144,7 @@ public class StructDefinitionTest {
     @Test
     public void testLookupDefinition() {
         String lookupPath = "args";
-        Definition result = fixture.lookupDefinition(lookupPath);
+        IDefinition result = fixture.lookupDefinition(lookupPath);
 
         assertNotNull(result);
     }
index 5f8650f738c989d1bdd7377cf076167e5396fba1..c149d9d130bfaf6593c7024f1cb7b217db7c19a5 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
@@ -174,7 +175,7 @@ public class VariantDefinitionTest {
      */
     @Test
     public void testGetCurrentField() {
-        Definition result = fixture.getCurrentField();
+        IDefinition result = fixture.getCurrentField();
         assertNotNull(result);
     }
 
@@ -201,7 +202,7 @@ public class VariantDefinitionTest {
      */
     @Test
     public void testGetDefinitions() {
-        Definition result = fixture.getCurrentField();
+        IDefinition result = fixture.getCurrentField();
         assertNotNull(result);
     }
 
@@ -228,7 +229,7 @@ public class VariantDefinitionTest {
      */
     @Test
     public void testLookupDefinition() {
-        Definition result = fixture.lookupDefinition(ENUM_1);
+        IDefinition result = fixture.lookupDefinition(ENUM_1);
         assertNotNull(result);
         assertEquals("a", ((EnumDefinition) result).getStringValue());
     }
index 683b68d45527611fffdde338f2b5058269e66613..e56b9d681238843d8ee065e81684d687a421cacf 100644 (file)
@@ -31,7 +31,7 @@ import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
  * @author Matthew Khouzam
  * @author Simon Marchi
  */
-public abstract class Definition {
+public abstract class Definition implements IDefinition {
 
     // ------------------------------------------------------------------------
     // Attributes
@@ -40,7 +40,7 @@ public abstract class Definition {
     private final String fFieldName;
 
     /** The complete path of this field */
-    private final LexicalScope fPath;
+    private final @NonNull LexicalScope fPath;
 
     private final IDefinitionScope fDefinitionScope;
 
@@ -106,12 +106,7 @@ public abstract class Definition {
         return fFieldName;
     }
 
-    /**
-     * Get the complete path of this field.
-     *
-     * @return The path
-     * @since 3.0
-     */
+    @Override
     public LexicalScope getScopePath() {
         return fPath;
     }
@@ -133,12 +128,7 @@ public abstract class Definition {
     // Operations
     // ------------------------------------------------------------------------
 
-    /**
-     *
-     * @return gets the declaration of a datatype
-     *
-     */
-    @NonNull
+    @Override
     public IDeclaration getDeclaration() {
         return fDeclaration;
     }
index 5e1115cfbdc8348e1f94760afa760bbbc8a2fce4..6f0f50712be3ca87067a97d4fa497234a1862f9d 100644 (file)
@@ -60,7 +60,7 @@ public interface IDeclaration {
      * @return the path of the definition
      * @since 3.0
      */
-    public LexicalScope getPath(IDefinitionScope definitionScope, @NonNull String fieldName);
+    public @NonNull LexicalScope getPath(IDefinitionScope definitionScope, @NonNull String fieldName);
 
     /**
      * The minimum alignment. if the field is 32 bits, the definition will pad
diff --git a/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java b/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java
new file mode 100644 (file)
index 0000000..ef6d229
--- /dev/null
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.ctf.core.event.types;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
+
+/**
+ * Interface for data definitions. A definition is when a value is given to a
+ * declaration
+ *
+ * @author Matthew Khouzam
+ * @since 3.1
+ */
+@NonNullByDefault
+public interface IDefinition {
+
+    /**
+     * Get the complete path of this field.
+     *
+     * @return The path
+     */
+    LexicalScope getScopePath();
+
+    /**
+     * Get the declaration of this definition
+     *
+     * @return the declaration of a datatype
+     */
+    IDeclaration getDeclaration();
+
+}
\ No newline at end of file
index bff42f1316a0140306c5b320d82d6faff6af74b7..848ed43358cf9ebb3f99caffaf1399673384866d 100644 (file)
@@ -29,6 +29,7 @@ import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
@@ -409,7 +410,7 @@ public class CTFStreamInput implements IDefinitionScope, AutoCloseable {
 
         for (String field : streamPacketContextDef.getDeclaration()
                 .getFieldsList()) {
-            Definition id = streamPacketContextDef.lookupDefinition(field);
+            IDefinition id = streamPacketContextDef.lookupDefinition(field);
             if (id instanceof IntegerDefinition) {
                 packetIndex.addAttribute(field,
                         ((IntegerDefinition) id).getValue());
index 97c5a641e65a25c76a292b7e9d877dd585552489..8d03739c465b8e4b2cba202a38bda8618fae00c7 100644 (file)
@@ -23,6 +23,7 @@ import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
 import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
 import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.SimpleDatatypeDefinition;
@@ -352,7 +353,7 @@ public class CTFStreamInputPacketReader implements IDefinitionScope, AutoCloseab
             fCurrentStreamEventHeaderDef = getStreamEventHeaderDefinition(currentBitBuffer);
 
             /* Check for the event id. */
-            Definition idDef = fCurrentStreamEventHeaderDef.lookupDefinition("id"); //$NON-NLS-1$
+            IDefinition idDef = fCurrentStreamEventHeaderDef.lookupDefinition("id"); //$NON-NLS-1$
             if (idDef instanceof SimpleDatatypeDefinition) {
                 eventID = ((SimpleDatatypeDefinition) idDef).getIntegerValue();
             } else if (idDef != null) {
@@ -369,7 +370,7 @@ public class CTFStreamInputPacketReader implements IDefinitionScope, AutoCloseab
             } // else timestamp remains 0
 
             /* Check for the variant v. */
-            Definition variantDef = fCurrentStreamEventHeaderDef.lookupDefinition("v"); //$NON-NLS-1$
+            IDefinition variantDef = fCurrentStreamEventHeaderDef.lookupDefinition("v"); //$NON-NLS-1$
             if (variantDef instanceof VariantDefinition) {
 
                 /* Get the variant current field */
@@ -379,7 +380,7 @@ public class CTFStreamInputPacketReader implements IDefinitionScope, AutoCloseab
                  * Try to get the id field in the current field of the variant.
                  * If it is present, it overrides the previously read event id.
                  */
-                Definition idIntegerDef = variantCurrentField.lookupDefinition("id"); //$NON-NLS-1$
+                IDefinition idIntegerDef = variantCurrentField.lookupDefinition("id"); //$NON-NLS-1$
                 if (idIntegerDef instanceof IntegerDefinition) {
                     eventID = ((IntegerDefinition) idIntegerDef).getValue();
                 }
@@ -388,7 +389,7 @@ public class CTFStreamInputPacketReader implements IDefinitionScope, AutoCloseab
                  * Get the timestamp. This would overwrite any previous
                  * timestamp definition
                  */
-                Definition def = variantCurrentField.lookupDefinition("timestamp"); //$NON-NLS-1$
+                IDefinition def = variantCurrentField.lookupDefinition("timestamp"); //$NON-NLS-1$
                 if (def instanceof IntegerDefinition) {
                     timestamp = calculateTimestamp((IntegerDefinition) def);
                 }
index 6ab6af2344968aaf0bb52e2299069a7db9161f0f..c489ef2cb0ed994c9611e15550e7e2f5b044f727 100644 (file)
@@ -41,6 +41,7 @@ import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
 import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
 import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
@@ -520,7 +521,7 @@ public class CTFTrace implements IDefinitionScope, AutoCloseable {
             }
 
             /* Check UUID */
-            Definition lookupDefinition = fPacketHeaderDef.lookupDefinition("uuid"); //$NON-NLS-1$
+            IDefinition lookupDefinition = fPacketHeaderDef.lookupDefinition("uuid"); //$NON-NLS-1$
             ArrayDefinition uuidDef = (ArrayDefinition) lookupDefinition;
             if (uuidDef != null) {
                 UUID otheruuid = Utils.getUUIDfromDefinition(uuidDef);
@@ -531,7 +532,7 @@ public class CTFTrace implements IDefinitionScope, AutoCloseable {
             }
 
             /* Read the stream ID */
-            Definition streamIDDef = fPacketHeaderDef.lookupDefinition("stream_id"); //$NON-NLS-1$
+            IDefinition streamIDDef = fPacketHeaderDef.lookupDefinition("stream_id"); //$NON-NLS-1$
 
             if (streamIDDef instanceof IntegerDefinition) { // this doubles as a
                                                             // null check
index b7289d465e73657fa91ac9c718c470d874242747..9c854b873b872387e30af31b5fa22b2e0f142254 100644 (file)
@@ -21,6 +21,7 @@ import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
@@ -113,7 +114,7 @@ public class SequenceDeclaration extends CompoundDeclaration {
     @Override
     public AbstractArrayDefinition createDefinition(
             IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
-        Definition lenDef = null;
+        IDefinition lenDef = null;
 
         if (definitionScope != null) {
             lenDef = definitionScope.lookupDefinition(getLengthName());
index 2d0455629ec2ef9cdb8558c1a98fbae11b58317d..fe94569d244eb6cabe33f9ce3654155aa3d23d4a 100644 (file)
@@ -22,10 +22,10 @@ import java.nio.ByteOrder;
 
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
@@ -180,7 +180,7 @@ public class CtfTmfEventFieldTest {
     @Test
     public void testParseField_float() {
         FloatDefinition fieldDef = (FloatDefinition) fixture.lookupDefinition(FLOAT);
-        CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, "_" + NAME);
+        CtfTmfEventField result = CtfTmfEventField.parseField((IDefinition)fieldDef, "_" + NAME);
         assertEquals("test=2.0", result.toString());
     }
 
@@ -190,7 +190,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_array_float() {
-        Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_FLOAT);
+        IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_FLOAT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[2.0, 2.0]", result.toString());
     }
@@ -200,7 +200,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_int() {
-        Definition fieldDef = fixture.lookupDefinition(INT);
+        IDefinition fieldDef = fixture.lookupDefinition(INT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=2", result.toString());
     }
@@ -211,7 +211,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_array_int() {
-        Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_INT);
+        IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_INT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[2, 2]", result.toString());
     }
@@ -221,7 +221,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_sequence() {
-        Definition fieldDef = fixture.lookupDefinition(SEQ);
+        IDefinition fieldDef = fixture.lookupDefinition(SEQ);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[2, 2]", result.toString());
     }
@@ -231,7 +231,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_sequence_value() {
-        Definition fieldDef = fixture.lookupDefinition(SEQ);
+        IDefinition fieldDef = fixture.lookupDefinition(SEQ);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         long[] values = (long[]) result.getValue();
         long[] expected = new long[] { 2, 2 };
@@ -243,7 +243,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_string() {
-        Definition fieldDef = fixture.lookupDefinition(STR);
+        IDefinition fieldDef = fixture.lookupDefinition(STR);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=two", result.toString());
     }
@@ -254,7 +254,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_array_string() {
-        Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_STR);
+        IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_STR);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[two, two]", result.toString());
     }
@@ -264,7 +264,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_struct() {
-        Definition fieldDef = fixture.lookupDefinition(STRUCT);
+        IDefinition fieldDef = fixture.lookupDefinition(STRUCT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[str=two, int=2]", result.toString());
     }
@@ -275,7 +275,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_array_struct() {
-        Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_STRUCT);
+        IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_STRUCT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[[str=two, int=2], [str=two, int=2]]", result.toString());
     }
@@ -285,7 +285,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_enum() {
-        Definition fieldDef = fixture.lookupDefinition(ENUM);
+        IDefinition fieldDef = fixture.lookupDefinition(ENUM);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=float", result.toString());
     }
@@ -296,7 +296,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_array_enum() {
-        Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_ENUM);
+        IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_ENUM);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[float, float]", result.toString());
     }
@@ -306,7 +306,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_variant() {
-        Definition fieldDef = fixture.lookupDefinition(VARIANT);
+        IDefinition fieldDef = fixture.lookupDefinition(VARIANT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=float=2.0", result.toString());
     }
@@ -317,7 +317,7 @@ public class CtfTmfEventFieldTest {
      */
     @Test
     public void testParseField_array_variant() {
-        Definition fieldDef = fixture.lookupArrayDefinition(ARRAY_VARIANT);
+        IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_VARIANT);
         CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
         assertEquals("test=[float=2.0, float=2.0]", result.toString());
     }
index 459474b70f49e7c9cc832d29a50e8bb432510ba8..5d23e0469e59e8bcbee9f4af3f0b3c2500ec9881 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.0.0.qualifier
+Bundle-Version: 3.1.0.qualifier
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ctf.core;singleton:=true
 Bundle-Activator: org.eclipse.linuxtools.internal.tmf.ctf.core.Activator
index 18b8c5eb8f49173738ee487b60de7e8272aa96ad..196c2040aed36528d7fc9c754e0b769a4c11577d 100644 (file)
@@ -18,7 +18,7 @@
   </parent>
 
   <artifactId>org.eclipse.linuxtools.tmf.ctf.core</artifactId>
-  <version>3.0.0-SNAPSHOT</version>
+  <version>3.1.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <name>CTF support for TMF Core Plug-in</name>
index 969c701fa8c6d5737900f42018e70a3e3e912025..eaa3978d14b2646bcd6ebb1c75f3eabc7f94b363 100644 (file)
@@ -22,6 +22,7 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
 import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
 import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
 import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
 import org.eclipse.linuxtools.tmf.core.event.ITmfCustomAttributes;
@@ -241,7 +242,7 @@ public class CtfTmfEvent extends TmfEvent
         if (structFields != null) {
             if (structFields.getFieldNames() != null) {
                 for (String curFieldName : structFields.getFieldNames()) {
-                    fields.add(CtfTmfEventField.parseField(structFields.getDefinition(curFieldName), curFieldName));
+                    fields.add(CtfTmfEventField.parseField((IDefinition)structFields.getDefinition(curFieldName), curFieldName));
                 }
             }
         }
@@ -251,7 +252,7 @@ public class CtfTmfEvent extends TmfEvent
             for (String contextName : structContext.getFieldNames()) {
                 /* Prefix field name */
                 String curContextName = CtfConstants.CONTEXT_FIELD_PREFIX + contextName;
-                fields.add(CtfTmfEventField.parseField(structContext.getDefinition(contextName), curContextName));
+                fields.add(CtfTmfEventField.parseField((IDefinition)structContext.getDefinition(contextName), curContextName));
             }
         }
 
index e04b651bcb747654ad47ca9a9d874fcc3eaa110d..2de1d23061412a7cefdea6c601866165d55525ab 100644 (file)
@@ -15,7 +15,7 @@ package org.eclipse.linuxtools.tmf.ctf.core;
 import org.eclipse.linuxtools.ctf.core.CTFStrings;
 import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
 import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
 import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
@@ -64,8 +64,8 @@ public final class CtfTmfEventFactory {
 
         /* Handle the special case of lost events */
         if (eventDecl.getName().equals(CTFStrings.LOST_EVENT_NAME)) {
-            Definition nbLostEventsDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_FIELD);
-            Definition durationDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_DURATION);
+            IDefinition nbLostEventsDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_FIELD);
+            IDefinition durationDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_DURATION);
             if (!(nbLostEventsDef instanceof IntegerDefinition) || !(durationDef instanceof IntegerDefinition)) {
                 /*
                  * One or both of these fields doesn't exist, or is not of the
index 858a02921cc7bc74eb4538a3ec25c545ce17391a..0251e3fa20b95d5cbc0086effbc2b1feae8c7de4 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.linuxtools.ctf.core.event.types.Definition;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
+import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
@@ -81,9 +82,26 @@ public abstract class CtfTmfEventField extends TmfEventField {
      * @param fieldName
      *            String The name to assign to this field
      * @return The resulting CtfTmfEventField object
+     * @deprecated use {@link CtfTmfEventField#parseField(IDefinition, String)}
      */
+    @Deprecated
     public static CtfTmfEventField parseField(Definition fieldDef,
             String fieldName) {
+        return parseField((IDefinition) fieldDef, fieldName);
+    }
+
+    /**
+     * Factory method to instantiate CtfTmfEventField objects.
+     *
+     * @param fieldDef
+     *            The CTF Definition of this event field
+     * @param fieldName
+     *            String The name to assign to this field
+     * @return The resulting CtfTmfEventField object
+     * @since 3.1
+     */
+    public static CtfTmfEventField parseField(IDefinition fieldDef,
+            String fieldName) {
         CtfTmfEventField field = null;
 
         /* Determine the Definition type */
@@ -118,7 +136,7 @@ public abstract class CtfTmfEventField extends TmfEventField {
                 IntegerDeclaration elemIntType = (IntegerDeclaration) elemType;
                 long[] values = new long[arrayDef.getLength()];
                 for (int i = 0; i < arrayDef.getLength(); i++) {
-                    Definition elem = arrayDef.getDefinitions().get(i);
+                    IDefinition elem = arrayDef.getDefinitions().get(i);
                     if (elem == null) {
                         break;
                     }
@@ -133,7 +151,7 @@ public abstract class CtfTmfEventField extends TmfEventField {
                 CtfTmfEventField[] elements = new CtfTmfEventField[arrayDef.getLength()];
                 /* Parse the elements of the array. */
                 int i = 0;
-                for (Definition definition : definitions) {
+                for (IDefinition definition : definitions) {
                     CtfTmfEventField curField = CtfTmfEventField.parseField(
                             definition, fieldName + '[' + i + ']');
                     elements[i] = curField;
@@ -160,7 +178,7 @@ public abstract class CtfTmfEventField extends TmfEventField {
             VariantDefinition varDef = (VariantDefinition) fieldDef;
 
             String curFieldName = varDef.getCurrentFieldName();
-            Definition curFieldDef = varDef.getCurrentField();
+            IDefinition curFieldDef = varDef.getCurrentField();
             if (curFieldDef != null) {
                 CtfTmfEventField subField = CtfTmfEventField.parseField(curFieldDef, curFieldName);
                 field = new CTFVariantField(fieldName, subField);
This page took 0.040066 seconds and 5 git commands to generate.