From 25637a6fd6234f6dc3306e21cce81ef10ce931c5 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 01 Jul 2015 09:08:00 +0000
Subject: [PATCH] Used try-with-resources as much as possible

---
 opendj-server-legacy/src/test/java/org/opends/server/replication/server/changelog/file/LogTest.java |  231 ++++++++++++++++-----------------------------------------
 1 files changed, 66 insertions(+), 165 deletions(-)

diff --git a/opendj-server-legacy/src/test/java/org/opends/server/replication/server/changelog/file/LogTest.java b/opendj-server-legacy/src/test/java/org/opends/server/replication/server/changelog/file/LogTest.java
index 7b5f4a6..a0c3109 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/replication/server/changelog/file/LogTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/replication/server/changelog/file/LogTest.java
@@ -96,64 +96,44 @@
   @Test
   public void testCursor() throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try {
-      cursor = log.getCursor();
-
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor())
+    {
       assertThatCursorCanBeFullyReadFromStart(cursor, 1, 10);
     }
-    finally {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @Test
   public void testCursorWhenGivenAnExistingKey() throws Exception
   {
-    Log<String, String> log = openLog(RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try {
-      cursor = log.getCursor("key005");
-
+    try (Log<String, String> log = openLog(RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor("key005"))
+    {
       assertThatCursorCanBeFullyReadFromStart(cursor, 5, 10);
     }
-    finally {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @Test
   public void testCursorWhenGivenAnUnexistingKey() throws Exception
   {
-    Log<String, String> log = openLog(RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try {
-      // key is between key005 and key006
-      cursor = log.getCursor("key005000");
-
+    try (Log<String, String> log = openLog(RECORD_PARSER);
+        // key is between key005 and key006
+        DBCursor<Record<String, String>> cursor = log.getCursor("key005000"))
+    {
       assertThat(cursor).isNotNull();
       assertThat(cursor.getRecord()).isNull();
       assertThat(cursor.next()).isFalse();
     }
-    finally {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @Test
   public void testCursorWhenGivenANullKey() throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try {
-      cursor = log.getCursor(null);
-
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor(null))
+    {
       assertThatCursorCanBeFullyReadFromStart(cursor, 1, 10);
     }
-    finally {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @DataProvider
@@ -221,11 +201,9 @@
   public void testCursorWithStrategies(String key, KeyMatchingStrategy matchingStrategy,
       PositionStrategy positionStrategy, int cursorShouldStartAt, int cursorShouldEndAt) throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try {
-      cursor = log.getCursor(key, matchingStrategy, positionStrategy);
-
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor(key, matchingStrategy, positionStrategy))
+    {
       if (cursorShouldStartAt != -1)
       {
         assertThatCursorCanBeFullyReadFromStart(cursor, cursorShouldStartAt, cursorShouldEndAt);
@@ -235,83 +213,58 @@
         assertThatCursorIsExhausted(cursor);
       }
     }
-    finally {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @Test
   public void testCursorMatchingAnyPositioningAnyWhenGivenANullKey() throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try {
-      cursor = log.getCursor(null, null, null);
-
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor(null, null, null))
+    {
       assertThatCursorCanBeFullyReadFromStart(cursor, 1, 10);
     }
-    finally {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @Test(expectedExceptions=ChangelogException.class)
   public void testCursorWhenParserFailsToRead() throws Exception
   {
     FailingStringRecordParser parser = new FailingStringRecordParser();
-    Log<String, String> log = openLog(parser);
-    parser.setFailToRead(true);
-    try {
+    try (Log<String, String> log = openLog(parser))
+    {
+      parser.setFailToRead(true);
       log.getCursor("key");
     }
-    finally {
-      StaticUtils.close(log);
-    }
   }
 
   @Test
   public void testGetOldestRecord() throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER))
     {
       Record<String, String> record = log.getOldestRecord();
 
       assertThat(record).isEqualTo(Record.from("key001", "value1"));
     }
-    finally {
-      StaticUtils.close(log);
-    }
   }
 
   @Test
   public void testGetNewestRecord() throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER))
     {
       Record<String, String> record = log.getNewestRecord();
 
       assertThat(record).isEqualTo(Record.from("key010", "value10"));
     }
-    finally {
-      StaticUtils.close(log);
-    }
   }
 
-  /**
-   * Test that changes are visible immediately to a reader after a write.
-   */
+  /** Test that changes are visible immediately to a reader after a write. */
   @Test
   public void testWriteAndReadOnSameLog() throws Exception
   {
-    Log<String, String> writeLog = null;
-    Log<String, String> readLog = null;
-    try
+    try (Log<String, String> writeLog = openLog(LogFileTest.RECORD_PARSER);
+        Log<String, String> readLog = openLog(LogFileTest.RECORD_PARSER))
     {
-      writeLog = openLog(LogFileTest.RECORD_PARSER);
-      readLog = openLog(LogFileTest.RECORD_PARSER);
-
       for (int i = 1; i <= 10; i++)
       {
         Record<String, String> record = Record.from(String.format("nkey%03d", i), "nvalue" + i);
@@ -322,22 +275,14 @@
         assertThat(readLog.getOldestRecord()).as("read changelog " + i).isEqualTo(Record.from("key001", "value1"));
       }
     }
-    finally
-    {
-      StaticUtils.close(writeLog, readLog);
-    }
   }
 
   @Test
   public void testTwoConcurrentWrite() throws Exception
   {
-    Log<String, String> writeLog1 = null;
-    Log<String, String> writeLog2 = null;
-    DBCursor<Record<String, String>> cursor = null;
-    try
+    try (Log<String, String> writeLog1 = openLog(LogFileTest.RECORD_PARSER);
+        Log<String, String> writeLog2 = openLog(LogFileTest.RECORD_PARSER))
     {
-      writeLog1 = openLog(LogFileTest.RECORD_PARSER);
-      writeLog2 = openLog(LogFileTest.RECORD_PARSER);
       writeLog1.append(Record.from("key020", "starting record"));
       AtomicReference<ChangelogException> exceptionRef = new AtomicReference<ChangelogException>();
       Thread write1 = getWriteLogThread(writeLog1, "a", exceptionRef);
@@ -352,16 +297,15 @@
         throw exceptionRef.get();
       }
       writeLog1.syncToFileSystem();
-      cursor = writeLog1.getCursor("key020");
-      for (int i = 1; i <= 61; i++)
+
+      try (DBCursor<Record<String, String>> cursor = writeLog1.getCursor("key020"))
       {
-         assertThat(cursor.next()).isTrue();
+        for (int i = 1; i <= 61; i++)
+        {
+          assertThat(cursor.next()).isTrue();
+        }
+        assertThat(cursor.getRecord()).isIn(Record.from("nkb030", "vb30"), Record.from("nka030", "va30"));
       }
-      assertThat(cursor.getRecord()).isIn(Record.from("nkb030", "vb30"), Record.from("nka030", "va30"));
-    }
-    finally
-    {
-      StaticUtils.close(cursor, writeLog1, writeLog2);
     }
   }
 
@@ -372,35 +316,27 @@
   @Test(enabled=false)
   public void logWriteSpeed() throws Exception
   {
-    Log<String, String> writeLog = null;
-    try
-    {
-      long sizeOf10MB = 10*1024*1024;
-      final LogRotationParameters rotationParams = new LogRotationParameters(sizeOf10MB, NO_TIME_BASED_LOG_ROTATION,
-          NO_TIME_BASED_LOG_ROTATION);
-      final ReplicationEnvironment replicationEnv = mock(ReplicationEnvironment.class);
-      writeLog = Log.openLog(replicationEnv, LOG_DIRECTORY, LogFileTest.RECORD_PARSER, rotationParams);
+    long sizeOf10MB = 10 * 1024 * 1024;
+    final LogRotationParameters rotationParams = new LogRotationParameters(
+        sizeOf10MB, NO_TIME_BASED_LOG_ROTATION, NO_TIME_BASED_LOG_ROTATION);
+    final ReplicationEnvironment replicationEnv = mock(ReplicationEnvironment.class);
 
+    try (Log<String, String> writeLog =
+        Log.openLog(replicationEnv, LOG_DIRECTORY, LogFileTest.RECORD_PARSER, rotationParams))
+    {
       for (int i = 1; i < 1000000; i++)
       {
         writeLog.append(Record.from(String.format("key%010d", i), "value" + i));
       }
     }
-    finally
-    {
-      StaticUtils.close(writeLog);
-    }
   }
 
   @Test
   public void testWriteWhenCursorIsOpenedAndAheadLogFileIsRotated() throws Exception
   {
-    DBCursor<Record<String, String>> cursor = null;
-    Log<String, String> log = null;
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor())
     {
-      log = openLog(LogFileTest.RECORD_PARSER);
-      cursor = log.getCursor();
       // advance cursor to last record to ensure it is pointing to ahead log file
       advanceCursorUpTo(cursor, 1, 10);
 
@@ -413,27 +349,20 @@
       // check that cursor can fully read the new records
       assertThatCursorCanBeFullyRead(cursor, 11, 20);
     }
-    finally
-    {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @Test
   public void testWriteWhenMultiplesCursorsAreOpenedAndAheadLogFileIsRotated() throws Exception
   {
-    DBCursor<Record<String, String>> cursor1 = null, cursor2 = null, cursor3 = null, cursor4 = null;
-    Log<String, String> log = null;
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor1 = log.getCursor();
+        DBCursor<Record<String, String>> cursor2 = log.getCursor();
+        DBCursor<Record<String, String>> cursor3 = log.getCursor();
+        DBCursor<Record<String, String>> cursor4 = log.getCursor())
     {
-      log = openLog(LogFileTest.RECORD_PARSER);
-      cursor1 = log.getCursor();
       advanceCursorUpTo(cursor1, 1, 1);
-      cursor2 = log.getCursor();
       advanceCursorUpTo(cursor2, 1, 4);
-      cursor3 = log.getCursor();
       advanceCursorUpTo(cursor3, 1, 9);
-      cursor4 = log.getCursor();
       advanceCursorUpTo(cursor4, 1, 10);
 
       // add new records to ensure the ahead log file is rotated
@@ -448,28 +377,19 @@
       assertThatCursorCanBeFullyRead(cursor3, 10, 20);
       assertThatCursorCanBeFullyRead(cursor4, 11, 20);
     }
-    finally
-    {
-      StaticUtils.close(cursor1, cursor2, cursor3, cursor4, log);
-    }
   }
 
   @Test
   public void testClear() throws Exception
   {
-    DBCursor<Record<String, String>> cursor = null;
-    Log<String, String> log = null;
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER))
     {
-      log = openLog(LogFileTest.RECORD_PARSER);
       log.clear();
 
-      cursor = log.getCursor();
-      assertThatCursorIsExhausted(cursor);
-    }
-    finally
-    {
-      StaticUtils.close(cursor, log);
+      try (DBCursor<Record<String, String>> cursor = log.getCursor())
+      {
+        assertThatCursorIsExhausted(cursor);
+      }
     }
   }
 
@@ -477,18 +397,11 @@
   @Test(enabled=false, expectedExceptions=ChangelogException.class)
   public void testClearWhenCursorIsOpened() throws Exception
   {
-    DBCursor<Record<String, String>> cursor = null;
-    Log<String, String> log = null;
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
+        DBCursor<Record<String, String>> cursor = log.getCursor())
     {
-      log = openLog(LogFileTest.RECORD_PARSER);
-      cursor = log.getCursor();
       log.clear();
     }
-    finally
-    {
-      StaticUtils.close(cursor, log);
-    }
   }
 
   @DataProvider(name = "purgeKeys")
@@ -526,20 +439,16 @@
   public void testPurge(String purgeKey, Record<String,String> firstRecordExpectedAfterPurge,
       int cursorStartIndex, int cursorEndIndex) throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    DBCursor<Record<String, String>> cursor = null;
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER))
     {
       log.purgeUpTo(purgeKey);
 
-      cursor = log.getCursor();
-      assertThat(cursor.next()).isTrue();
-      assertThat(cursor.getRecord()).isEqualTo(firstRecordExpectedAfterPurge);
-      assertThatCursorCanBeFullyRead(cursor, cursorStartIndex, cursorEndIndex);
-    }
-    finally
-    {
-      StaticUtils.close(cursor, log);
+      try (DBCursor<Record<String, String>> cursor = log.getCursor())
+      {
+        assertThat(cursor.next()).isTrue();
+        assertThat(cursor.getRecord()).isEqualTo(firstRecordExpectedAfterPurge);
+        assertThatCursorCanBeFullyRead(cursor, cursorStartIndex, cursorEndIndex);
+      }
     }
   }
 
@@ -627,15 +536,10 @@
   @Test(dataProvider = "findBoundaryKeyData")
   public void testFindBoundaryKeyFromRecord(int limitValue, String expectedKey) throws Exception
   {
-    Log<String, String> log = openLog(LogFileTest.RECORD_PARSER);
-    try
+    try (Log<String, String> log = openLog(LogFileTest.RECORD_PARSER))
     {
       assertThat(log.findBoundaryKeyFromRecord(MAPPER, limitValue)).isEqualTo(expectedKey);
     }
-    finally
-    {
-      StaticUtils.close(log);
-    }
   }
 
   private void advanceCursorUpTo(DBCursor<Record<String, String>> cursor, int fromIndex, int endIndex)
@@ -659,9 +563,7 @@
     assertThatCursorIsExhausted(cursor);
   }
 
-  /**
-   * Read the cursor until exhaustion, beginning at start of cursor.
-   */
+  /** Read the cursor until exhaustion, beginning at start of cursor. */
   private void assertThatCursorCanBeFullyReadFromStart(DBCursor<Record<String, String>> cursor, int fromIndex,
       int endIndex) throws Exception
   {
@@ -700,5 +602,4 @@
       }
     };
   }
-
 }

--
Gitblit v1.10.0