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

Jean-Noel Rouvignac
12.00.2015 3287f303677c7ec28714ded704a12cd5375d4120
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Thursday, March 12, 2015 16:00 +0100
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Thursday, March 12, 2015 16:00 +0100
commit3287f303677c7ec28714ded704a12cd5375d4120
tree fb2b87ae932608418949f623d36c8f8cc384304a tree | zip | gz
parent dec79f19f83b598539d9be183b91297070f4e10d view | diff
Get rid of too much ByteBuffer to ByteString conversions.


I kept the code close to was happening with ByteBuffer, i.e. avoiding too many allocations (I suppose).
Maybe it would be simpler to convert everything to use ByteStrings?


ImportIDSet.java:
Converted key field from ByteBuffer to a ByteSequence + changed getter return type + removed now unused setter.
Added ByteSequence key parameter to constructor.
Removed keyToByteString(), superseded by getKey().

Index.java:
In delete(WriteableStorage, ByteSequence key, ImportIDSet) and insert(WriteableStorage, ByteSequence key, ImportIDSet), removed the key parameter, because it can be accessed via ImportIDSet.getKey().

IndexOutputBuffer.java:
Changed keyBuffer field from ByteBuffer to ByteStringBuilder + simplified the code where it was used + changed getKeyBuf() return type.
Added -compare(ByteStringBuilder, ByteStringBuilder).


IndexInputBuffer.java:
In fetchKey() and compare(), changed key parameter from ByteBuffer to ByteStringBuilder.
Changed keyBuffer field from ByteBuffer to ByteStringBuilder + simplified the code where it was used.


Importer.java:
Replaced ByteBuffer with a mixture of ByteSequences. Used ByteStringBuilder where avoiding unnecessary allocations seemed interesting. Otherwise used a ByteString.
Extracted method newImportIDSet().
In IndexDBWriteTask.call(), simplified the code.
Renamed ImportIDSet record to idSet.
In DNState:
- Removed toByteString() and deepCopy(), now unnecessary
- Removed dnKey and dnValue field, replaced by ImportIDset.getKey() and entryID
- Added dn2id field for readability
- Changed DNState.writeToDB() to dnState.writeToDN2ID(ImportIDset)
- Extracted methods getId2childtreeImportIDSet() and getId2subtreeImportIDSet().
5 files modified
362 ■■■■■ changed files
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java 32 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java 261 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java 12 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexInputBuffer.java 34 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java 23 ●●●● diff | view | raw | blame | history