OPENDJ-1548 (CR-4579) In changelog backend, persistent searches should perform the same validations as normal searches
Added validation for changes only persistent searches inside ChangelogBackend.registerPersistentSearches().
For cookie based searches, cookie is now stored on the CookieEntrySender object rather than as a search operation attachment. This makes code easier to read and understand.
Backend.java
In registerPersistentSearch(), now throws DirectoryException.
LocalBackendSearchOperation.java:
Consequence of the change to Backend.registerPersistentSearch().
ChangelogBackend.java:
Added validatePersistentSearch() + called it from registerPersistentSearch().
Added cookie field and setCookie() to CookieEntrySender + removed COOKIE_ATTACHMENT constant + changed code that was using it + no longer pass cookie down method calls
Renamed initializeAttachements() to initializeEntrySender() + fixed a bug with the starting phase.
| | |
| | | * |
| | | * @param persistentSearch |
| | | * The persistent search operation to register with this backend |
| | | * @throws DirectoryException |
| | | * If a problem occurs while registering the persistent search |
| | | */ |
| | | public void registerPersistentSearch(PersistentSearch persistentSearch) |
| | | public void registerPersistentSearch(PersistentSearch persistentSearch) throws DirectoryException |
| | | { |
| | | persistentSearches.add(persistentSearch); |
| | | |
| | |
| | | // will be overwritten. |
| | | setResultCode(ResultCode.SUCCESS); |
| | | |
| | | |
| | | try |
| | | { |
| | | // If there's a persistent search, then register it with the server. |
| | | boolean processSearchNow = true; |
| | | if (persistentSearch != null) |
| | |
| | | } |
| | | |
| | | |
| | | // Process the search in the backend and all its subordinates. |
| | | try |
| | | { |
| | | if (processSearchNow) |
| | | { |
| | | // Process the search in the backend and all its subordinates. |
| | | backend.search(this); |
| | | } |
| | | } |