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

Jean-Noel Rouvignac
07.58.2014 3ab9614db1a1a1a30c271424c4189999bf71b87a
refs
author Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Friday, March 7, 2014 11:58 +0100
committer Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Friday, March 7, 2014 11:58 +0100
commit3ab9614db1a1a1a30c271424c4189999bf71b87a
tree 5e7cb0b995d2ecd5f4d249daf1e7467686af52cc tree | zip | gz
parent 7f74953ad12e78005abf77cf0261a274a0948bbe view | diff
OPENDJ-1308 Migrate schema support

Moved JE backend indexer code closer to the SDK's IndexQueryFactory.
Removed a lot of duplicated code by relying more on the ExtensibleIndexer.



ExtensibleIndexer.java:
Removed getKeys(AttributeValue, Map<byte[], Boolean>, Boolean) + Moved its code to JEExtensibleIndexer.
Moved computeModifiedKeys() to JEExtensibleIndexer.


ApproximateIndexer.java, EqualityIndexer.java, OrderingIndexer.java, SubstringIndexer.java:
Now extends ExtensibleIndexer.
Removed all code made redundant by new superclass.
Added getIndexID() (not implemented).
Added getExtensibleIndexID().
Kept getKeys(AttributeValue, Set<byte[]>).

CollationMatchingRuleFactory.java:
Extracted method addLengthAndBytes().
Inlined substringKeys(ByteString, Set<byte[]>) code into CollationSubstringExtensibleIndexer.getKeys().
Removed substringKeys(ByteString, Map<byte[], Boolean>, Boolean) and CollationSubstringExtensibleIndexer.getKeys(AttributeValue, Map<byte[], Boolean>), duplicates of ExtensibleIndexer.getKeys(AttributeValue, Map<byte[], Boolean>, Boolean).

JEExtensibleIndexer.java:
In ctor, accepted MatchingRule instead of ExtensibleMatchingRule.
In indexAttribute(List<Attribute>, Map<byte[], Boolean>, Boolean), called indexAttribute(List<Attribute>, Set<byte[]>) + put code from ExtensibleIndexer.getKeys(AttributeValue, Map<byte[], Boolean>, Boolean) here.
Moved ExtensibleIndexer.computeModifiedKeys() here.


AttributeIndex.java:
Extracted methods buildExtIndex(), openNewIndex(), open(), addEntry(), removeEntry(), modifyEntry(), setTrusted(), setRebuildStatus(), addIfNotNull().
In close(), used Utils.closeSilently().
Extracted method evaluateOrderingFilter() to factorize code for evaluateGreaterOrEqualFilter() and evaluateLessOrEqualFilter().
In applyConfigurationChange(), removed all catch(DatabaseException) because they are duplicating the larger catch(Exception) in this method + made adminActionRequired an AtomicBoolean to use it as in/out parameter.


DatabaseContainer.java:
Now implements Closeable + Made close() public.

NullIndex.java:
Made close() public.
Removed all synchronized keywords, totally unnecessary here.

TestBackendImpl.java:
Consequence of all the changes above.
Used static imports.
11 files modified
2015 ■■■■ changed files
opendj3-server-dev/src/server/org/opends/server/api/ExtensibleIndexer.java 54 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/ApproximateIndexer.java 164 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java 851 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/DatabaseContainer.java 24 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/EqualityIndexer.java 176 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/JEExtensibleIndexer.java 43 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/NullIndex.java 164 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/OrderingIndexer.java 157 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java 184 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/schema/CollationMatchingRuleFactory.java 116 ●●●● diff | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java 82 ●●●● diff | view | raw | blame | history