Re-structure LTTng sub-project as per the Linux Tools guidelines
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / model / trange / TimeRangeResourceFactory.java
index 6c95c518c4d8f8518a6c578a22cf710cb720e7be..cd761b2558ecc14299886760a78354965775669d 100644 (file)
  *******************************************************************************/
 package org.eclipse.linuxtools.lttng.ui.model.trange;
 
-import org.eclipse.linuxtools.lttng.state.StateStrings;
-import org.eclipse.linuxtools.lttng.state.model.LttngIRQState;
-import org.eclipse.linuxtools.lttng.state.model.LttngTraceState;
+
+import org.eclipse.linuxtools.lttng.core.state.StateStrings;
+import org.eclipse.linuxtools.lttng.core.state.model.LTTngCPUState;
+import org.eclipse.linuxtools.lttng.core.state.model.LttngIRQState;
+import org.eclipse.linuxtools.lttng.core.state.model.LttngTraceState;
+import org.eclipse.linuxtools.lttng.core.state.model.LttngTrapState;
 import org.eclipse.linuxtools.lttng.ui.model.trange.TimeRangeEventResource.ResourceTypes;
 
 /**
@@ -106,7 +109,7 @@ public class TimeRangeResourceFactory {
                        public String getStateMode(LttngTraceState traceSt) {
                                LttngIRQState irqState = traceSt.getIrq_states().get(
                                                getResourceId());
-                               String statemode = "";
+                               String statemode = ""; //$NON-NLS-1$
                                if (irqState != null) {
                                        statemode = irqState.peekFromIrqStack().getInName();
                                }
@@ -130,17 +133,27 @@ public class TimeRangeResourceFactory {
                        @Override
                        public String getStateMode(LttngTraceState traceSt) {
                                // Determine the trap state.
-                               long trapState = traceSt.getTrap_states().get(getResourceId())
-                                               .getRunning().longValue();
-                               String trapStateMode = "";
-                               if (trapState == 0) {
-                                       trapStateMode = StateStrings.TrapMode.LTTV_TRAP_IDLE
-                                                       .getInName();
-                               } else {
-                                       trapStateMode = StateStrings.TrapMode.LTTV_TRAP_BUSY
-                                                       .getInName();
+                               String trapStateMode = ""; //$NON-NLS-1$
+                               LttngTrapState ts = traceSt.getTrap_states().get(getResourceId());
+                               
+                               // *** Note : 
+                               //      Ts might not have been created yet.
+                               //      This is because the state system will be updated next to this before hook
+                               //      It should be correct to create it here as Busy 
+                               //              (traps are created with running++ so it wont be idle)
+                               if ( ts != null ) {
+                                       Long trapState = ts.getRunning();
+                                       
+                                       if (trapState == 0) {
+                                               trapStateMode = StateStrings.TrapMode.LTTV_TRAP_IDLE.getInName();
+                                       } else {
+                                               trapStateMode = StateStrings.TrapMode.LTTV_TRAP_BUSY.getInName();
+                                       }
                                }
-
+                               else {
+                                       trapStateMode = StateStrings.TrapMode.LTTV_TRAP_BUSY.getInName();
+                               }
+                               
                                return trapStateMode;
                        }
                };
@@ -222,9 +235,15 @@ public class TimeRangeResourceFactory {
                        @Override
                        public String getStateMode(LttngTraceState traceSt) {
                                // Get the resource state mode
-                               String cpuStateMode = traceSt.getCpu_states().get(
-                                               getResourceId())
-                                               .peekFromCpuStack().getInName();
+                           LTTngCPUState cpuState = traceSt.getCpu_states().get(
+                        getResourceId());
+                           
+                               String cpuStateMode = ""; //$NON-NLS-1$
+                               if (cpuState != null) { 
+                                   cpuStateMode = traceSt.getCpu_states().get(
+                                           getResourceId())
+                                           .peekFromCpuStack().getInName();
+                               }
 
                                return cpuStateMode;
                        }
This page took 0.025799 seconds and 5 git commands to generate.