From 26859ddbe8b961a401a12877705c814fac66aeec Mon Sep 17 00:00:00 2001 From: Bernd Hufmann Date: Tue, 28 Aug 2012 10:58:16 -0400 Subject: [PATCH] Add support for displaying of CTF context info in TMF (Bug 385494) Change-Id: Ib1ca3094b7d203ac4207fb027d48629028571de4 Signed-off-by: Bernd Hufmann Reviewed-on: https://git.eclipse.org/r/7456 Tested-by: Hudson CI Reviewed-by: Matthew Khouzam IP-Clean: Matthew Khouzam Tested-by: Matthew Khouzam --- .../tmf/core/ctfadaptor/CtfTmfEvent.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java index 9de76d1eb4..0d56c17072 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfEvent.java @@ -28,7 +28,7 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; /** * A wrapper class around CTF's Event Definition/Declaration that maps all * types of Declaration to native Java types. - * + * * @version 1.0 * @author Alexandre Montplaisir */ @@ -41,6 +41,8 @@ public final class CtfTmfEvent implements ITmfEvent, Cloneable { private static final String NO_STREAM = "No stream"; //$NON-NLS-1$ private static final String EMPTY_CTF_EVENT_NAME = "Empty CTF event"; //$NON-NLS-1$ + /** Prefix for Context information stored as CtfTmfEventfield */ + private static final String CONTEXT_FIELD_PREFIX = "context."; //$NON-NLS-1$ // ------------------------------------------------------------------------ // Attributes @@ -122,6 +124,24 @@ public final class CtfTmfEvent implements ITmfEvent, Cloneable { fields.add(curField); } + /* Add context information as CtfTmfEventField */ + StructDefinition structContext = eventDef.getContext(); + if (structContext != null) { + definitions = structContext.getDefinitions(); + String curContextName; + Definition curContextDef; + CtfTmfEventField curContext; + it = definitions.entrySet().iterator(); + while(it.hasNext()) { + Entry entry = it.next(); + /* Prefix field name to */ + curContextName = CONTEXT_FIELD_PREFIX + entry.getKey(); + curContextDef = entry.getValue(); + curContext = CtfTmfEventField.parseField(curContextDef, curContextName); + fields.add(curContext); + } + } + return fields.toArray(new CtfTmfEventField[fields.size()]); } -- 2.34.1