2010-09-17 Francois Chouinard <fchouinard@gmail.com> Contribution for Bug325662
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / request / TmfCoalescedEventRequest.java
index e617a1841dd5c5c5cd7575f1f7d13acda4b1ec3d..94c8e4c6271c99d92486d01212fd18b0af9329d5 100644 (file)
@@ -90,7 +90,6 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa
        public boolean isCompatible(ITmfDataRequest<T> request) {
                if (request instanceof ITmfEventRequest<?>) {
                        boolean ok = getNbRequested() == request.getNbRequested();
-                       ok &= getBlockize() == request.getBlockize();
                        ok &= getExecType() == request.getExecType();
                        if (ok) {
                                TmfTimestamp startTime = ((ITmfEventRequest<T>) request).getRange().getStartTime();
@@ -110,22 +109,23 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa
     // ------------------------------------------------------------------------
 
     @Override
-       public void handleData() {
+       public void handleData(T data) {
+       super.handleData(data);
        for (ITmfDataRequest<T> request : fRequests) {
-                       if (request instanceof TmfEventRequest<?>) {
-                       TmfEventRequest<T> req = (TmfEventRequest<T>) request;
-                       T[] data = getData();
-                       TmfTimestamp ts = data[0].getTimestamp();
-                       if (data.length > 0 && req.getRange().contains(ts)) {
-                       req.setData(data);
-                       req.handleData();
-                       }
-               }
-               else {
-                       TmfDataRequest<T> req = (TmfDataRequest<T>) request;
-                       T[] data = getData();
-                       req.setData(data);
-                       req.handleData();
+               if (data == null) {
+                       request.handleData(null);
+               } else {
+                       if (request instanceof TmfEventRequest<?>) {
+                               TmfEventRequest<T> req = (TmfEventRequest<T>) request;
+                               TmfTimestamp ts = data.getTimestamp();
+                               if (req.getRange().contains(ts)) {
+                                       req.handleData(data);
+                               }
+                       }
+                       else {
+                               TmfDataRequest<T> req = (TmfDataRequest<T>) request;
+                               req.handleData(data);
+                       }
                }
        }
     }
@@ -166,7 +166,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa
     @Override
     public String toString() {
                return "[TmfCoalescedEventRequest(" + getRequestId() + "," + getDataType().getSimpleName() 
-                       + "," + getRange() + "," + getNbRequested() + "," + getBlockize() + ")]";
+                       + "," + getRange() + "," + getNbRequested() + ")]";
     }
 
 }
This page took 0.02851 seconds and 5 git commands to generate.