tmf: Fix simple resource leak warnings
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Tue, 13 May 2014 20:46:43 +0000 (16:46 -0400)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Thu, 19 Jun 2014 21:00:02 +0000 (17:00 -0400)
Many warnings left in ControlFlow and Resource Views, where they
get a reference to a (closeable) analysis module, and then the
compiler expects them to close it.

Since the view don't really use the module for anything other than
getting the state system, we could provide a utility class to get
the state system from an analysis module directly, without leaking
references. Shouldn't be hard to do, but outside of the scope of
this patch.

At some point we should revisit the ITmfTrace#getAnalysisModule(s)
methods. Maybe it is not such a good idea to expose closeable objects
publicly.

Change-Id: I0633d40260d0e2d37ad9da30fc6bb34d68cd5f38
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/26486
Tested-by: Hudson CI
12 files changed:
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/relayd/LttngRelayd24Test.java
org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/ImportAndReadKernelSmokeTest.java
org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AbstractProviderTest.java
org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderModuleTest.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleHelperTest.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleTest.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisParameterProviderTest.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java
org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java
org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/ImportAndReadSmokeTest.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DropAdapterAssistant.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageOperation.java

index 4914b94adf4e5adf930330ab065c841399c12caf..0620f9d4a84378fd6ce9256dee7ac3cbd03461aa 100644 (file)
@@ -88,8 +88,9 @@ public class LttngRelayd24Test {
     @Test
     public void testViewerConnection() throws IOException {
         InetAddress addr = InetAddress.getByName(ADDRESS);
-        try (Socket connection = new Socket(addr, PORT)) {
-            ILttngRelaydConnector relayD = LttngRelaydConnectorFactory.getNewConnector(connection);
+        try (Socket connection = new Socket(addr, PORT);
+                ILttngRelaydConnector relayD = LttngRelaydConnectorFactory.getNewConnector(connection);) {
+
             List<SessionResponse> sessions = relayD.getSessions();
             assertTrue(sessions.size() > 0);
             SessionResponse lttngViewerSession = sessions.get(0);
index 5a10fc162f3997d61b2c769a520ecb2a494215f3..7b8e7a7f65278f88012c1dec0b4f9b4a62b83a07 100644 (file)
@@ -234,14 +234,14 @@ public class ImportAndReadKernelSmokeTest {
     }
 
     private static CtfTmfEvent getEvent(int rank) {
-        CtfTmfTrace trace = CtfTmfTestTrace.SYNTHETIC_TRACE.getTrace();
-        ITmfContext ctx = trace.seekEvent(0);
-        for (int i = 0; i < rank; i++) {
-            trace.getNext(ctx);
+        try (CtfTmfTrace trace = CtfTmfTestTrace.SYNTHETIC_TRACE.getTrace()) {
+            ITmfContext ctx = trace.seekEvent(0);
+            for (int i = 0; i < rank; i++) {
+                trace.getNext(ctx);
+            }
+            return trace.getNext(ctx);
         }
-        final CtfTmfEvent retVal = trace.getNext(ctx);
-        trace.dispose();
-        return retVal;
+
     }
 
     private static IViewPart getViewPart(final String viewTile) {
index a138bfdd98cf02d99e284bc7726e0a84c456516e..0ea2f115ce7580d4025e992f5d41934640d53841 100644 (file)
@@ -32,7 +32,6 @@ import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
 import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
 import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
 import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
 import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
 import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
 import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
@@ -137,27 +136,27 @@ public abstract class AbstractProviderTest {
     @Test
     public void testOtherUstTrace() {
         /* Initialize the trace and analysis module */
-        final ITmfTrace ustTrace = otherUstTrace.getTrace();
-        try (TestLttngCallStackModule module = new TestLttngCallStackModule();) {
-            try {
-                module.setTrace(ustTrace);
-            } catch (TmfAnalysisException e) {
-                fail();
+        try (CtfTmfTrace ustTrace = otherUstTrace.getTrace();) {
+            try (TestLttngCallStackModule module = new TestLttngCallStackModule();) {
+                try {
+                    module.setTrace(ustTrace);
+                } catch (TmfAnalysisException e) {
+                    fail();
+                }
+                module.schedule();
+                assertTrue(module.waitForCompletion());
+
+                /* Make sure the generated state system exists, but is empty */
+                ITmfStateSystem ss = module.getStateSystem();
+                assertNotNull(ss);
+                assertTrue(ss.getStartTime() >= ustTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
+                assertEquals(0, ss.getNbAttributes());
             }
-            module.schedule();
-            assertTrue(module.waitForCompletion());
-
-            /* Make sure the generated state system exists, but is empty */
-            ITmfStateSystem ss = module.getStateSystem();
-            assertNotNull(ss);
-            assertTrue(ss.getStartTime() >= ustTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
-            assertEquals(0, ss.getNbAttributes());
+            /* Dispose the trace */
+            File suppDir = new File(TmfTraceManager.getSupplementaryFileDir(ustTrace));
+            deleteDirectory(suppDir);
+            assertFalse(suppDir.exists());
         }
-        /* Dispose the trace */
-        ustTrace.dispose();
-        File suppDir = new File(TmfTraceManager.getSupplementaryFileDir(ustTrace));
-        deleteDirectory(suppDir);
-        assertFalse(suppDir.exists());
     }
 
     /**
index b705182c33b601a613844a4dfad5a2d093034aed..018c2a933b382dadd4bd0a6421aa9d1d26965ed8 100644 (file)
@@ -31,7 +31,7 @@ import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
 import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.XmlStateSystemModule;
 import org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common.TmfXmlTestFiles;
 import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
+import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
 import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -117,15 +117,13 @@ public class StateProviderModuleTest {
 
         fModule.setXmlFile(new Path(TmfXmlTestFiles.VALID_FILE.getFile().getAbsolutePath()));
 
-        try {
-            ITmfTrace trace = CtfTmfTestTrace.KERNEL.getTrace();
+        try (CtfTmfTrace trace = CtfTmfTestTrace.KERNEL.getTrace();) {
             fModule.setTrace(trace);
             fModule.schedule();
+
             assertTrue(fModule.waitForCompletion(new NullProgressMonitor()));
         } catch (TmfAnalysisException e) {
             fail("Cannot set trace " + e.getMessage());
-        } finally {
-            CtfTmfTestTrace.KERNEL.dispose();
         }
 
     }
index 1a414d18ac0848597576047ed8aa3f982e7a69e6..1584614888644d9e5bbad4be1cb2d5ac28bffdc4 100644 (file)
@@ -136,20 +136,16 @@ public class AnalysisModuleHelperTest {
     public void testNewModule() {
         /* Test analysis module with traceStub */
         Exception exception = null;
-        IAnalysisModule module = null;
-        try {
-            module = fModule.newModule(TmfTestTrace.A_TEST_10K.getTrace());
+        try (IAnalysisModule module = fModule.newModule(TmfTestTrace.A_TEST_10K.getTrace());) {
+            assertNotNull(module);
+            assertTrue(module instanceof TestAnalysis);
         } catch (TmfAnalysisException e) {
             exception = e;
         }
         assertNull(exception);
-        assertNotNull(module);
-        assertTrue(module instanceof TestAnalysis);
 
         /* TestAnalysis2 module with trace, should return an exception */
-        module = null;
-        try {
-            module = fModuleOther.newModule(TmfTestTrace.A_TEST_10K.getTrace());
+        try (IAnalysisModule module = fModuleOther.newModule(TmfTestTrace.A_TEST_10K.getTrace());) {
         } catch (TmfAnalysisException e) {
             exception = e;
         }
@@ -158,15 +154,13 @@ public class AnalysisModuleHelperTest {
 
         /* TestAnalysis2 module with a TraceStub2 */
         exception = null;
-        module = null;
-        try {
-            module = fModuleOther.newModule(fTrace);
+        try (IAnalysisModule module = fModuleOther.newModule(fTrace);) {
+            assertNotNull(module);
+            assertTrue(module instanceof TestAnalysis2);
         } catch (TmfAnalysisException e) {
             exception = e;
         }
         assertNull(exception);
-        assertNotNull(module);
-        assertTrue(module instanceof TestAnalysis2);
     }
 
     /**
@@ -181,48 +175,47 @@ public class AnalysisModuleHelperTest {
          * able to set the parameter
          */
         IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
-        IAnalysisModule module;
-        try {
-            module = helper.newModule(trace);
+        try (IAnalysisModule module = helper.newModule(trace);) {
+            assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
+            module.setParameter(TestAnalysis.PARAM_TEST, 1);
+            assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
+
         } catch (TmfAnalysisException e1) {
             fail(e1.getMessage());
             return;
         }
 
-        assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
-        module.setParameter(TestAnalysis.PARAM_TEST, 1);
-        assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
-
         /* This module has a parameter with default value */
         helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM_DEFAULT);
-        try {
-            module = helper.newModule(trace);
+        try (IAnalysisModule module = helper.newModule(trace);) {
+            assertEquals(3, module.getParameter(TestAnalysis.PARAM_TEST));
+            module.setParameter(TestAnalysis.PARAM_TEST, 1);
+            assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
+
         } catch (TmfAnalysisException e1) {
             fail(e1.getMessage());
             return;
         }
-        assertEquals(3, module.getParameter(TestAnalysis.PARAM_TEST));
-        module.setParameter(TestAnalysis.PARAM_TEST, 1);
-        assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
 
         /*
          * This module does not have a parameter so setting it should throw an
          * error
          */
         helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_SECOND);
-        try {
-            module = helper.newModule(fTrace);
+        Exception exception = null;
+        try (IAnalysisModule module = helper.newModule(fTrace);) {
+
+            assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
+
+            try {
+                module.setParameter(TestAnalysis.PARAM_TEST, 1);
+            } catch (RuntimeException e) {
+                exception = e;
+            }
         } catch (TmfAnalysisException e1) {
             fail(e1.getMessage());
             return;
         }
-        assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
-        Exception exception = null;
-        try {
-            module.setParameter(TestAnalysis.PARAM_TEST, 1);
-        } catch (RuntimeException e) {
-            exception = e;
-        }
         assertNotNull(exception);
     }
 
index e9637527264692434479705637ebebff53bd61a8..fbeac78c638b3eda49f25e0b10d7a43ba67cb00a 100644 (file)
@@ -102,26 +102,27 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testWaitForCompletionSuccess() {
-        TestAnalysis module = setUpAnalysis();
+        try (TestAnalysis module = setUpAnalysis();) {
 
-        IStatus status = module.schedule();
-        assertEquals(IStatus.ERROR, status.getSeverity());
+            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());
-        }
+            /* 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();
+            /* 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());
+            assertTrue(completed);
+            assertEquals(1, module.getAnalysisOutput());
+        }
     }
 
     /**
@@ -129,23 +130,24 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testWaitForCompletionCancelled() {
-        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());
-        }
+        try (TestAnalysis module = setUpAnalysis();) {
 
-        module.setParameter(TestAnalysis.PARAM_TEST, 0);
-        IStatus status = module.schedule();
-        assertEquals(Status.OK_STATUS, status);
-        boolean completed = module.waitForCompletion();
+            /* Set a stub trace for analysis */
+            ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
+            try {
+                module.setTrace(trace);
+            } catch (TmfAnalysisException e) {
+                fail(e.getMessage());
+            }
 
-        assertFalse(completed);
-        assertEquals(0, module.getAnalysisOutput());
+            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());
+        }
     }
 
     /**
@@ -176,27 +178,28 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testCancel() {
-        TestAnalysis module = setUpAnalysis();
+        try (TestAnalysis module = setUpAnalysis();) {
 
-        module.setParameter(TestAnalysis.PARAM_TEST, 999);
-        try {
-            module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
-        } catch (TmfAnalysisException e) {
-            fail(e.getMessage());
-        }
+            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());
+            assertEquals(Status.OK_STATUS, module.schedule());
 
-        /* Give the job a chance to start */
-        try {
-            Thread.sleep(1000);
-        } catch (InterruptedException e) {
-            fail(e.getMessage());
-        }
+            /* 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.cancel();
+            assertFalse(module.waitForCompletion());
+            assertEquals(-1, module.getAnalysisOutput());
+        }
     }
 
     /**
@@ -205,27 +208,28 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testParameterChanged() {
-        TestAnalysis module = setUpAnalysis();
+        try (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());
+            }
 
-        /* Check exception if no wrong parameter name */
-        Exception exception = null;
-        try {
-            module.notifyParameterChanged("aaa");
-        } catch (RuntimeException e) {
-            exception = e;
-        }
-        assertNotNull(exception);
+            /* 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
-         */
+            /*
+             * Cannot test anymore of this method, need a parameter provider to
+             * do this
+             */
+        }
     }
 
     /**
@@ -233,20 +237,21 @@ public class AnalysisModuleTest {
      */
     @Test
     public void testHelper() {
-        TestAnalysis module = setUpAnalysis();
+        try (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);
+        }
     }
 }
index bd3e0c8a9de1888db6123392220d4731d4c7ae24..51e6c15e49c05740dd97c00aa277fedae1fbe3c8 100644 (file)
@@ -61,21 +61,21 @@ 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);
-        IAnalysisModule module;
-        try {
-            module = helper.newModule(trace);
+        try (IAnalysisModule module = helper.newModule(trace);) {
+
+            assertEquals(10, module.getParameter(TestAnalysis.PARAM_TEST));
+
+            /* Change the value of the parameter in the provider */
+            List<IAnalysisParameterProvider> providers = TmfAnalysisManager.getParameterProviders(module, trace);
+            assertEquals(1, providers.size());
+            TestAnalysisParameterProvider provider = (TestAnalysisParameterProvider) providers.get(0);
+            provider.setValue(5);
+            assertEquals(5, module.getParameter(TestAnalysis.PARAM_TEST));
+
         } catch (TmfAnalysisException e) {
             fail(e.getMessage());
             return;
         }
-        assertEquals(10, module.getParameter(TestAnalysis.PARAM_TEST));
-
-        /* Change the value of the parameter in the provider */
-        List<IAnalysisParameterProvider> providers = TmfAnalysisManager.getParameterProviders(module, trace);
-        assertEquals(1, providers.size());
-        TestAnalysisParameterProvider provider = (TestAnalysisParameterProvider) providers.get(0);
-        provider.setValue(5);
-        assertEquals(5, module.getParameter(TestAnalysis.PARAM_TEST));
     }
 
 }
index 057cc228817ba680a48892541a95aa253ab7c64f..759e48413b22e0f0a2d5b7ee06af2dd0cf09d888 100644 (file)
@@ -825,17 +825,12 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace {
             if (sync_file.exists()) {
                 sync_file.delete();
             }
-            FileOutputStream fos;
-            ObjectOutputStream oos;
 
             /* Save the header of the file */
-            try {
-                fos = new FileOutputStream(sync_file, false);
-                oos = new ObjectOutputStream(fos);
+            try (FileOutputStream fos = new FileOutputStream(sync_file, false);
+                    ObjectOutputStream oos = new ObjectOutputStream(fos);) {
 
                 oos.writeObject(fTsTransform);
-                oos.close();
-                fos.close();
             } catch (IOException e1) {
                 Activator.logError("Error writing timestamp transform for trace", e1); //$NON-NLS-1$
             }
index a23b8f494148250d4db7538ac19225d9ba573634..d170d53eca334198f2671d1187be8082cfaf9a99 100644 (file)
@@ -310,14 +310,13 @@ public abstract class AbstractImportAndReadSmokeTest {
      * @return the event at given rank
      */
     protected CtfTmfEvent getEvent(int rank) {
-        CtfTmfTrace trace = fTrace.getTrace();
-        ITmfContext ctx = trace.seekEvent(0);
-        for (int i = 0; i < rank; i++) {
-            trace.getNext(ctx);
+        try (CtfTmfTrace trace = fTrace.getTrace()) {
+            ITmfContext ctx = trace.seekEvent(0);
+            for (int i = 0; i < rank; i++) {
+                trace.getNext(ctx);
+            }
+            return trace.getNext(ctx);
         }
-        final CtfTmfEvent retVal = trace.getNext(ctx);
-        trace.dispose();
-        return retVal;
     }
 
     /**
index 1d8845ddfe2fef6efe3eabc860d99ffe56e039ca..fe96d468677dcd307cc8e3bc20293a376f6ea6f7 100644 (file)
@@ -15,7 +15,7 @@ package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Arrays;
@@ -503,13 +503,10 @@ public class DropAdapterAssistant extends CommonDropAdapterAssistant {
             IRunnableWithProgress runnable = new IRunnableWithProgress() {
                 @Override
                 public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-                    try {
-                        InputStream inputStream = new FileInputStream(source);
+                    try (InputStream inputStream = new FileInputStream(source);) {
                         IFile targetFile = folder.getFile(targetName);
                         targetFile.create(inputStream, IResource.NONE, monitor);
-                    } catch (CoreException e) {
-                        displayException(e);
-                    } catch (FileNotFoundException e) {
+                    } catch (CoreException | IOException e) {
                         displayException(e);
                     }
                 }
index 6e5a415b5634733f474b444928b9c0d5fb6dcb2a..e440aa7dc3b296053acad2a7495f040b83d9ce4e 100644 (file)
@@ -17,7 +17,6 @@ import java.io.InputStream;
 import java.util.Enumeration;
 import java.util.Vector;
 import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
 import java.util.zip.ZipFile;
 
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -122,20 +121,14 @@ abstract public class AbstractTracePackageOperation {
         }
 
         try {
-            ZipFile zipFile = new ZipFile(fFileName);
-            return new ZipArchiveFile(zipFile);
-        } catch (ZipException e) {
-            // ignore
+            return new ZipArchiveFile(new ZipFile(fFileName));
         } catch (IOException e) {
             // ignore
         }
 
         try {
-            TarFile tarFile = new TarFile(fFileName);
-            return new TarArchiveFile(tarFile);
-        } catch (TarException e) {
-            // ignore
-        } catch (IOException e) {
+            return new TarArchiveFile(new TarFile(fFileName));
+        } catch (TarException | IOException e) {
             // ignore
         }
 
This page took 0.038969 seconds and 5 git commands to generate.