Fix for streaming and reconnection. Added standalone releng for lttng.
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / tmf / core / request / TmfCoalescedEventRequest.java
index 13327067bde507e40552c26b0169f855a3889df6..313c8b1193913bc38253d69e81922c6b772fc6b8 100644 (file)
@@ -97,6 +97,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa
                        boolean ok = getNbRequested() == request.getNbRequested();
                        ok &= getIndex() == request.getIndex();
                        ok &= getExecType() == request.getExecType();
+            //ok &= getDataType() == request.getDataType();
                        if (ok) {
                                TmfTimestamp startTime = ((ITmfEventRequest<T>) request).getRange().getStartTime();
                                TmfTimestamp endTime   = ((ITmfEventRequest<T>) request).getRange().getEndTime();
@@ -115,29 +116,33 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa
     // ------------------------------------------------------------------------
 
     @Override
-       public void handleData(T data) {
-       super.handleData(data);
-       for (ITmfDataRequest<T> request : fRequests) {
-               if (data == null) {
-                       request.handleData(null);
-               } else {
-                       if (request instanceof TmfEventRequest<?>) {
-                               TmfEventRequest<T> req = (TmfEventRequest<T>) request;
-                                       if (!req.isCompleted()) {
-                                               TmfTimestamp ts = data.getTimestamp();
-                                       if (req.getRange().contains(ts)) {
-                                               req.handleData(data);
-                                       }
-                               }
-                       }
-                       else {
-                               TmfDataRequest<T> req = (TmfDataRequest<T>) request;
-                               if (!req.isCompleted()) {
-                                       req.handleData(data);
-                               }
-                       }
-               }
-       }
+    public void handleData(T data) {
+        super.handleData(data);
+        for (ITmfDataRequest<T> request : fRequests) {
+            if (data == null) {
+                request.handleData(null);
+            } else {
+                if (request instanceof TmfEventRequest<?>) {
+                    TmfEventRequest<T> req = (TmfEventRequest<T>) request;
+                    if (!req.isCompleted()) {
+                        TmfTimestamp ts = data.getTimestamp();
+                        if (req.getRange().contains(ts)) {
+                            if (req.getDataType().isInstance(data)) {
+                                req.handleData(data);
+                            }
+                        }
+                    }
+                }
+                else {
+                    TmfDataRequest<T> req = (TmfDataRequest<T>) request;
+                    if (!req.isCompleted()) {
+                        if (req.getDataType().isInstance(data)) {
+                            req.handleData(data);
+                        }
+                    }
+                }
+            }
+        }
     }
 
     // ------------------------------------------------------------------------
This page took 0.044087 seconds and 5 git commands to generate.