mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
10.51.2013 ca7046cda47bb9a54fa492f866f00c826b1516b1
OPENDJ-1116 Introduce abstraction for the changelog DB

DBCursor.java:
Added usage example to the javadocs.

DraftCNDB.java:
Replaced catch (Exception) by catch (DatabaseException), or removed them altogether where unapplicable.
In next(), first wiped the current record + reverted the if condition and clauses.
2 files modified
41 ■■■■ changed files
opends/src/server/org/opends/server/replication/server/changelog/api/DBCursor.java 12 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java 29 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/changelog/api/DBCursor.java
@@ -32,6 +32,18 @@
 * Generic cursor interface into the changelog database. Once it is not used
 * anymore, a cursor must be closed to release all the resources into the
 * database.
 * <p>
 * Here is a typical usage pattern:
 *
 * <pre>
 * DBCursor&lt;T&gt; cursor = ...;         // obtain a new cursor,
 *                                   // already initialized
 * T record1 = cursor.getRecord();   // get the first record
 * while (cursor.next()) {           // advance to the next record
 *   T record = cursor.getRecord();  // get the next record
 *   ...                             // etc.
 * }
 * </pre>
 *
 * @param <T>
 *          type of the record being returned
opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
@@ -278,7 +278,7 @@
      return db.count();
    }
    catch (Exception e)
    catch (DatabaseException e)
    {
      TRACER.debugCaught(DebugLogLevel.ERROR, e);
    }
@@ -571,19 +571,9 @@
      {
        return null;
      }
      try
      {
        return record;
      }
      catch (Exception e)
      {
        TRACER.debugCaught(DebugLogLevel.ERROR, e);
        return null;
      }
      return record;
    }
    /**
     * Go to the next record on the cursor.
     * @return the next record on this cursor.
@@ -591,6 +581,8 @@
     */
    public boolean next() throws ChangelogException
    {
      // first wipe old entry
      record = null;
      if (isClosed)
      {
        return false;
@@ -598,18 +590,17 @@
      try {
        OperationStatus status = cursor.getNext(key, entry, LockMode.DEFAULT);
        if (status != OperationStatus.SUCCESS)
        if (status == OperationStatus.SUCCESS)
        {
          record = null;
          return false;
          record = newCNIndexRecord(this.key, entry);
          return true;
        }
        record = newCNIndexRecord(this.key, entry);
        return false;
      }
      catch(Exception e)
      catch (DatabaseException e)
      {
        TRACER.debugCaught(DebugLogLevel.ERROR, e);
        throw new ChangelogException(e);
      }
      return true;
    }
    /**