tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / uml2sd / loader / TmfUml2SDSyncLoader.java
index 1977c59225f40407cc548cf103cffc80fe993eb5..9f4029b98e6c9706d21f07f4e1052cbb86cf14ac 100644 (file)
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2011, 2012 Ericsson
+ * Copyright (c) 2011, 2013 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,6 +9,7 @@
  * Contributors:
  *   Bernd Hufmann - Initial API and implementation
  **********************************************************************/
+
 package org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader;
 
 import java.util.ArrayList;
@@ -28,9 +29,6 @@ import org.eclipse.linuxtools.internal.tmf.ui.Activator;
 import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
 import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
 import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
 import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
 import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
 import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
@@ -41,6 +39,9 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
+import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
+import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
+import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
 import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfSyncSequenceDiagramEvent;
 import org.eclipse.linuxtools.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent;
@@ -223,10 +224,12 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
+
     /**
      * Returns the current time if available else null.
      *
      * @return the current time if available else null
+     * @since 2.0
      */
     public ITmfTimestamp getCurrentTime() {
         fLock.lock();
@@ -268,6 +271,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
     @TmfSignalHandler
     public void traceSelected(TmfTraceSelectedSignal signal) {
 
+        ITmfEventRequest indexRequest = null;
         fLock.lock();
         try {
             // Update the trace reference
@@ -282,12 +286,9 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
             job.setUser(false);
             job.schedule();
 
-            if (fIndexRequest != null && !fIndexRequest.isCompleted()) {
-                fIndexRequest.cancel();
-            }
+            indexRequest = fIndexRequest;
 
             cancelOngoingRequests();
-            resetLoader();
 
             TmfTimeRange window = TmfTimeRange.ETERNITY;
 
@@ -306,7 +307,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
                 public void handleData(ITmfEvent event) {
                     super.handleData(event);
 
-                    ITmfSyncSequenceDiagramEvent sdEvent = getSequnceDiagramEvent(event);
+                    ITmfSyncSequenceDiagramEvent sdEvent = getSequenceDiagramEvent(event);
 
                     if (sdEvent != null) {
                         ++fNbSeqEvents;
@@ -385,10 +386,14 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
                 }
             };
 
-            fTrace.sendRequest(fIndexRequest);
         } finally {
             fLock.unlock();
         }
+        if (indexRequest != null && !indexRequest.isCompleted()) {
+            indexRequest.cancel();
+        }
+        resetLoader();
+        fTrace.sendRequest(fIndexRequest);
 
     }
 
@@ -403,14 +408,11 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
         if (signal.getTrace() != fTrace) {
             return;
         }
+        ITmfEventRequest indexRequest = null;
         fLock.lock();
         try {
-            if (fIndexRequest != null) {
-                if (!fIndexRequest.isCompleted()) {
-                    fIndexRequest.cancel();
-                }
-                fIndexRequest = null;
-            }
+            indexRequest = fIndexRequest;
+            fIndexRequest = null;
 
             cancelOngoingRequests();
 
@@ -419,12 +421,15 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
             }
 
             FilterListDialog.deactivateSavedGlobalFilters();
-
-            resetLoader();
         } finally {
             fTrace = null;
             fLock.unlock();
         }
+        if (indexRequest != null && !indexRequest.isCompleted()) {
+            indexRequest.cancel();
+        }
+
+        resetLoader();
     }
 
     /**
@@ -517,6 +522,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
     @Override
     public void dispose() {
        super.dispose();
+       ITmfEventRequest indexRequest = null;
        fLock.lock();
        try {
            IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
@@ -525,12 +531,8 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
                window.getSelectionService().removePostSelectionListener(this);
            }
 
-           if (fIndexRequest != null) {
-               if (!fIndexRequest.isCompleted()) {
-                   fIndexRequest.cancel();
-               }
-               fIndexRequest = null;
-           }
+           indexRequest = fIndexRequest;
+           fIndexRequest = null;
            cancelOngoingRequests();
 
            fView.setSDFindProvider(null);
@@ -540,6 +542,9 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
        } finally {
            fLock.unlock();
        }
+       if (indexRequest != null && !indexRequest.isCompleted()) {
+           indexRequest.cancel();
+       }
     }
 
     /*
@@ -869,6 +874,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
      */
     protected void cancelOngoingRequests() {
         fLock.lock();
+        ITmfEventRequest pageRequest = null;
         try {
             // Cancel the search thread
             if (fFindJob != null) {
@@ -879,15 +885,14 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
             fFindCriteria = null;
             fCurrentFindIndex = 0;
 
-            if (fPageRequest != null) {
-                if (!fPageRequest.isCompleted()) {
-                    fPageRequest.cancel();
-                }
-                fPageRequest = null;
-            }
+            pageRequest = fPageRequest;
+            fPageRequest = null;
         } finally {
             fLock.unlock();
         }
+        if (pageRequest != null && !pageRequest.isCompleted()) {
+            pageRequest.cancel();
+        }
     }
 
     /**
@@ -1140,7 +1145,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
             public void handleData(ITmfEvent event) {
                 super.handleData(event);
 
-                ITmfSyncSequenceDiagramEvent sdEvent = getSequnceDiagramEvent(event);
+                ITmfSyncSequenceDiagramEvent sdEvent = getSequenceDiagramEvent(event);
 
                 if (sdEvent != null) {
                     fSdEvent.add(sdEvent);
@@ -1168,6 +1173,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
      *
      * @param time The timestamp
      * @return page that contains the time
+     * @since 2.0
      */
     protected int getPage(ITmfTimestamp time) {
         int page;
@@ -1225,6 +1231,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
      *
      * @param startTime The start time of time range.
      * @return the time range
+     * @since 2.0
      */
     protected TmfTimeRange getSignalTimeRange(ITmfTimestamp startTime) {
         fLock.lock();
@@ -1297,6 +1304,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
          *
          * @param findCriteria The search criteria
          * @param window Time range to search in
+         * @since 2.0
          */
         public SearchJob(Criteria findCriteria, TmfTimeRange window) {
             super(Messages.TmfUml2SDSyncLoader_SearchJobDescrition);
@@ -1437,7 +1445,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
                 return;
             }
 
-            ITmfSyncSequenceDiagramEvent sdEvent = getSequnceDiagramEvent(event);
+            ITmfSyncSequenceDiagramEvent sdEvent = getSequenceDiagramEvent(event);
 
             if (sdEvent != null) {
 
@@ -1485,6 +1493,7 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
          * Returns timestamp of found time.
          *
          * @return timestamp of found time.
+         * @since 2.0
          */
         public ITmfTimestamp getFoundTime() {
             return fFoundTime;
@@ -1527,15 +1536,16 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
      *
      * @param tmfEvent Event to parse for sequence diagram event details
      * @return sequence diagram event if details are available else null
+     * @since 2.0
      */
-    protected ITmfSyncSequenceDiagramEvent getSequnceDiagramEvent(ITmfEvent tmfEvent){
+    protected ITmfSyncSequenceDiagramEvent getSequenceDiagramEvent(ITmfEvent tmfEvent){
         //type = .*RECEIVE.* or .*SEND.*
         //content = sender:<sender name>:receiver:<receiver name>,signal:<signal name>
         String eventType = tmfEvent.getType().toString();
-        if (eventType.contains(Messages.TmfUml2SDSyncCloader_EventTypeSend) || eventType.contains(Messages.TmfUml2SDSyncCloader_EventTypeReceive)) {
-            Object sender = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncCloader_FieldSender);
-            Object receiver = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncCloader_FieldReceiver);
-            Object name = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncCloader_FieldSignal);
+        if (eventType.contains(Messages.TmfUml2SDSyncLoader_EventTypeSend) || eventType.contains(Messages.TmfUml2SDSyncLoader_EventTypeReceive)) {
+            Object sender = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldSender);
+            Object receiver = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldReceiver);
+            Object name = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldSignal);
             if ((sender instanceof ITmfEventField) && (receiver instanceof ITmfEventField) && (name instanceof ITmfEventField)) {
                 ITmfSyncSequenceDiagramEvent sdEvent = new TmfSyncSequenceDiagramEvent(tmfEvent,
                                 ((ITmfEventField) sender).getValue().toString(),
This page took 0.02749 seconds and 5 git commands to generate.