You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:26:16 UTC

[sling-org-apache-sling-discovery-commons] 13/38: SLING-5173 : rename commons impl packages to base as they are meant for reuse by discovery.impl and discovery.oak - plus avoid using abstract component class with scr annotations - use abstract getters instead - plus some more fine-tuning of log messages - plus make discovery.impl's Config also implement DiscoveryLiteConfig - plus properly handle binds happening before activate in DiscoveryServiceImpl

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.discovery.commons-1.0.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-discovery-commons.git

commit 3d923b4fbe7ede4708126811d87fd4d8030bfd42
Author: Stefan Egli <st...@apache.org>
AuthorDate: Wed Oct 21 08:29:08 2015 +0000

    SLING-5173 : rename commons impl packages to base as they are meant for reuse by discovery.impl and discovery.oak - plus avoid using abstract component class with scr annotations - use abstract getters instead - plus some more fine-tuning of log messages - plus make discovery.impl's Config also implement DiscoveryLiteConfig - plus properly handle binds happening before activate in DiscoveryServiceImpl
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/discovery/commons@1709751 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            |  8 +++
 .../providers/{impl => base}/AsyncEvent.java       |  2 +-
 .../providers/{impl => base}/AsyncEventSender.java |  2 +-
 .../{impl => base}/MinEventDelayHandler.java       | 10 ++--
 .../{impl => base}/ViewStateManagerFactory.java    |  2 +-
 .../{impl => base}/ViewStateManagerImpl.java       | 22 +++++---
 .../providers/{impl => base}/package-info.java     |  2 +-
 .../AbstractServiceWithBackgroundCheck.java        |  2 +-
 .../BaseSyncTokenConsistencyService.java}          | 60 ++++------------------
 .../spi/{impl => base}/DiscoveryLiteConfig.java    |  2 +-
 .../{impl => base}/DiscoveryLiteDescriptor.java    |  2 +-
 .../providers/spi/{impl => base}/IdMapService.java |  4 +-
 .../OakSyncTokenConsistencyService.java            | 28 +++++++++-
 .../providers/spi/{impl => base}/package-info.java |  2 +-
 .../providers/{impl => base}/ClusterTest.java      |  3 +-
 .../{impl => base}/DummyDiscoveryService.java      |  2 +-
 .../providers/{impl => base}/DummyListener.java    |  2 +-
 .../providers/{impl => base}/DummyScheduler.java   |  2 +-
 .../providers/{impl => base}/TestHelper.java       |  5 +-
 .../{impl => base}/TestMinEventDelayHandler.java   |  5 +-
 .../{impl => base}/TestViewStateManager.java       |  5 +-
 .../spi/{impl => base}/DescriptorHelper.java       |  3 +-
 .../DiscoveryLiteDescriptorBuilder.java            |  2 +-
 .../{impl => base}/DummySlingSettingsService.java  |  2 +-
 .../spi/{impl => base}/MockedResource.java         |  2 +-
 .../spi/{impl => base}/MockedResourceResolver.java |  2 +-
 .../spi/{impl => base}/RepositoryTestHelper.java   |  2 +-
 .../TestOakSyncTokenConsistencyService.java        | 11 ++--
 28 files changed, 103 insertions(+), 93 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2d595d3..e395218 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,10 @@
                 <artifactId>maven-bundle-plugin</artifactId>
                 <extensions>true</extensions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
 			<!-- discovery.commons exports a few test classes for reuse.
                  In order for others to use these, the test-jar must be built/installed too.
                  Note that 'mvn -Dmaven.test.skip=true' does NOT build the test-jar,
@@ -66,6 +70,10 @@
     </build>
     <dependencies>
         <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.scr.annotations</artifactId>
+        </dependency>
+        <dependency>
             <groupId>biz.aQute</groupId>
             <artifactId>bndlib</artifactId>
         </dependency>
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/impl/AsyncEvent.java b/src/main/java/org/apache/sling/discovery/commons/providers/base/AsyncEvent.java
similarity index 96%
rename from src/main/java/org/apache/sling/discovery/commons/providers/impl/AsyncEvent.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/base/AsyncEvent.java
index f814dfd..1a73908 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/impl/AsyncEvent.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/base/AsyncEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import org.apache.sling.discovery.TopologyEvent;
 import org.apache.sling.discovery.TopologyEventListener;
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/impl/AsyncEventSender.java b/src/main/java/org/apache/sling/discovery/commons/providers/base/AsyncEventSender.java
similarity index 99%
rename from src/main/java/org/apache/sling/discovery/commons/providers/impl/AsyncEventSender.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/base/AsyncEventSender.java
index c463350..014f522 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/impl/AsyncEventSender.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/base/AsyncEventSender.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import java.util.LinkedList;
 import java.util.List;
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/impl/MinEventDelayHandler.java b/src/main/java/org/apache/sling/discovery/commons/providers/base/MinEventDelayHandler.java
similarity index 95%
rename from src/main/java/org/apache/sling/discovery/commons/providers/impl/MinEventDelayHandler.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/base/MinEventDelayHandler.java
index f236f21..d3a9b6a 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/impl/MinEventDelayHandler.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/base/MinEventDelayHandler.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import java.util.Date;
 import java.util.concurrent.locks.Lock;
@@ -93,7 +93,9 @@ class MinEventDelayHandler {
         }
         
         if (viewStateManager.unchanged(newView)) {
-            logger.info("handlesNewView: view is unchanged, hence no delaying applicable");
+            // this will be the most frequent case
+            // hence log only with trace
+            logger.trace("handlesNewView: view is unchanged, hence no delaying applicable");
             return false;
         }
         
@@ -133,10 +135,10 @@ class MinEventDelayHandler {
                     BaseTopologyView topology = (BaseTopologyView) t;
                     
                     if (topology.isCurrent()) {
-                        logger.info("asyncDelay.run: got new view: "+topology);
+                        logger.debug("asyncDelay.run: got new view: ", topology);
                         viewStateManager.handleNewViewNonDelayed(topology);
                     } else {
-                        logger.info("asyncDelay.run: new view (still) not current, delaying again");
+                        logger.info("asyncDelay.run: new view (still/again) not current, delaying again");
                         triggerAsyncDelaying(topology);
                         // we're actually not interested in the result here
                         // if the async part failed, then we have to rely
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/impl/ViewStateManagerFactory.java b/src/main/java/org/apache/sling/discovery/commons/providers/base/ViewStateManagerFactory.java
similarity index 95%
rename from src/main/java/org/apache/sling/discovery/commons/providers/impl/ViewStateManagerFactory.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/base/ViewStateManagerFactory.java
index 41d3ec7..0b9ad02 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/impl/ViewStateManagerFactory.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/base/ViewStateManagerFactory.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import java.util.concurrent.locks.Lock;
 
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/impl/ViewStateManagerImpl.java b/src/main/java/org/apache/sling/discovery/commons/providers/base/ViewStateManagerImpl.java
similarity index 97%
rename from src/main/java/org/apache/sling/discovery/commons/providers/impl/ViewStateManagerImpl.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/base/ViewStateManagerImpl.java
index 0b31949..310fd7e 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/impl/ViewStateManagerImpl.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/base/ViewStateManagerImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -204,7 +204,7 @@ public class ViewStateManagerImpl implements ViewStateManager {
                     // otherwise we can send the TOPOLOGY_INIT now
                     logger.debug("bind: view is defined, sending INIT now to {}",
                             eventListener);
-                    enqueue(eventListener, EventFactory.newInitEvent(previousView));
+                    enqueue(eventListener, EventFactory.newInitEvent(previousView), true);
                     eventListeners.add(eventListener);
                 }
             } else {
@@ -240,7 +240,7 @@ public class ViewStateManagerImpl implements ViewStateManager {
         }
     }
     
-    private void enqueue(final TopologyEventListener da, final TopologyEvent event) {
+    private void enqueue(final TopologyEventListener da, final TopologyEvent event, boolean logInfo) {
         logger.trace("enqueue: start: topologyEvent {}, to {}", event, da);
         if (asyncEventSender==null) {
             // this should never happen - sendTopologyEvent should only be called
@@ -250,10 +250,18 @@ public class ViewStateManagerImpl implements ViewStateManager {
         }
         if (lastEventMap.get(da)==event.getType() && event.getType()==Type.TOPOLOGY_CHANGING) {
             // don't sent TOPOLOGY_CHANGING twice
-            logger.debug("enqueue: listener already got TOPOLOGY_CHANGING: {}", da);
+            if (logInfo) {
+                logger.info("enqueue: listener already got TOPOLOGY_CHANGING: {}", da);
+            } else {
+                logger.debug("enqueue: listener already got TOPOLOGY_CHANGING: {}", da);
+            }
             return;
         }
-        logger.debug("enqueue: enqueuing topologyEvent {}, to {}", event, da);
+        if (logInfo) {
+            logger.info("enqueue: enqueuing topologyEvent {}, to {}", event, da);
+        } else {
+            logger.debug("enqueue: enqueuing topologyEvent {}, to {}", event, da);
+        }
         asyncEventSender.enqueue(da, event);
         lastEventMap.put(da, event.getType());
         logger.trace("enqueue: sending topologyEvent {}, to {}", event, da);
@@ -261,10 +269,10 @@ public class ViewStateManagerImpl implements ViewStateManager {
 
     /** Internal helper method that sends a given event to a list of listeners **/
     private void enqueueForAll(final List<TopologyEventListener> audience, final TopologyEvent event) {
-        logger.debug("enqueueForAll: sending topologyEvent {}, to all ({}) listeners", event, audience.size());
+        logger.info("enqueueForAll: sending topologyEvent {}, to all ({}) listeners", event, audience.size());
         for (Iterator<TopologyEventListener> it = audience.iterator(); it.hasNext();) {
             TopologyEventListener topologyEventListener = it.next();
-            enqueue(topologyEventListener, event);
+            enqueue(topologyEventListener, event, false);
         }
         logger.trace("enqueueForAll: sent topologyEvent {}, to all ({}) listeners", event, audience.size());
     }
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/impl/package-info.java b/src/main/java/org/apache/sling/discovery/commons/providers/base/package-info.java
similarity index 94%
rename from src/main/java/org/apache/sling/discovery/commons/providers/impl/package-info.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/base/package-info.java
index 3456fd5..394e219 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/impl/package-info.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/base/package-info.java
@@ -23,7 +23,7 @@
  * @version 1.0.0
  */
 @Version("1.0.0")
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import aQute.bnd.annotation.Version;
 
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/AbstractServiceWithBackgroundCheck.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/AbstractServiceWithBackgroundCheck.java
similarity index 99%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/AbstractServiceWithBackgroundCheck.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/AbstractServiceWithBackgroundCheck.java
index 62d163c..bd87dea 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/AbstractServiceWithBackgroundCheck.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/AbstractServiceWithBackgroundCheck.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/SyncTokenConsistencyService.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/BaseSyncTokenConsistencyService.java
similarity index 73%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/SyncTokenConsistencyService.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/BaseSyncTokenConsistencyService.java
index 42ec63a..5746d8b 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/SyncTokenConsistencyService.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/BaseSyncTokenConsistencyService.java
@@ -16,12 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.ModifiableValueMap;
 import org.apache.sling.api.resource.PersistenceException;
@@ -42,67 +39,30 @@ import org.slf4j.LoggerFactory;
  * but not the 'wait while backlog' part (which is left to subclasses
  * if needed).
  */
-@Component(immediate = false)
-@Service(value = { ConsistencyService.class })
-public class SyncTokenConsistencyService extends AbstractServiceWithBackgroundCheck implements ConsistencyService {
+public abstract class BaseSyncTokenConsistencyService extends AbstractServiceWithBackgroundCheck implements ConsistencyService {
 
     protected final Logger logger = LoggerFactory.getLogger(getClass());
 
-    /** the config to be used by this class **/
-    @Reference
-    protected DiscoveryLiteConfig commonsConfig;
-
-    @Reference
-    protected ResourceResolverFactory resourceResolverFactory;
-
-    @Reference
-    protected SlingSettingsService settingsService;
-
     protected String slingId;
 
     protected long syncTokenTimeoutMillis;
     
     protected long syncTokenIntervalMillis;
 
-    public static SyncTokenConsistencyService testConstructorAndActivate(
-            DiscoveryLiteConfig commonsConfig,
-            ResourceResolverFactory resourceResolverFactory,
-            SlingSettingsService settingsService) {
-        SyncTokenConsistencyService service = testConstructor(commonsConfig, resourceResolverFactory, settingsService);
-        service.activate();
-        return service;
-    }
-    
-    public static SyncTokenConsistencyService testConstructor(
-            DiscoveryLiteConfig commonsConfig,
-            ResourceResolverFactory resourceResolverFactory,
-            SlingSettingsService settingsService) {
-        SyncTokenConsistencyService service = new SyncTokenConsistencyService();
-        if (commonsConfig == null) {
-            throw new IllegalArgumentException("commonsConfig must not be null");
-        }
-        if (resourceResolverFactory == null) {
-            throw new IllegalArgumentException("resourceResolverFactory must not be null");
-        }
-        if (settingsService == null) {
-            throw new IllegalArgumentException("settingsService must not be null");
-        }
-        service.commonsConfig = commonsConfig;
-        service.resourceResolverFactory = resourceResolverFactory;
-        service.syncTokenTimeoutMillis = commonsConfig.getBgTimeoutMillis();
-        service.syncTokenIntervalMillis = commonsConfig.getBgIntervalMillis();
-        service.settingsService = settingsService;
-        return service;
-    }
+    protected abstract DiscoveryLiteConfig getCommonsConfig();
+
+    protected abstract ResourceResolverFactory getResourceResolverFactory();
+
+    protected abstract SlingSettingsService getSettingsService();
     
     @Activate
     protected void activate() {
-        this.slingId = settingsService.getSlingId();
+        this.slingId = getSettingsService().getSlingId();
     }
     
     /** Get or create a ResourceResolver **/
     protected ResourceResolver getResourceResolver() throws LoginException {
-        return resourceResolverFactory.getAdministrativeResourceResolver(null);
+        return getResourceResolverFactory().getAdministrativeResourceResolver(null);
     }
     
     @Override
@@ -161,7 +121,7 @@ public class SyncTokenConsistencyService extends AbstractServiceWithBackgroundCh
     }
 
     private String getSyncTokenPath() {
-        return commonsConfig.getSyncTokenPath();
+        return getCommonsConfig().getSyncTokenPath();
     }
 
     private boolean seenAllSyncTokens(BaseTopologyView view) {
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteConfig.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteConfig.java
similarity index 96%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteConfig.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteConfig.java
index b43a6a4..fe811b1 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteConfig.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteConfig.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 /**
  * Provides the configuration of a few paths needed by discovery-lite processing services
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteDescriptor.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteDescriptor.java
similarity index 98%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteDescriptor.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteDescriptor.java
index eeb1591..906ab27 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteDescriptor.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteDescriptor.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import javax.jcr.Session;
 
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/IdMapService.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/IdMapService.java
similarity index 98%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/IdMapService.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/IdMapService.java
index da5a191..20ad3bc 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/IdMapService.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/IdMapService.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -42,7 +42,7 @@ import org.apache.sling.settings.SlingSettingsService;
  * do the same can map clusterNodeIds to slingIds (or vice-versa)
  */
 @Component(immediate = false)
-@Service
+@Service(value = IdMapService.class)
 public class IdMapService extends AbstractServiceWithBackgroundCheck {
 
     @Reference
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/OakSyncTokenConsistencyService.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/OakSyncTokenConsistencyService.java
similarity index 93%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/OakSyncTokenConsistencyService.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/OakSyncTokenConsistencyService.java
index bfec3b3..3a3a40b 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/OakSyncTokenConsistencyService.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/OakSyncTokenConsistencyService.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -41,7 +41,7 @@ import org.apache.sling.settings.SlingSettingsService;
  */
 @Component(immediate = false)
 @Service(value = { ConsistencyService.class })
-public class OakSyncTokenConsistencyService extends SyncTokenConsistencyService {
+public class OakSyncTokenConsistencyService extends BaseSyncTokenConsistencyService {
 
     static enum BacklogStatus {
         UNDEFINED /* when there was an error retrieving the backlog status with oak */,
@@ -56,6 +56,15 @@ public class OakSyncTokenConsistencyService extends SyncTokenConsistencyService
     @Reference
     private IdMapService idMapService;
     
+    @Reference
+    protected DiscoveryLiteConfig commonsConfig;
+
+    @Reference
+    protected ResourceResolverFactory resourceResolverFactory;
+
+    @Reference
+    protected SlingSettingsService settingsService;
+
     public static OakSyncTokenConsistencyService testConstructorAndActivate(
             final DiscoveryLiteConfig commonsConfig,
             final IdMapService idMapService,
@@ -219,6 +228,21 @@ public class OakSyncTokenConsistencyService extends SyncTokenConsistencyService
             }
         }
     }
+
+    @Override
+    protected DiscoveryLiteConfig getCommonsConfig() {
+        return commonsConfig;
+    }
+
+    @Override
+    protected ResourceResolverFactory getResourceResolverFactory() {
+        return resourceResolverFactory;
+    }
+
+    @Override
+    protected SlingSettingsService getSettingsService() {
+        return settingsService;
+    }
     
 
 }
diff --git a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/package-info.java b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/package-info.java
similarity index 93%
rename from src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/package-info.java
rename to src/main/java/org/apache/sling/discovery/commons/providers/spi/base/package-info.java
index 6eeff70..aa1fe77 100644
--- a/src/main/java/org/apache/sling/discovery/commons/providers/spi/impl/package-info.java
+++ b/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/package-info.java
@@ -23,7 +23,7 @@
  * @version 1.0.0
  */
 @Version("1.0.0")
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import aQute.bnd.annotation.Version;
 
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/ClusterTest.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/ClusterTest.java
similarity index 98%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/ClusterTest.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/ClusterTest.java
index 6ad305b..7b921dc 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/ClusterTest.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/ClusterTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import static org.junit.Assert.assertEquals;
 
@@ -30,6 +30,7 @@ import java.util.concurrent.locks.ReentrantLock;
 import org.apache.sling.discovery.TopologyEvent;
 import org.apache.sling.discovery.TopologyEvent.Type;
 import org.apache.sling.discovery.commons.providers.BaseTopologyView;
+import org.apache.sling.discovery.commons.providers.base.ViewStateManagerImpl;
 import org.apache.sling.discovery.commons.providers.spi.ConsistencyService;
 import org.junit.After;
 import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyDiscoveryService.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/DummyDiscoveryService.java
similarity index 95%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyDiscoveryService.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/DummyDiscoveryService.java
index 2ad8a61..4c6d35e 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyDiscoveryService.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/DummyDiscoveryService.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import org.apache.sling.discovery.DiscoveryService;
 import org.apache.sling.discovery.TopologyView;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyListener.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/DummyListener.java
similarity index 97%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyListener.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/DummyListener.java
index d2fb4aa..2a38101 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyListener.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/DummyListener.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import static org.junit.Assert.fail;
 
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyScheduler.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/DummyScheduler.java
similarity index 98%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyScheduler.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/DummyScheduler.java
index b9a149b..09ac453 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/DummyScheduler.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/DummyScheduler.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import java.io.Serializable;
 import java.util.Date;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/TestHelper.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java
similarity index 98%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/TestHelper.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java
index 4ea03b1..f77dc21 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/TestHelper.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
@@ -30,8 +30,9 @@ import org.apache.sling.discovery.TopologyEvent;
 import org.apache.sling.discovery.commons.providers.BaseTopologyView;
 import org.apache.sling.discovery.commons.providers.DefaultClusterView;
 import org.apache.sling.discovery.commons.providers.DefaultInstanceDescription;
-import org.apache.sling.discovery.commons.providers.EventFactory;
 import org.apache.sling.discovery.commons.providers.DummyTopologyView;
+import org.apache.sling.discovery.commons.providers.EventFactory;
+import org.apache.sling.discovery.commons.providers.base.ViewStateManagerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/TestMinEventDelayHandler.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java
similarity index 97%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/TestMinEventDelayHandler.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java
index 82e03fb..a4974df 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/TestMinEventDelayHandler.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -29,8 +29,9 @@ import org.apache.log4j.Level;
 import org.apache.log4j.LogManager;
 import org.apache.sling.discovery.commons.providers.BaseTopologyView;
 import org.apache.sling.discovery.commons.providers.DefaultClusterView;
-import org.apache.sling.discovery.commons.providers.EventFactory;
 import org.apache.sling.discovery.commons.providers.DummyTopologyView;
+import org.apache.sling.discovery.commons.providers.EventFactory;
+import org.apache.sling.discovery.commons.providers.base.ViewStateManagerImpl;
 import org.apache.sling.discovery.commons.providers.spi.ConsistencyService;
 import org.junit.After;
 import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/impl/TestViewStateManager.java b/src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java
similarity index 99%
rename from src/test/java/org/apache/sling/discovery/commons/providers/impl/TestViewStateManager.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java
index 9eda40d..5901c11 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/impl/TestViewStateManager.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.impl;
+package org.apache.sling.discovery.commons.providers.base;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -34,8 +34,9 @@ import org.apache.sling.discovery.TopologyEvent;
 import org.apache.sling.discovery.commons.providers.BaseTopologyView;
 import org.apache.sling.discovery.commons.providers.DefaultClusterView;
 import org.apache.sling.discovery.commons.providers.DefaultInstanceDescription;
-import org.apache.sling.discovery.commons.providers.EventFactory;
 import org.apache.sling.discovery.commons.providers.DummyTopologyView;
+import org.apache.sling.discovery.commons.providers.EventFactory;
+import org.apache.sling.discovery.commons.providers.base.ViewStateManagerImpl;
 import org.apache.sling.discovery.commons.providers.spi.ConsistencyService;
 import org.junit.After;
 import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DescriptorHelper.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java
similarity index 95%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DescriptorHelper.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java
index b1b2f8e..5fc6cae 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DescriptorHelper.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -30,6 +30,7 @@ import org.apache.jackrabbit.commons.SimpleValueFactory;
 import org.apache.jackrabbit.oak.util.GenericDescriptors;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
+import org.apache.sling.discovery.commons.providers.spi.base.DiscoveryLiteDescriptor;
 
 public class DescriptorHelper {
 
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteDescriptorBuilder.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteDescriptorBuilder.java
similarity index 97%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteDescriptorBuilder.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteDescriptorBuilder.java
index 5ef9eb1..a95a7aa 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DiscoveryLiteDescriptorBuilder.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DiscoveryLiteDescriptorBuilder.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.util.Arrays;
 
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DummySlingSettingsService.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DummySlingSettingsService.java
similarity index 96%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DummySlingSettingsService.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DummySlingSettingsService.java
index 46fad54..c5fc700 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/DummySlingSettingsService.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DummySlingSettingsService.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.net.URL;
 import java.util.Set;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/MockedResource.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResource.java
similarity index 99%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/MockedResource.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResource.java
index 5063bbe..229328d 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/MockedResource.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResource.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.util.Calendar;
 import java.util.Collection;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/MockedResourceResolver.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java
similarity index 99%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/MockedResourceResolver.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java
index 0350fd2..a86a380 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/MockedResourceResolver.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.io.IOException;
 import java.util.Calendar;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/RepositoryTestHelper.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java
similarity index 99%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/RepositoryTestHelper.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java
index ede5412..9e4fcfd 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/RepositoryTestHelper.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import java.io.IOException;
 import java.util.HashMap;
diff --git a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/TestOakSyncTokenConsistencyService.java b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/TestOakSyncTokenConsistencyService.java
similarity index 94%
rename from src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/TestOakSyncTokenConsistencyService.java
rename to src/test/java/org/apache/sling/discovery/commons/providers/spi/base/TestOakSyncTokenConsistencyService.java
index 4260cdb..174a2e5 100644
--- a/src/test/java/org/apache/sling/discovery/commons/providers/spi/impl/TestOakSyncTokenConsistencyService.java
+++ b/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/TestOakSyncTokenConsistencyService.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.discovery.commons.providers.spi.impl;
+package org.apache.sling.discovery.commons.providers.spi.base;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -29,9 +29,12 @@ import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.discovery.commons.providers.DummyTopologyView;
 import org.apache.sling.discovery.commons.providers.ViewStateManager;
-import org.apache.sling.discovery.commons.providers.impl.DummyListener;
-import org.apache.sling.discovery.commons.providers.impl.TestHelper;
-import org.apache.sling.discovery.commons.providers.impl.ViewStateManagerFactory;
+import org.apache.sling.discovery.commons.providers.base.DummyListener;
+import org.apache.sling.discovery.commons.providers.base.TestHelper;
+import org.apache.sling.discovery.commons.providers.base.ViewStateManagerFactory;
+import org.apache.sling.discovery.commons.providers.spi.base.DiscoveryLiteConfig;
+import org.apache.sling.discovery.commons.providers.spi.base.IdMapService;
+import org.apache.sling.discovery.commons.providers.spi.base.OakSyncTokenConsistencyService;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.junit.After;
 import org.junit.Before;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.