OPENDJ-1602 (CR-5566) New pluggable storage based backend

Simplified code.


+-----+
| JEB |
+-----+

SortValuesSet.java:
Added add(SortValues), changed remove(long, ByteString[]) into remove(SortValues).

jeb.VLVIndex.java:
Used SortValuesSet new methods.

TestVerifyJob.java:
Adapted the code to SortValuesSet.remove() new signature.


+-----------+
| Pluggable |
+-----------+

Did the same changes as in JEB.


EntryContainer.java:
Used EntryID.toByteString() instead of the less efficient ByteString.valueOf(EntryID.longValue()).
Removed calls to EntryId.longValue() in logging calls.

JebFormat.java:
Removed entryIDToDatabase(), replaced by calls to EntryID.toByteString().

SuffixContainer.java:
Removed unused imports.

VerifyJob.java:
Used vlvIndex.encodeKey(SortValues).
Fixed formatting.

VLVIndex.java:
Changed encodeKey() visibility to package private.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11451 41b1ffd8-f28e-4786-ab96-9950f0a78031
OPENDJ-1602 (CR-5566) New pluggable storage based backend

Trimming the fat: Removed unused Indexer.replaceEntry() method + overriding methods.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11452 41b1ffd8-f28e-4786-ab96-9950f0a78031
ExportJob.java:
In exportContainer(), avoid uselessly creating a byte array.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11453 41b1ffd8-f28e-4786-ab96-9950f0a78031
OPENDJ-1602 (CR-5566) New pluggable storage based backend

JebFormat.java:
In entryIDListFromDatabase(ByteSequence), used ByteSequenceReader.getLong().

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11454 41b1ffd8-f28e-4786-ab96-9950f0a78031
Added more calls to logger.traceException() to ease debugging.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11455 41b1ffd8-f28e-4786-ab96-9950f0a78031
OPENDJ-1602 (CR-5566) New pluggable storage based backend

Replacing calls to BackendImpl.Storage.openCursor() by calls to ReadOperation.openCursor().
It required to pass ReadOperation down many method calls.
In several applyConfiguration*() methods, created write operations.
In several applyConfiguration*() methods, created a ConfigChangeResult object at the start of the method and accumulated information on it instead of creating it at the end of the method + passed the ConfigChangeResult object down method calls.

DatabaseContainer.java:
In open(), simplified the code.

EntryContainer.java:
Removed useless comments.

ConfigChangeResult.java:
Added default ctor.
Code cleanup.


git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11456 41b1ffd8-f28e-4786-ab96-9950f0a78031
OPENDJ-1602 (CR-5566) New pluggable storage based backend

BackendImpl.java:
Moved openTree() from Storage to WriteableOperation to make it transactional.
Removed unused remove(TreeName, ByteSequence key, ByteSequence value).

DatabaseContainer.java:
Now call WriteableOperation.openTree().
In read(), implemented using getRMW() for read-modify-write.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11457 41b1ffd8-f28e-4786-ab96-9950f0a78031
OPENDJ-1602 (CR-5566) New pluggable storage based backend

Reduced the number of compilation errors in package "org.opends.server.backends.pluggable".



PersistItStorage.java: ADDED
Initial implementation of the Persisit storage

JebException.java: REMOVED - replaced by StorageRuntimeException for now.

DatabaseEnvironmentMonitor.java: ADDED
Copied from org.opends.server.monitors.DatabaseEnvironmentMonitor and stripped out all JE related code + changed client code to use it.

SuffixContainer.java, jeb.EntryContainer.java:
Removed getEntryCount() from interface because I need to add a ReadableStorage parameter which is unacceptable for this class.



pluggable.EntryContainer.java:
Worked with TreeName objects instead of plain String objects.
Replaced all former JE calls of "if (environment.getConfig().getTransactional())" by using a straight (Read|Write)Storage object which implementation may or may not be transactional.
Removed preparePrefix().

EntryIDSetSorter.java:
Used EntryContainer instead of SuffixContainer.

RootContainer.java:
Removed now useless methods + code.



*.java:
Passed (Readable|Writable)Storage parameters down method calls.
Replaced all references to JebException by StorageRuntimeException.
In several applyConfiguration*() methods, created write operations.
In applyConfiguration*() methods, created a ConfigChangeResult object at the start of the method and accumulated information on it instead of creating it at the end of the method + passed the ConfigChangeResult object down method calls.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11460 41b1ffd8-f28e-4786-ab96-9950f0a78031
OPENDJ-1602 (CR-5566) New pluggable storage based backend

build.xml:
Also ignore persistit package for checkstyle and compilation.

jeb.EntryContainer.java:
Changed clear() method return from long to void (return value was never used) + changed calls to Environment.truncateDatabase() to not return the number of removed records.

git-svn-id: https://svn.forgerock.org/opendj/branches/opendj3-server-dev@11461 41b1ffd8-f28e-4786-ab96-9950f0a78031