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

Jean-Noel Rouvignac
18.10.2014 29153572096d718224d691026231550ade7ae4b4
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
commit29153572096d718224d691026231550ade7ae4b4
tree 028fcd7c336f40ed1a310f7fefb5d666e3e09dcf tree | zip | gz
parent 8cc4a2c744b3e39568369f9edf79129be18b0cc5 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
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/AttributeIndex.java 75 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryContainer.java 4 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/ExportJob.java 56 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/Index.java 6 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/IndexFilter.java 24 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java 57 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/NullIndex.java 4 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Storage.java 2 ●●●●● diff | view | raw | blame | history