lttng: Use getFieldValue() for some field retrievals
authorAlexandre Montplaisir <alexmonthy@efficios.com>
Tue, 5 Jul 2016 23:40:06 +0000 (19:40 -0400)
committerAlexandre Montplaisir <alexmonthy@efficios.com>
Thu, 7 Jul 2016 20:42:51 +0000 (16:42 -0400)
Change-Id: Ide8835b047d69dbf0f40672c49f93853bf6d4699
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76628
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
lttng/org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/event/matching/TcpEventMatching.java
lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/analysis/debuginfo/UstDebugInfoStateProvider.java

index ba711ff802dcb3267d078764cf701619fd271a98..9cb5ff630633aaf4e944cf0136b21c55660ffd12 100644 (file)
@@ -47,11 +47,12 @@ public class TcpEventMatching implements ITmfMatchEventDefinition {
     private static boolean canMatchPacket(final ITmfEvent event) {
         /* Make sure all required fields are present to match with this event */
         ITmfEventField content = event.getContent();
-        if ((content.getField(TcpEventStrings.SEQ) != null) &&
-                (content.getField(TcpEventStrings.ACKSEQ) != null) && (content.getField(TcpEventStrings.FLAGS) != null)) {
-            return true;
+        if ((content.getFieldValue(Long.class, TcpEventStrings.SEQ) == null) ||
+                (content.getFieldValue(Long.class, TcpEventStrings.ACKSEQ) == null) ||
+                (content.getFieldValue(Long.class, TcpEventStrings.FLAGS) == null)) {
+            return false;
         }
-        return false;
+        return true;
     }
 
     /**
@@ -76,9 +77,17 @@ public class TcpEventMatching implements ITmfMatchEventDefinition {
 
     @Override
     public IEventMatchingKey getEventKey(ITmfEvent event) {
-        IEventMatchingKey key = new TcpEventKey((long) event.getContent().getField(TcpEventStrings.SEQ).getValue(),
-                (long) event.getContent().getField(TcpEventStrings.ACKSEQ).getValue(),
-                (long) event.getContent().getField(TcpEventStrings.FLAGS).getValue());
+        ITmfEventField content = event.getContent();
+        Long sequence = content.getFieldValue(Long.class, TcpEventStrings.SEQ);
+        Long ack = content.getFieldValue(Long.class, TcpEventStrings.ACKSEQ);
+        Long flags = content.getFieldValue(Long.class, TcpEventStrings.FLAGS);
+
+        if (sequence == null || ack == null || flags == null) {
+            /* Should have been caught by canMatchPacket() above. */
+            throw new IllegalArgumentException("Event does not have expected fields"); //$NON-NLS-1$
+        }
+
+        IEventMatchingKey key = new TcpEventKey(sequence, ack, flags);
         return key;
     }
 
index 7301c34c6b955998aefb5871ec95659cf32e8c3f..565716b9645adde21264abba84814d7ab2b8c6db 100644 (file)
@@ -154,11 +154,7 @@ public class UstDebugInfoStateProvider extends AbstractTmfStateProvider {
          * the analysis also needs the "ip" context, but the state provider part
          * does not.
          */
-        ITmfEventField vpidCtx = event.getContent().getField(fLayout.contextVpid());
-        if (vpidCtx == null) {
-            return;
-        }
-        final Long vpid = (Long) vpidCtx.getValue();
+        final Long vpid = event.getContent().getFieldValue(Long.class, fLayout.contextVpid());
         if (vpid == null) {
             return;
         }
This page took 0.02691 seconds and 5 git commands to generate.