Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Chouinard2012-06-01 16:01:45 +0000
committerFrancois Chouinard2012-06-01 16:09:09 +0000
commit7908640cf16095f868ce8b4cf60ee9109071ceb6 (patch)
treed332d03539eb2065234d75833cc4c5c9ccd50788 /lttng/org.eclipse.linuxtools.tmf.core
parent76ae2a8dfaa9401bbbd54e3bf7f46959eaf52673 (diff)
downloadorg.eclipse.linuxtools-7908640cf16095f868ce8b4cf60ee9109071ceb6.tar.gz
org.eclipse.linuxtools-7908640cf16095f868ce8b4cf60ee9109071ceb6.tar.xz
org.eclipse.linuxtools-7908640cf16095f868ce8b4cf60ee9109071ceb6.zip
Fix for bug381370
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.core')
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java12
1 files changed, 5 insertions, 7 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java
index c82b4688e9..70bb5a1405 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java
@@ -67,7 +67,7 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm
* The trace index. It is composed of checkpoints taken at intervals of
* fCheckpointInterval events.
*/
- private final List<TmfCheckpoint> fTraceIndex;
+ private final List<ITmfCheckpoint> fTraceIndex;
/**
* The indexing request
@@ -97,7 +97,7 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm
public TmfCheckpointIndexer(final ITmfTrace<ITmfEvent> trace, final int interval) {
fTrace = trace;
fCheckpointInterval = interval;
- fTraceIndex = new ArrayList<TmfCheckpoint>();
+ fTraceIndex = new ArrayList<ITmfCheckpoint>();
fIsIndexing = false;
}
@@ -166,9 +166,6 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm
};
job.schedule();
- // Clear the checkpoints
- fTraceIndex.clear();
-
// Build a background request for all the trace data. The index is
// updated as we go by readNextEvent().
fIndexingRequest = new TmfEventRequest<ITmfEvent>(ITmfEvent.class,
@@ -308,9 +305,10 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm
*/
private ITmfContext seekCheckpoint(final int checkpoint) {
ITmfLocation<?> location = null;
- int index = checkpoint;
+ int index = 0;
synchronized (fTraceIndex) {
if (!fTraceIndex.isEmpty()) {
+ index = checkpoint;
if (index >= fTraceIndex.size()) {
index = fTraceIndex.size() - 1;
}
@@ -329,7 +327,7 @@ public class TmfCheckpointIndexer<T extends ITmfTrace<ITmfEvent>> implements ITm
/**
* @return the trace index
*/
- protected List<TmfCheckpoint> getTraceIndex() {
+ protected List<ITmfCheckpoint> getTraceIndex() {
return fTraceIndex;
}
}

Back to the top