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

Jean-Noel Rouvignac
18.10.2014 6f031f1cfa9c786704c689c2cd224c51ca7fd34c
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Thursday, December 18, 2014 11:10 +0100
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Thursday, December 18, 2014 11:10 +0100
commit6f031f1cfa9c786704c689c2cd224c51ca7fd34c
tree 150f510467b1cfb264853e072afe3691cb84e24d tree | zip | gz
parent 7a22681c1daf90c0bdf82ae3a58b4513a4b2aa75 view | diff
OPENDJ-1602 New pluggable storage based backend

Removed Storage.openCursor() in order to always open a cursor from a ReadableStorage object.
IndexQueryFactoryImpl required some rejuggling: Previously, we had one IndexQueryFactory object for each AttributeIndex in resident memory. After current change we will create one IndexQueryFactory object before evaluating each leaf sub filters. It would be worth revisiting this at some point in the future.


Storage.java:
Removed openCursor().

ExportJob.java:
In exportLDIF() and exportContainer(), created and used a ReadableStorage to open a cursor.



Index.java, NullIndex.java:
In readRange(), added a ReadableStorage parameter to open a cursor.

AttributeIndex.java:
Added a ReadableStorage parameter to the constructor.
Removed indexQueryFactory field.
Added indexingOptions field which was previously held inside the indexQueryFactory.
Extracted method getIndexById() and made it public.
In several evaluate*() methods, added an IndexQueryFactory parameter.

EntryContainer.java:
Consequence of the change to the AttributeIndex constructor.

IndexFilter.java:
In evaluate*Filter(), created a new IndexQueryFactoryImpl before calling AttributeIndex.evaluate*() methods.

IndexQueryFactoryImpl.java:
Changed the constructor to accept an AttributeIndex parameter + removed the two previous parameters which can be inferred from the new parameter.
In several methods, make use of AttributeIndex.getIndexById() method.
In getIndexingOptions(), now call AttributeIndex.getIndexingOptions().
8 files modified
228 ■■■■ changed files
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/AttributeIndex.java 75 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryContainer.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/ExportJob.java 56 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/Index.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/IndexFilter.java 24 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java 57 ●●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/NullIndex.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Storage.java 2 ●●●●● diff | view | raw | blame | history