tmf: Use default checkpoint indexer in TmfTrace empty constructor
authorPatrick Tasse <patrick.tasse@gmail.com>
Wed, 1 Apr 2015 18:40:37 +0000 (14:40 -0400)
committerPatrick Tasse <patrick.tasse@gmail.com>
Thu, 2 Apr 2015 02:36:04 +0000 (22:36 -0400)
The default checkpoint indexer uses a TmfMemoryIndex.

This prevents TmfTraceType from creating unnecessary empty index files
for every trace type instance, and actual traces from creating index
files that become obsolete as soon as initTrace() is called.

Change-Id: I40c407d68ce9d6cd6f9c7f736ca5fa33b9c41b37
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/45057
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/trace/indexer/checkpoint/AbstractIndexTest.java
org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/trace/indexer/checkpoint/TmfBTreeIndexTest.java
org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest2.java
org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/trace/TmfEmptyTraceStub.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/TmfTrace.java

index bc186e741cb0c9aaa4bea835cfab2363023c2df8..d2bfe3d5eb77fd2ace7b999a2fd244cc5a3a17fc 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson
+ * Copyright (c) 2009, 2015 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,6 @@ import java.net.URL;
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
-import org.eclipse.tracecompass.tmf.core.event.TmfEvent;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.tests.TmfCoreTestPlugin;
 import org.eclipse.tracecompass.tmf.core.tests.shared.TmfTestTrace;
@@ -98,7 +97,7 @@ public abstract class AbstractIndexTest {
         fEmptyTrace = null;
     }
 
-    interface TestIndexerInterface extends ITmfTraceIndexer {
+    interface ITestIndexer extends ITmfTraceIndexer {
         ITmfCheckpointIndex getCheckpoints();
     }
 
@@ -109,7 +108,7 @@ public abstract class AbstractIndexTest {
     /**
      * A test indexer
      */
-    protected static class TestIndexer extends TmfCheckpointIndexer implements TestIndexerInterface {
+    protected static class TestIndexer extends TmfCheckpointIndexer implements ITestIndexer {
         /**
          * Constructs the test indexer for a normal test trace
          *
@@ -133,7 +132,7 @@ public abstract class AbstractIndexTest {
      *            the trace
      * @return the indexer for testing
      */
-    protected TestIndexerInterface createTestIndexer(TestTrace trace) {
+    protected ITestIndexer createTestIndexer(TestTrace trace) {
         return new TestIndexer(trace);
     }
 
@@ -160,15 +159,14 @@ public abstract class AbstractIndexTest {
         }
 
         @Override
-        public TestIndexerInterface getIndexer() {
-            return (TestIndexerInterface) super.getIndexer();
+        public ITestIndexer getIndexer() {
+            return (ITestIndexer) super.getIndexer();
         }
     }
 
     private class EmptyTestTrace extends TmfEmptyTraceStub {
-        public EmptyTestTrace() {
-            super();
-            init(getClass().getSimpleName(), TmfEvent.class);
+        public EmptyTestTrace(String path) throws TmfTraceException {
+            super(path);
         }
 
         @Override
@@ -177,8 +175,8 @@ public abstract class AbstractIndexTest {
         }
 
         @Override
-        public TestIndexer getIndexer() {
-            return (TestIndexer) super.getIndexer();
+        public ITestIndexer getIndexer() {
+            return (ITestIndexer) super.getIndexer();
         }
     }
 
@@ -221,8 +219,12 @@ public abstract class AbstractIndexTest {
         }
 
         if (fEmptyTrace == null) {
-            fEmptyTrace = new EmptyTestTrace();
-            fEmptyTrace.indexTrace(true);
+            try {
+                File file = File.createTempFile("empty", "txt");
+                fEmptyTrace = new EmptyTestTrace(file.getAbsolutePath());
+            } catch (TmfTraceException | IOException e) {
+                fail(e.getMessage());
+            }
         }
     }
 
index 514b270a19c753e2deb9d902ccd0d6ec541ba394..b83cbe8829ac541fee5f726ba679b565b46993aa 100644 (file)
@@ -36,11 +36,11 @@ public class TmfBTreeIndexTest extends AbstractIndexTest {
      * @return the indexer for testing
      */
     @Override
-    protected TestIndexerInterface createTestIndexer(TestTrace trace) {
+    protected ITestIndexer createTestIndexer(TestTrace trace) {
         return new TestBTreeIndexer(trace);
     }
 
-    private static class TestBTreeIndexer extends TmfBTreeTraceIndexer implements TestIndexerInterface {
+    private static class TestBTreeIndexer extends TmfBTreeTraceIndexer implements ITestIndexer {
         public TestBTreeIndexer(TestTrace testTrace) {
             super(testTrace, BLOCK_SIZE);
         }
index 87cea8eb55d1713ad49187f6d1d7cc7c1522a34c..a26ca09675997f1a586997f483633d96ff9c71e3 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
+ * Copyright (c) 2012, 2015 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,10 +25,10 @@ import java.net.URL;
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
-import org.eclipse.tracecompass.tmf.core.event.TmfEvent;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.tests.TmfCoreTestPlugin;
 import org.eclipse.tracecompass.tmf.core.tests.shared.TmfTestTrace;
+import org.eclipse.tracecompass.tmf.core.tests.trace.indexer.checkpoint.AbstractIndexTest.ITestIndexer;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.indexer.ITmfTraceIndexer;
@@ -79,15 +79,16 @@ public class TmfCheckpointIndexTest2 {
     // Helper classes
     // ------------------------------------------------------------------------
 
-    private static class TestIndexer extends TmfCheckpointIndexer {
-        @SuppressWarnings({ })
+    private static class TestIndexer extends TmfCheckpointIndexer implements ITestIndexer {
         public TestIndexer(TestTrace testTrace) {
             super(testTrace, BLOCK_SIZE);
         }
-        @SuppressWarnings({ })
+
         public TestIndexer(EmptyTestTrace testTrace) {
             super(testTrace, BLOCK_SIZE);
         }
+
+        @Override
         public ITmfCheckpointIndex getCheckpoints() {
             return getTraceIndex();
         }
@@ -104,16 +105,15 @@ public class TmfCheckpointIndexTest2 {
         }
 
         @Override
-        public TestIndexer getIndexer() {
-            return (TestIndexer) super.getIndexer();
+        public ITestIndexer getIndexer() {
+            return (ITestIndexer) super.getIndexer();
         }
     }
 
     private class EmptyTestTrace extends TmfEmptyTraceStub {
 
-        public EmptyTestTrace() {
-            super();
-            init(getClass().getSimpleName(), TmfEvent.class);
+        public EmptyTestTrace(String path) throws TmfTraceException {
+            super(path);
         }
 
         @Override
@@ -122,8 +122,8 @@ public class TmfCheckpointIndexTest2 {
         }
 
         @Override
-        public TestIndexer getIndexer() {
-            return (TestIndexer) super.getIndexer();
+        public ITestIndexer getIndexer() {
+            return (ITestIndexer) super.getIndexer();
         }
     }
 
@@ -148,8 +148,12 @@ public class TmfCheckpointIndexTest2 {
         }
 
         if (fEmptyTrace == null) {
-            fEmptyTrace = new EmptyTestTrace();
-            fEmptyTrace.indexTrace(true);
+            try {
+                File file = File.createTempFile("empty", "txt");
+                fEmptyTrace = new EmptyTestTrace(file.getAbsolutePath());
+            } catch (TmfTraceException | IOException e) {
+                e.printStackTrace();
+            }
         }
     }
 
index a59f6a96e7634ef627df81cca298a44d8d8125df..2253795ccc65a5a068863ac2fde7f0a1b03673bd 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson
+ * Copyright (c) 2009, 2015 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -13,7 +13,9 @@
 package org.eclipse.tracecompass.tmf.tests.stubs.trace;
 
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
+import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation;
 
@@ -24,18 +26,21 @@ import org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation;
  */
 public class TmfEmptyTraceStub extends TmfTraceStub {
 
-    /**
-     *
-     */
     // ------------------------------------------------------------------------
     // Constructors
     // ------------------------------------------------------------------------
 
     /**
+     * Constructor
+     *
+     * @param path
+     *            the empty trace path
      *
+     * @throws TmfTraceException
+     *             if an exception occurs
      */
-    public TmfEmptyTraceStub() {
-        super();
+    public TmfEmptyTraceStub(String path) throws TmfTraceException {
+        super(path, ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, 0L);
     }
 
     // ------------------------------------------------------------------------
index 52bc702b8a2df0487abf4efecc10ef16ddd2683b..e1ded36144778dc56f706ab6613bd182624f81ec 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
+ * Copyright (c) 2009, 2015 Ericsson, École Polytechnique de Montréal
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -148,7 +148,7 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
      */
     public TmfTrace() {
         super();
-        fIndexer = createIndexer(DEFAULT_BLOCK_SIZE);
+        fIndexer = new TmfCheckpointIndexer(this);
     }
 
     /**
This page took 0.032237 seconds and 5 git commands to generate.