tmf: Remove AutoCloseable from IAnalysisModule
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Thu, 23 Oct 2014 21:33:19 +0000 (17:33 -0400)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 27 Oct 2014 16:58:36 +0000 (12:58 -0400)
While it was very useful for tests (every test manages its own module with
try-with-resources), in reality analysis modules are stored in the trace
but need to be exposed to external components. And the trace has no knowledge
of which types of modules it contains, so it cannot provide access methods. For
this reason it was more annoying than useful to have them AutoCloseable.

Change-Id: I62a1c588155c59a6a0047a52e2965e1f3acd5744
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/35425
Tested-by: Hudson CI
16 files changed:
org.eclipse.tracecompass.lttng2.kernel.core.tests/perf/org/eclipse/tracecompass/lttng2/kernel/core/tests/perf/analysis/AnalysisBenchmark.java
org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/stateprovider/GenerateTestValues.java
org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java
org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java
org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java
org.eclipse.tracecompass.lttng2.ust.core.tests/src/org/eclipse/tracecompass/lttng2/ust/core/tests/trace/callstack/AbstractProviderTest.java
org.eclipse.tracecompass.tmf.analysis.xml.ui/src/org/eclipse/tracecompass/internal/tmf/analysis/xml/ui/views/xychart/XmlXYViewer.java
org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/analysis/AnalysisModuleHelperTest.java
org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/analysis/AnalysisModuleTest.java
org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/analysis/AnalysisParameterProviderTest.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/analysis/IAnalysisModule.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/analysis/TmfAbstractAnalysisModule.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/statesystem/TmfStateSystemAnalysisModule.java
org.eclipse.tracecompass.tmf.ctf.core.tests/src/org/eclipse/tracecompass/tmf/ctf/core/tests/CtfTmfLostEventStatisticsTest.java
org.eclipse.tracecompass.tmf.ctf.core.tests/src/org/eclipse/tracecompass/tmf/ctf/core/tests/statistics/TmfStateStatisticsTest.java
org.eclipse.tracecompass.tmf.pcap.core.tests/src/org/eclipse/tracecompass/tmf/pcap/core/tests/analysis/StreamListAnalysisTest.java

index db02397dc31b183e3ddc942080e69de3ba6f0a8d..4461dc19fd70fd63b223106308bed3dbb7c563d6 100644 (file)
@@ -63,8 +63,9 @@ public class AnalysisBenchmark {
         }
 
         for (int i = 0; i < LOOP_COUNT; i++) {
-            try (IAnalysisModule module = new LttngKernelAnalysisModule();
-                    LttngKernelTrace trace = new LttngKernelTrace()) {
+            IAnalysisModule module = null;
+            try (LttngKernelTrace trace = new LttngKernelTrace()) {
+                module = new LttngKernelAnalysisModule();
                 module.setId("test");
                 trace.initTrace(null, testTrace.getPath(), CtfTmfEvent.class);
                 module.setTrace(trace);
@@ -84,8 +85,11 @@ public class AnalysisBenchmark {
 
             } catch (TmfAnalysisException | TmfTraceException e) {
                 fail(e.getMessage());
+            } finally {
+                if (module != null) {
+                    module.dispose();
+                }
             }
-
         }
         pm.commit();
         testTrace.dispose();
index 1a05b478383b52baceace723c37d517b4a5d2824..5559a1673c269e124042b78cd44a56b0c041fc7c 100644 (file)
@@ -58,19 +58,21 @@ public class GenerateTestValues {
         /* Prepare the files */
         File logFile = File.createTempFile("TestValues", ".java");
         try (final CtfTmfTrace trace = testTrace.getTrace();
-                PrintWriter writer = new PrintWriter(new FileWriter(logFile), true);
-                /* Build and query the state system */
-                TmfStateSystemAnalysisModule module = new TmfStateSystemAnalysisModule() {
-                    @Override
-                    protected ITmfStateProvider createStateProvider() {
-                        return new LttngKernelStateProvider(trace);
-                    }
-
-                    @Override
-                    protected String getSsFileName() {
-                        return "test-values";
-                    }
-                };) {
+                PrintWriter writer = new PrintWriter(new FileWriter(logFile), true);) {
+
+            /* Build and query the state system */
+            TmfStateSystemAnalysisModule module = new TmfStateSystemAnalysisModule() {
+                @Override
+                protected ITmfStateProvider createStateProvider() {
+                    return new LttngKernelStateProvider(trace);
+                }
+
+                @Override
+                protected String getSsFileName() {
+                    return "test-values";
+                }
+            };
+
             module.setTrace(trace);
             module.setId("test-values");
             module.schedule();
@@ -134,6 +136,7 @@ public class GenerateTestValues {
             writer.println("}");
             writer.println();
 
+            module.dispose();
         }
         System.exit(0);
     }
index e64faeb1b813b018d8d32c7f38ad59ffedf31132..4051d49ce65d9f88ce86bc2686ff07a74cb0741d 100644 (file)
@@ -68,7 +68,7 @@ public class PartialStateSystemTest extends StateSystemTest {
     @After
     public void cleanup() {
         if (module != null) {
-            module.close();
+            module.dispose();
         }
         if (stateFile != null) {
             stateFile.delete();
index c4e5bf699ab1517f49c12426add54e847bc8a333..6f9d0204cce299991a3d6c08e11cbb2f932657d2 100644 (file)
@@ -71,7 +71,7 @@ public class StateSystemFullHistoryTest extends StateSystemTest {
     @After
     public void cleanup() {
         if (module != null) {
-            module.close();
+            module.dispose();
         }
         if (stateFile != null) {
             stateFile.delete();
@@ -91,21 +91,22 @@ public class StateSystemFullHistoryTest extends StateSystemTest {
      */
     @Test
     public void testBuild() {
-        try (TestLttngKernelAnalysisModule module2 =
-                new TestLttngKernelAnalysisModule(BENCHMARK_FILE_NAME);) {
-            try {
-                module2.setTrace(testTrace.getTrace());
-            } catch (TmfAnalysisException e) {
-                fail();
-            }
-            module2.schedule();
-            assertTrue(module2.waitForCompletion());
-            ITmfStateSystem ssb2 = module2.getStateSystem();
-
-            assertNotNull(ssb2);
-            assertEquals(startTime, ssb2.getStartTime());
-            assertEquals(endTime, ssb2.getCurrentEndTime());
+        TestLttngKernelAnalysisModule module2 = new TestLttngKernelAnalysisModule(BENCHMARK_FILE_NAME);
+        try {
+            module2.setTrace(testTrace.getTrace());
+        } catch (TmfAnalysisException e) {
+            module2.dispose();
+            fail();
         }
+        module2.schedule();
+        assertTrue(module2.waitForCompletion());
+        ITmfStateSystem ssb2 = module2.getStateSystem();
+
+        assertNotNull(ssb2);
+        assertEquals(startTime, ssb2.getStartTime());
+        assertEquals(endTime, ssb2.getCurrentEndTime());
+
+        module2.dispose();
     }
 
     /**
@@ -114,20 +115,22 @@ public class StateSystemFullHistoryTest extends StateSystemTest {
     @Test
     public void testOpenExistingStateFile() {
         /* 'newStateFile' should have already been created */
-        try (TestLttngKernelAnalysisModule module2 = new TestLttngKernelAnalysisModule(TEST_FILE_NAME);) {
-            try {
-                module2.setTrace(testTrace.getTrace());
-            } catch (TmfAnalysisException e) {
-                fail();
-            }
-            module2.schedule();
-            assertTrue(module2.waitForCompletion());
-            ITmfStateSystem ssb2 = module2.getStateSystem();
-
-            assertNotNull(ssb2);
-            assertEquals(startTime, ssb2.getStartTime());
-            assertEquals(endTime, ssb2.getCurrentEndTime());
+        TestLttngKernelAnalysisModule module2 = new TestLttngKernelAnalysisModule(TEST_FILE_NAME);
+        try {
+            module2.setTrace(testTrace.getTrace());
+        } catch (TmfAnalysisException e) {
+            module2.dispose();
+            fail();
         }
+        module2.schedule();
+        assertTrue(module2.waitForCompletion());
+        ITmfStateSystem ssb2 = module2.getStateSystem();
+
+        assertNotNull(ssb2);
+        assertEquals(startTime, ssb2.getStartTime());
+        assertEquals(endTime, ssb2.getCurrentEndTime());
+
+        module2.dispose();
     }
 
     @NonNullByDefault
index 22d7cb864166af7fb787552090e0496aee411d5f..e1ebb8885331311c19a44c3f1c4fa42622e034e2 100644 (file)
@@ -53,7 +53,7 @@ public class StateSystemInMemoryTest extends StateSystemTest {
     @After
     public void cleanup() {
         if (module != null) {
-            module.close();
+            module.dispose();
         }
     }
 
index 414f4f8462461e9198daefae8ece6602521e2026..8b2b583ade6aaa08215dde3c823f55330a027a68 100644 (file)
@@ -116,7 +116,7 @@ public abstract class AbstractProviderTest {
      */
     @After
     public void tearDown() {
-        fModule.close();
+        fModule.dispose();
         if (fTrace != null) {
             fTrace.dispose();
             File suppDir = new File(TmfTraceManager.getSupplementaryFileDir(fTrace));
@@ -137,7 +137,9 @@ public abstract class AbstractProviderTest {
         /* Initialize the trace and analysis module */
         File suppDir;
         try (CtfTmfTrace ustTrace = otherUstTrace.getTrace();) {
-            try (TestLttngCallStackModule module = new TestLttngCallStackModule();) {
+            TestLttngCallStackModule module = null;
+            try {
+                module = new TestLttngCallStackModule();
                 try {
                     module.setTrace(ustTrace);
                 } catch (TmfAnalysisException e) {
@@ -151,6 +153,10 @@ public abstract class AbstractProviderTest {
                 assertNotNull(ss);
                 assertTrue(ss.getStartTime() >= ustTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
                 assertEquals(0, ss.getNbAttributes());
+            } finally {
+                if (module != null) {
+                    module.dispose();
+                }
             }
             suppDir = new File(TmfTraceManager.getSupplementaryFileDir(ustTrace));
         }
index cbd3df6994a11c2f6b4f816ab34a8563dbe9cdc7..c69c722ab02ac6543b0e99e8369eb4bd18fac01b 100644 (file)
@@ -342,7 +342,6 @@ public class XmlXYViewer extends TmfCommonXLineChartViewer {
             }
         } else {
             for (String moduleId : analysisIds) {
-                @SuppressWarnings("resource")
                 ITmfAnalysisModuleWithStateSystems module = trace.getAnalysisModuleOfClass(ITmfAnalysisModuleWithStateSystems.class, moduleId);
                 if (module != null) {
                     stateSystemModules.add(module);
index 8774a0912342336b19cda0f9115a6066b804b8d2..4f6a2e0ab8fa7b566d33c5934ceb59e59b697732 100644 (file)
@@ -137,29 +137,45 @@ public class AnalysisModuleHelperTest {
     public void testNewModule() {
         /* Test analysis module with traceStub */
         Exception exception = null;
-        try (IAnalysisModule module = fModule.newModule(TmfTestTrace.A_TEST_10K.getTrace());) {
+        IAnalysisModule module = null;
+        try {
+            module = fModule.newModule(TmfTestTrace.A_TEST_10K.getTrace());
             assertNotNull(module);
             assertTrue(module instanceof TestAnalysis);
         } catch (TmfAnalysisException e) {
             exception = e;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
         assertNull(exception);
 
         /* TestAnalysis2 module with trace, should return an exception */
-        try (IAnalysisModule module = fModuleOther.newModule(TmfTestTrace.A_TEST_10K.getTrace());) {
+        try {
+            module = fModuleOther.newModule(TmfTestTrace.A_TEST_10K.getTrace());
         } catch (TmfAnalysisException e) {
             exception = e;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
         assertNotNull(exception);
         assertEquals(NLS.bind(Messages.TmfAnalysisModuleHelper_AnalysisDoesNotApply, fModuleOther.getName()), exception.getMessage());
 
         /* TestAnalysis2 module with a TraceStub2 */
         exception = null;
-        try (IAnalysisModule module = fModuleOther.newModule(fTrace);) {
+        try {
+            module = fModuleOther.newModule(fTrace);
             assertNotNull(module);
             assertTrue(module instanceof TestAnalysis2);
         } catch (TmfAnalysisException e) {
             exception = e;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
         assertNull(exception);
     }
@@ -176,7 +192,9 @@ public class AnalysisModuleHelperTest {
          * able to set the parameter
          */
         IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
-        try (IAnalysisModule module = helper.newModule(trace);) {
+        IAnalysisModule module = null;
+        try {
+            module = helper.newModule(trace);
             assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
             module.setParameter(TestAnalysis.PARAM_TEST, 1);
             assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
@@ -184,11 +202,16 @@ public class AnalysisModuleHelperTest {
         } catch (TmfAnalysisException e1) {
             fail(e1.getMessage());
             return;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
 
         /* This module has a parameter with default value */
         helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM_DEFAULT);
-        try (IAnalysisModule module = helper.newModule(trace);) {
+        try {
+            module = helper.newModule(trace);
             assertEquals(3, module.getParameter(TestAnalysis.PARAM_TEST));
             module.setParameter(TestAnalysis.PARAM_TEST, 1);
             assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
@@ -196,6 +219,10 @@ public class AnalysisModuleHelperTest {
         } catch (TmfAnalysisException e1) {
             fail(e1.getMessage());
             return;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
 
         /*
@@ -204,8 +231,8 @@ public class AnalysisModuleHelperTest {
          */
         helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_SECOND);
         Exception exception = null;
-        try (IAnalysisModule module = helper.newModule(fTrace);) {
-
+        try {
+            module = helper.newModule(fTrace);
             assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
 
             try {
@@ -216,6 +243,10 @@ public class AnalysisModuleHelperTest {
         } catch (TmfAnalysisException e1) {
             fail(e1.getMessage());
             return;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
         assertNotNull(exception);
     }
index 7ba522a4cbe68485ae379e4a5c79bed98f2e4c94..1998a3a4f9f8df0e558fb644647f1c9358d62378 100644 (file)
@@ -55,34 +55,35 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testGettersSetters() {
-        try (IAnalysisModule module = new TestAnalysis();) {
-
-            module.setName(MODULE_GENERIC_NAME);
-            module.setId(MODULE_GENERIC_ID);
-            assertEquals(MODULE_GENERIC_ID, module.getId());
-            assertEquals(MODULE_GENERIC_NAME, module.getName());
-
-            module.setAutomatic(false);
-            assertFalse(module.isAutomatic());
-            module.setAutomatic(true);
-            assertTrue(module.isAutomatic());
-            module.addParameter(TestAnalysis.PARAM_TEST);
-            assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
-            module.setParameter(TestAnalysis.PARAM_TEST, 1);
-            assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
-
-            /* Try to set and get wrong parameter */
-            String wrongParam = "abc";
-            Exception exception = null;
-            try {
-                module.setParameter(wrongParam, 1);
-            } catch (RuntimeException e) {
-                exception = e;
-                assertEquals(NLS.bind(Messages.TmfAbstractAnalysisModule_InvalidParameter, wrongParam, module.getName()), e.getMessage());
-            }
-            assertNotNull(exception);
-            assertNull(module.getParameter(wrongParam));
+        IAnalysisModule module = new TestAnalysis();
+
+        module.setName(MODULE_GENERIC_NAME);
+        module.setId(MODULE_GENERIC_ID);
+        assertEquals(MODULE_GENERIC_ID, module.getId());
+        assertEquals(MODULE_GENERIC_NAME, module.getName());
+
+        module.setAutomatic(false);
+        assertFalse(module.isAutomatic());
+        module.setAutomatic(true);
+        assertTrue(module.isAutomatic());
+        module.addParameter(TestAnalysis.PARAM_TEST);
+        assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
+        module.setParameter(TestAnalysis.PARAM_TEST, 1);
+        assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
+
+        /* Try to set and get wrong parameter */
+        String wrongParam = "abc";
+        Exception exception = null;
+        try {
+            module.setParameter(wrongParam, 1);
+        } catch (RuntimeException e) {
+            exception = e;
+            assertEquals(NLS.bind(Messages.TmfAbstractAnalysisModule_InvalidParameter, wrongParam, module.getName()), e.getMessage());
         }
+        assertNotNull(exception);
+        assertNull(module.getParameter(wrongParam));
+
+        module.dispose();
     }
 
     private static TestAnalysis setUpAnalysis() {
@@ -102,27 +103,28 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testWaitForCompletionSuccess() {
-        try (TestAnalysis module = setUpAnalysis();) {
-
-            IStatus status = module.schedule();
-            assertEquals(IStatus.ERROR, status.getSeverity());
-
-            /* Set a stub trace for analysis */
-            try {
-                module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
-            } catch (TmfAnalysisException e) {
-                fail(e.getMessage());
-            }
-
-            /* Default execution, with output 1 */
-            module.setParameter(TestAnalysis.PARAM_TEST, 1);
-            status = module.schedule();
-            assertEquals(Status.OK_STATUS, status);
-            boolean completed = module.waitForCompletion();
-
-            assertTrue(completed);
-            assertEquals(1, module.getAnalysisOutput());
+        TestAnalysis module = setUpAnalysis();
+
+        IStatus status = module.schedule();
+        assertEquals(IStatus.ERROR, status.getSeverity());
+
+        /* Set a stub trace for analysis */
+        try {
+            module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
+        } catch (TmfAnalysisException e) {
+            fail(e.getMessage());
         }
+
+        /* Default execution, with output 1 */
+        module.setParameter(TestAnalysis.PARAM_TEST, 1);
+        status = module.schedule();
+        assertEquals(Status.OK_STATUS, status);
+        boolean completed = module.waitForCompletion();
+
+        assertTrue(completed);
+        assertEquals(1, module.getAnalysisOutput());
+
+        module.dispose();
     }
 
     /**
@@ -130,47 +132,50 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testWaitForCompletionCancelled() {
-        try (TestAnalysis module = setUpAnalysis();) {
-
-            /* Set a stub trace for analysis */
-            ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
-            try {
-                module.setTrace(trace);
-            } catch (TmfAnalysisException e) {
-                fail(e.getMessage());
-            }
-
-            module.setParameter(TestAnalysis.PARAM_TEST, 0);
-            IStatus status = module.schedule();
-            assertEquals(Status.OK_STATUS, status);
-            boolean completed = module.waitForCompletion();
-
-            assertFalse(completed);
-            assertEquals(0, module.getAnalysisOutput());
+        TestAnalysis module = setUpAnalysis();
+
+        /* Set a stub trace for analysis */
+        ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
+        try {
+            module.setTrace(trace);
+        } catch (TmfAnalysisException e) {
+            fail(e.getMessage());
         }
+
+        module.setParameter(TestAnalysis.PARAM_TEST, 0);
+        IStatus status = module.schedule();
+        assertEquals(Status.OK_STATUS, status);
+        boolean completed = module.waitForCompletion();
+
+        assertFalse(completed);
+        assertEquals(0, module.getAnalysisOutput());
+
+        module.dispose();
     }
 
     /**
-     * Test the {@link TmfAbstractAnalysisModule#setTrace(ITmfTrace)} method with wrong trace
+     * Test the {@link TmfAbstractAnalysisModule#setTrace(ITmfTrace)} method
+     * with wrong trace
      */
     @Test
     public void testSetWrongTrace() {
-        try (IAnalysisModule module = new TestAnalysis2();) {
-
-            module.setName(MODULE_GENERIC_NAME);
-            module.setId(MODULE_GENERIC_ID);
-            assertEquals(MODULE_GENERIC_ID, module.getId());
-            assertEquals(MODULE_GENERIC_NAME, module.getName());
-
-            Exception exception = null;
-            try {
-                module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
-            } catch (TmfAnalysisException e) {
-                exception = e;
-            }
-            assertNotNull(exception);
-            assertEquals(NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisCannotExecute, module.getName()), exception.getMessage());
+        IAnalysisModule module = new TestAnalysis2();
+
+        module.setName(MODULE_GENERIC_NAME);
+        module.setId(MODULE_GENERIC_ID);
+        assertEquals(MODULE_GENERIC_ID, module.getId());
+        assertEquals(MODULE_GENERIC_NAME, module.getName());
+
+        Exception exception = null;
+        try {
+            module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
+        } catch (TmfAnalysisException e) {
+            exception = e;
         }
+        assertNotNull(exception);
+        assertEquals(NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisCannotExecute, module.getName()), exception.getMessage());
+
+        module.dispose();
     }
 
     /**
@@ -178,28 +183,29 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testCancel() {
-        try (TestAnalysis module = setUpAnalysis();) {
-
-            module.setParameter(TestAnalysis.PARAM_TEST, 999);
-            try {
-                module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
-            } catch (TmfAnalysisException e) {
-                fail(e.getMessage());
-            }
-
-            assertEquals(Status.OK_STATUS, module.schedule());
-
-            /* Give the job a chance to start */
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                fail(e.getMessage());
-            }
-
-            module.cancel();
-            assertFalse(module.waitForCompletion());
-            assertEquals(-1, module.getAnalysisOutput());
+        TestAnalysis module = setUpAnalysis();
+
+        module.setParameter(TestAnalysis.PARAM_TEST, 999);
+        try {
+            module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
+        } catch (TmfAnalysisException e) {
+            fail(e.getMessage());
+        }
+
+        assertEquals(Status.OK_STATUS, module.schedule());
+
+        /* Give the job a chance to start */
+        try {
+            Thread.sleep(1000);
+        } catch (InterruptedException e) {
+            fail(e.getMessage());
         }
+
+        module.cancel();
+        assertFalse(module.waitForCompletion());
+        assertEquals(-1, module.getAnalysisOutput());
+
+        module.dispose();
     }
 
     /**
@@ -208,28 +214,28 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testParameterChanged() {
-        try (TestAnalysis module = setUpAnalysis();) {
-
-            try {
-                module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
-            } catch (TmfAnalysisException e) {
-                fail(e.getMessage());
-            }
-
-            /* Check exception if no wrong parameter name */
-            Exception exception = null;
-            try {
-                module.notifyParameterChanged("aaa");
-            } catch (RuntimeException e) {
-                exception = e;
-            }
-            assertNotNull(exception);
-
-            /*
-             * Cannot test anymore of this method, need a parameter provider to
-             * do this
-             */
+        TestAnalysis module = setUpAnalysis();
+
+        try {
+            module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
+        } catch (TmfAnalysisException e) {
+            fail(e.getMessage());
+        }
+
+        /* Check exception if no wrong parameter name */
+        Exception exception = null;
+        try {
+            module.notifyParameterChanged("aaa");
+        } catch (RuntimeException e) {
+            exception = e;
         }
+        assertNotNull(exception);
+
+        /*
+         * Cannot test anymore of this method, need a parameter provider to do
+         * this
+         */
+        module.dispose();
     }
 
     /**
@@ -237,21 +243,22 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testHelper() {
-        try (TestAnalysis module = setUpAnalysis();) {
+        TestAnalysis module = setUpAnalysis();
 
-            try {
-                module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
-            } catch (TmfAnalysisException e) {
-                fail(e.getMessage());
-            }
+        try {
+            module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
+        } catch (TmfAnalysisException e) {
+            fail(e.getMessage());
+        }
 
-            module.setParameter(TestAnalysis.PARAM_TEST, 1);
-            boolean res = TmfTestHelper.executeAnalysis(module);
-            assertTrue(res);
+        module.setParameter(TestAnalysis.PARAM_TEST, 1);
+        boolean res = TmfTestHelper.executeAnalysis(module);
+        assertTrue(res);
 
-            module.setParameter(TestAnalysis.PARAM_TEST, 0);
-            res = TmfTestHelper.executeAnalysis(module);
-            assertFalse(res);
-        }
+        module.setParameter(TestAnalysis.PARAM_TEST, 0);
+        res = TmfTestHelper.executeAnalysis(module);
+        assertFalse(res);
+
+        module.dispose();
     }
 }
index 9c0840878d87b1c4442aa96e084247adc9e27a38..857581547df41fbfe3944f60cc296d3ffdfadd85 100644 (file)
@@ -61,7 +61,9 @@ public class AnalysisParameterProviderTest {
         ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
         /* Make sure the value is set to null */
         IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
-        try (IAnalysisModule module = helper.newModule(trace);) {
+        IAnalysisModule module = null;
+        try {
+            module = helper.newModule(trace);
 
             assertEquals(10, module.getParameter(TestAnalysis.PARAM_TEST));
 
@@ -74,7 +76,10 @@ public class AnalysisParameterProviderTest {
 
         } catch (TmfAnalysisException e) {
             fail(e.getMessage());
-            return;
+        } finally {
+            if (module != null) {
+                module.dispose();
+            }
         }
     }
 
index 6f23104f9b21ffcded94a288b3c821184852bd80..f7073d75cff0c6d496803695b3e61e65fed1796c 100644 (file)
@@ -42,7 +42,7 @@ import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
  * @author Geneviève Bastien
  * @since 3.0
  */
-public interface IAnalysisModule extends ITmfComponent, IAnalysisRequirementProvider, AutoCloseable {
+public interface IAnalysisModule extends ITmfComponent, IAnalysisRequirementProvider {
 
     // --------------------------------------------------------
     // Getters and setters
@@ -239,11 +239,4 @@ public interface IAnalysisModule extends ITmfComponent, IAnalysisRequirementProv
      *            The of the parameter that changed
      */
     void notifyParameterChanged(String name);
-
-    // -----------------------------------------------------
-    // AutoCloseable (remove the thrown exception)
-    // -----------------------------------------------------
-
-    @Override
-    void close();
 }
index 253257306ecaecc8450fdabc4805074de715db77..a17871c5e9bbf9542c35f11f19186fa0c78d2890 100644 (file)
@@ -250,11 +250,6 @@ public abstract class TmfAbstractAnalysisModule extends TmfComponent implements
         }
     }
 
-    @Override
-    public void close() {
-        dispose();
-    }
-
     @Override
     public void dispose() {
         super.dispose();
index 48c2de70709f8d06a3d4726bbc0bf9187a22c28b..6b9bb0316f1b7a855a6d5ee2ee0e648c2b2601ec 100644 (file)
@@ -107,11 +107,6 @@ public abstract class TmfStateSystemAnalysisModule extends TmfAbstractAnalysisMo
             IStatus status = module.schedule();
             if (status.isOK()) {
                 module.waitForInitialization();
-                /*
-                 * FIXME If we keep a reference to "module", the compiler expects us to
-                 * close it. The Analysis Module's API should be reworked to not expose
-                 * these objects directly (utility classes instead?)
-                 */
                 return module.getStateSystem();
             }
         }
index c06ee84f862152c99276ec16aac5533c4468592d..7e722d08591407f3662c2a880538e7244876a90a 100644 (file)
@@ -108,8 +108,8 @@ public class CtfTmfLostEventStatisticsTest {
     @After
     public void tearDown() {
         fStats.dispose();
-        fTotalsMod.close();
-        fEventTypesMod.close();
+        fTotalsMod.dispose();
+        fEventTypesMod.dispose();
         fTrace.dispose();
     }
 
index 263b2a28be2cda0961b896b5306571822e8c4902..edb1ebc2ceb2afbf64f42801f85e3e89d6f9d221 100644 (file)
@@ -82,8 +82,8 @@ public class TmfStateStatisticsTest extends TmfStatisticsTest {
      */
     @After
     public void tearDown() {
-        fTotalsMod.close();
-        fEventTypesMod.close();
+        fTotalsMod.dispose();
+        fEventTypesMod.dispose();
         fTrace.dispose();
     }
 }
index 976fb073217ad91389bec4d98ae426a48c3a4d80..0bc479a310c229bc8bd5e8c56a317558062fbe04 100644 (file)
@@ -40,15 +40,16 @@ public class StreamListAnalysisTest {
      */
     @Test
     public void constructorTest() {
-        try (StreamListAnalysis analysis = new StreamListAnalysis();) {
-            analysis.setId(StreamListAnalysis.ID);
-            for (TmfPcapProtocol protocol : TmfPcapProtocol.values()) {
-                if (protocol.supportsStream()) {
-                    assertNotNull(analysis.getBuilder(protocol));
-                }
+        StreamListAnalysis analysis = new StreamListAnalysis();
+        analysis.setId(StreamListAnalysis.ID);
+        for (TmfPcapProtocol protocol : TmfPcapProtocol.values()) {
+            if (protocol.supportsStream()) {
+                assertNotNull(analysis.getBuilder(protocol));
             }
-            assertFalse(analysis.isFinished());
         }
+        assertFalse(analysis.isFinished());
+
+        analysis.dispose();
     }
 
     /**
@@ -62,11 +63,13 @@ public class StreamListAnalysisTest {
         PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
         assumeTrue(trace.exists());
         String path = trace.getPath().toString();
-        try (PcapTrace pcapTrace = new PcapTrace();
-                StreamListAnalysis analysis = new StreamListAnalysis();) {
+        try (PcapTrace pcapTrace = new PcapTrace();) {
+            StreamListAnalysis analysis = new StreamListAnalysis();
             analysis.setId(StreamListAnalysis.ID);
             pcapTrace.initTrace(null, path, null);
             assertTrue(analysis.canExecute(pcapTrace));
+
+            analysis.dispose();
         }
     }
 
@@ -84,8 +87,9 @@ public class StreamListAnalysisTest {
         PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
         assumeTrue(trace.exists());
         String path = trace.getPath().toString();
-        try (PcapTrace pcapTrace = new PcapTrace();
-                StreamListAnalysis analysis = new StreamListAnalysis();) {
+        try (PcapTrace pcapTrace = new PcapTrace();) {
+            StreamListAnalysis analysis = new StreamListAnalysis();
+
             pcapTrace.initTrace(null, path, null);
             analysis.setId(StreamListAnalysis.ID);
             analysis.setTrace(pcapTrace);
@@ -120,6 +124,8 @@ public class StreamListAnalysisTest {
                 return;
             }
             assertEquals(1, builder.getNbStreams());
+
+            analysis.dispose();
         }
     }
 
This page took 0.038537 seconds and 5 git commands to generate.