You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2016/11/15 12:38:36 UTC

svn commit: r1769802 [2/3] - in /sling/trunk/bundles/extensions/discovery: base/ base/src/main/java/org/apache/sling/discovery/base/connectors/announcement/ base/src/test/java/org/apache/sling/discovery/base/its/ base/src/test/java/org/apache/sling/dis...

Modified: sling/trunk/bundles/extensions/discovery/commons/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/SyncTokenService.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/SyncTokenService.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/SyncTokenService.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/main/java/org/apache/sling/discovery/commons/providers/spi/base/SyncTokenService.java Tue Nov 15 12:38:35 2016
@@ -68,7 +68,7 @@ public class SyncTokenService extends Ab
         service.activate();
         return service;
     }
-    
+
     public static SyncTokenService testConstructor(
             DiscoveryLiteConfig commonsConfig,
             ResourceResolverFactory resourceResolverFactory,
@@ -94,20 +94,20 @@ public class SyncTokenService extends Ab
         this.slingId = settingsService.getSlingId();
         logger.info("activate: activated with slingId="+slingId);
     }
-    
+
     public void setConsistencyHistory(ClusterSyncHistory consistencyHistory) {
         this.clusterSyncHistory = consistencyHistory;
     }
-    
+
     public ClusterSyncHistory getClusterSyncHistory() {
         return clusterSyncHistory;
     }
-    
+
     /** Get or create a ResourceResolver **/
     protected ResourceResolver getResourceResolver() throws LoginException {
-        return resourceResolverFactory.getAdministrativeResourceResolver(null);
+        return resourceResolverFactory.getServiceResourceResolver(null);
     }
-    
+
     @Override
     public void cancelSync() {
         cancelPreviousBackgroundCheck();
@@ -124,9 +124,9 @@ public class SyncTokenService extends Ab
     }
 
     protected void syncToken(final BaseTopologyView view, final Runnable callback) {
-        
+
         startBackgroundCheck("SyncTokenService", new BackgroundCheck() {
-            
+
             @Override
             public boolean check() {
                 // 1) first storing my syncToken
@@ -134,12 +134,12 @@ public class SyncTokenService extends Ab
                 if (!storeMySyncToken(localClusterSyncTokenId)) {
                     // if anything goes wrong above, then this will mean for the others
                     // that they will have to wait until the timeout hits
-                    
+
                     // so to try to avoid this, retry storing my sync token later:
                     clusterSyncHistory.addHistoryEntry(view, "storing my syncToken ("+localClusterSyncTokenId+")");
                     return false;
                 }
-                
+
                 // 2) then check if all others have done the same already
                 return seenAllSyncTokens(view);
             }
@@ -200,7 +200,7 @@ public class SyncTokenService extends Ab
             Resource resource = ResourceHelper.getOrCreateResource(resourceResolver, getSyncTokenPath());
             ValueMap syncTokens = resource.adaptTo(ValueMap.class);
             String syncToken = view.getLocalClusterSyncTokenId();
-            
+
             boolean success = true;
             StringBuffer historyEntry = new StringBuffer();
             for (InstanceDescription instance : view.getLocalInstance().getClusterView().getInstances()) {
@@ -232,7 +232,7 @@ public class SyncTokenService extends Ab
             } else {
                 clusterSyncHistory.addHistoryEntry(view, "seen all syncTokens");
             }
-            
+
             resourceResolver.commit();
             logger.info("seenAllSyncTokens: seen all syncTokens!");
             return true;
@@ -249,5 +249,5 @@ public class SyncTokenService extends Ab
             }
         }
     }
-    
+
 }

Modified: sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestHelper.java Tue Nov 15 12:38:35 2016
@@ -19,7 +19,6 @@
 package org.apache.sling.discovery.commons.providers.base;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
@@ -33,7 +32,6 @@ import org.apache.sling.discovery.common
 import org.apache.sling.discovery.commons.providers.DefaultInstanceDescription;
 import org.apache.sling.discovery.commons.providers.DummyTopologyView;
 import org.apache.sling.discovery.commons.providers.EventHelper;
-import org.apache.sling.discovery.commons.providers.base.ViewStateManagerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -78,7 +76,7 @@ public class TestHelper {
             if (!mgr.getAsyncEventSender().hasInFlightEvent()) {
                 return;
             }
-            
+
             // sleep outside of synchronized to keep test-influence
             // to a minimum
             try {
@@ -96,7 +94,7 @@ public class TestHelper {
     }
 
     /** does couple loops randomly calling handleChanging() (or not) and then handleNewView().
-     * Note: random is passed to allow customizing and not hardcoding this method to a particular random 
+     * Note: random is passed to allow customizing and not hardcoding this method to a particular random
      * @throws InterruptedException **/
     public static void randomEventLoop(ViewStateManagerImpl mgr, DummyDiscoveryService sds, int loopSize, int delayInMillis, final Random random, DummyListener... listeners) throws InterruptedException {
         for(int i=0; i<loopSize; i++) {

Modified: sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestMinEventDelayHandler.java Tue Nov 15 12:38:35 2016
@@ -28,7 +28,7 @@ import java.util.UUID;
 import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.apache.log4j.spi.RootLogger;
 import org.apache.sling.commons.testing.junit.categories.Slow;
 import org.apache.sling.discovery.commons.providers.BaseTopologyView;
 import org.apache.sling.discovery.commons.providers.DefaultClusterView;
@@ -38,7 +38,6 @@ import org.apache.sling.discovery.common
 import org.apache.sling.discovery.commons.providers.spi.ClusterSyncService;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
@@ -49,9 +48,9 @@ public class TestMinEventDelayHandler {
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     private ViewStateManagerImpl mgr;
-    
+
     private Random defaultRandom;
-    
+
     private DummyDiscoveryService sds;
 
     private Level logLevel;
@@ -61,11 +60,12 @@ public class TestMinEventDelayHandler {
     @Before
     public void setup() throws Exception {
         mgr = new ViewStateManagerImpl(new ReentrantLock(), new ClusterSyncService() {
-            
+
+            @Override
             public void sync(BaseTopologyView view, Runnable callback) {
                 callback.run();
             }
-            
+
             @Override
             public void cancelSync() {
                 // nothing to cancel, we're auto-run
@@ -77,7 +77,7 @@ public class TestMinEventDelayHandler {
         sds = new DummyDiscoveryService();
         mgr.installMinEventDelayHandler(sds, scheduler, 1);
 
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         logLevel = discoveryLogger.getLevel();
         discoveryLogger.setLevel(Level.INFO); // changed from Level.DEBUG
     }
@@ -86,7 +86,7 @@ public class TestMinEventDelayHandler {
     public void teardown() throws Exception {
         mgr = null;
         defaultRandom= null;
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(logLevel);
     }
     
@@ -103,9 +103,9 @@ public class TestMinEventDelayHandler {
         mgr.handleActivated();
         TestHelper.assertNoEvents(listener);
         final DummyTopologyView view1 = new DummyTopologyView().addInstance();
-        final DummyTopologyView view2 = DummyTopologyView.clone(view1).addInstance(UUID.randomUUID().toString(), 
+        final DummyTopologyView view2 = DummyTopologyView.clone(view1).addInstance(UUID.randomUUID().toString(),
                 (DefaultClusterView) view1.getLocalInstance().getClusterView(), false, false);
-        final DummyTopologyView view3 = DummyTopologyView.clone(view1).addInstance(UUID.randomUUID().toString(), 
+        final DummyTopologyView view3 = DummyTopologyView.clone(view1).addInstance(UUID.randomUUID().toString(),
                 (DefaultClusterView) view1.getLocalInstance().getClusterView(), false, false);
         logger.info("testReactivate: calling handleNewView...");
         mgr.handleNewView(view1);
@@ -125,7 +125,7 @@ public class TestMinEventDelayHandler {
         assertEquals(0, mgr.waitForAsyncEvents(2000));
         logger.info("testReactivate: asserting CHANGED event");
         TestHelper.assertEvents(mgr, listener, EventHelper.newChangedEvent(view1, view2));
-        
+
         // now do the above again, but this time do a handleDeactivated before receiving another changed event
         logger.info("testReactivate: calling handleChanging...");
         mgr.handleChanging();
@@ -135,21 +135,21 @@ public class TestMinEventDelayHandler {
         TestHelper.assertNoEvents(listener);
         // make sure the MinEventDelayHandler finds a topology when coming back from the delaying, so:
         sds.setTopoology(view3);
-        
+
         logger.info("testReactivate: doing handleDeactivated");
         final AsyncEventSender asyncEventSender = mgr.getAsyncEventSender();
         Field field = mgr.getClass().getDeclaredField("minEventDelayHandler");
         field.setAccessible(true);
         MinEventDelayHandler minEventDelayHandler = (MinEventDelayHandler) field.get(mgr);
         assertNotNull(minEventDelayHandler);
-        
+
         // marking view3 as not current
         view3.setNotCurrent();
         sds.setTopoology(view3);
-        
+
         mgr.handleDeactivated();
         TestHelper.assertNoEvents(listener);
-        
+
         logger.info("testReactivate: now waiting 5 sec to make sure the MinEventDelayHandler would be finished");
         TestHelper.assertNoEvents(listener);
         Thread.sleep(5000);
@@ -214,7 +214,7 @@ public class TestMinEventDelayHandler {
             Thread.sleep(1000);
         }
     }
-    
+
     @Test
     public void testLongMinDelay() throws Exception {
         mgr.installMinEventDelayHandler(sds, scheduler, 5);

Modified: sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/base/TestViewStateManager.java Tue Nov 15 12:38:35 2016
@@ -31,8 +31,7 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
-import org.apache.sling.commons.testing.junit.categories.Slow;
+import org.apache.log4j.spi.RootLogger;
 import org.apache.sling.discovery.ClusterView;
 import org.apache.sling.discovery.DiscoveryService;
 import org.apache.sling.discovery.InstanceDescription;
@@ -47,7 +46,6 @@ import org.apache.sling.discovery.common
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -64,7 +62,8 @@ public class TestViewStateManager {
             this.lock = lock;
             this.semaphore = semaphore;
         }
-        
+
+        @Override
         public void sync(BaseTopologyView view, Runnable callback) {
             try {
                 lock.unlock();
@@ -97,22 +96,23 @@ public class TestViewStateManager {
     @Before
     public void setup() throws Exception {
         mgr = new ViewStateManagerImpl(new ReentrantLock(), new ClusterSyncService() {
-            
+
+            @Override
             public void sync(BaseTopologyView view, Runnable callback) {
                 callback.run();
             }
-            
+
             @Override
             public void cancelSync() {
                 // nothing to cancel, we're auto-run
             }
         });
         defaultRandom = new Random(1234123412); // I want randomness yes, but deterministic, for some methods at least
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         logLevel = discoveryLogger.getLevel();
         discoveryLogger.setLevel(Level.INFO);
     }
-    
+
     @After
     public void teardown() throws Exception {
         if (mgr != null) {
@@ -121,7 +121,7 @@ public class TestViewStateManager {
         }
         mgr = null;
         defaultRandom= null;
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(logLevel);
     }
     
@@ -172,7 +172,7 @@ public class TestViewStateManager {
         mgr.bind(listener); // we should be generous and allow duplicate registration
         assertTrue(mgr.unbind(listener));
         assertFalse(mgr.unbind(listener));
-        
+
         mgr.handleActivated();
         assertFalse(mgr.unbind(listener));
         mgr.bind(listener);
@@ -180,7 +180,7 @@ public class TestViewStateManager {
         assertTrue(mgr.unbind(listener));
         assertFalse(mgr.unbind(listener));
     }
-    
+
     @Test
     public void testBindActivateChangingChanged() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -195,7 +195,7 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newInitEvent(view));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindChangingActivateChanged() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -210,7 +210,7 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newInitEvent(view));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindChangingChangedActivate() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -225,7 +225,7 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newInitEvent(view));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindChangingChangedChangingActivate() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -245,7 +245,7 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newInitEvent(view2));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindChangedChangingActivate() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -263,18 +263,19 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newInitEvent(view2));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testCancelSync() throws Exception {
         final List<Runnable> syncCallbacks = new LinkedList<Runnable>();
         mgr = new ViewStateManagerImpl(new ReentrantLock(), new ClusterSyncService() {
-            
+
+            @Override
             public void sync(BaseTopologyView view, Runnable callback) {
                 synchronized(syncCallbacks) {
                     syncCallbacks.add(callback);
                 }
             }
-            
+
             @Override
             public void cancelSync() {
                 synchronized(syncCallbacks) {
@@ -295,7 +296,7 @@ public class TestViewStateManager {
         }
         String id1 = UUID.randomUUID().toString();
         String id2 = UUID.randomUUID().toString();
-        final BaseTopologyView view2 = TestHelper.newView(true, id1, id1, id1, id2); 
+        final BaseTopologyView view2 = TestHelper.newView(true, id1, id1, id1, id2);
         mgr.handleNewView(view2);
         assertEquals(0, mgr.waitForAsyncEvents(1000));
         TestHelper.assertNoEvents(listener);
@@ -307,7 +308,7 @@ public class TestViewStateManager {
         assertEquals(0, mgr.waitForAsyncEvents(1000));
         assertEvents(listener, EventHelper.newInitEvent(view2));
     }
-    
+
     @Test
     public void testActivateBindChangingChanged() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -332,7 +333,7 @@ public class TestViewStateManager {
         mgr.bind(listener);
         mgr.handleChanging();
         DummyTopologyView oldView = new DummyTopologyView().addInstance();
-        DefaultInstanceDescription localInstance = 
+        DefaultInstanceDescription localInstance =
                 (DefaultInstanceDescription) oldView.getLocalInstance();
         localInstance.setProperty("foo", "bar1");
         mgr.handleNewView(oldView);
@@ -381,12 +382,12 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newInitEvent(view));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindActivateBindChangingChanged() throws Exception {
         final DummyListener listener1 = new DummyListener();
         final DummyListener listener2 = new DummyListener();
-        
+
         mgr.bind(listener1);
         TestHelper.assertNoEvents(listener1);
         mgr.handleActivated();
@@ -401,7 +402,7 @@ public class TestViewStateManager {
         mgr.handleNewView(view);
         assertEvents(listener1, EventHelper.newInitEvent(view));
         assertEvents(listener2, EventHelper.newInitEvent(view));
-        
+
         randomEventLoop(defaultRandom, listener1, listener2);
     }
 
@@ -409,7 +410,7 @@ public class TestViewStateManager {
     public void testBindActivateChangingBindChanged() throws Exception {
         final DummyListener listener1 = new DummyListener();
         final DummyListener listener2 = new DummyListener();
-        
+
         mgr.bind(listener1);
         TestHelper.assertNoEvents(listener1);
         mgr.handleActivated();
@@ -426,7 +427,7 @@ public class TestViewStateManager {
 
         randomEventLoop(defaultRandom, listener1, listener2);
     }
-    
+
     @Test
     public void testActivateBindChangingDuplicateHandleNewView() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -440,7 +441,7 @@ public class TestViewStateManager {
         TestHelper.assertNoEvents(listener);
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testActivateBindChangingChangedBindDuplicateHandleNewView() throws Exception {
         final DummyListener listener1 = new DummyListener();
@@ -450,7 +451,7 @@ public class TestViewStateManager {
         final DummyTopologyView view = new DummyTopologyView().addInstance();
         mgr.handleNewView(view);
         assertEvents(listener1, EventHelper.newInitEvent(view));
-        
+
         final DummyListener listener2 = new DummyListener();
         mgr.bind(listener2);
         mgr.handleNewView(DummyTopologyView.clone(view));
@@ -458,7 +459,7 @@ public class TestViewStateManager {
         assertEvents(listener2, EventHelper.newInitEvent(view));
         randomEventLoop(defaultRandom, listener1, listener2);
     }
-    
+
     @Test
     public void testActivateChangedBindDuplicateHandleNewView() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -473,7 +474,7 @@ public class TestViewStateManager {
         TestHelper.assertNoEvents(listener);
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindActivateChangedChanged() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -491,7 +492,7 @@ public class TestViewStateManager {
         assertEvents(listener, EventHelper.newChangingEvent(view1), EventHelper.newChangedEvent(view1, view2));
         randomEventLoop(defaultRandom, listener);
     }
-    
+
     @Test
     public void testBindActivateChangedDeactivateChangingActivateChanged() throws Exception {
         final DummyListener listener = new DummyListener();
@@ -560,11 +561,11 @@ public class TestViewStateManager {
         mgr.handleNewView(view2);
         assertEvents(listener, EventHelper.newInitEvent(view2));
     }
-    
+
     @Test
     public void testClusterSyncService_noConcurrency() throws Exception {
-        final org.apache.log4j.Logger commonsLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery.commons.providers");
-        final org.apache.log4j.Level logLevel = commonsLogger.getLevel();
+        final org.apache.log4j.Logger commonsLogger = RootLogger.getLogger("org.apache.sling.discovery.commons.providers");
+//        final org.apache.log4j.Level logLevel = commonsLogger.getLevel();
         commonsLogger.setLevel(Level.INFO); // change here to DEBUG in case of issues with this test
         final Semaphore serviceSemaphore = new Semaphore(0);
         final ReentrantLock lock = new ReentrantLock();
@@ -584,10 +585,11 @@ public class TestViewStateManager {
                 .addInstance(slingId2, cluster, false, false);
         async(new Runnable() {
 
+            @Override
             public void run() {
                 mgr.handleNewView(view1);
             }
-            
+
         });
         Thread.sleep(1000);
         TestHelper.assertNoEvents(listener);
@@ -600,10 +602,11 @@ public class TestViewStateManager {
         view2.removeInstance(slingId2);
         async(new Runnable() {
 
+            @Override
             public void run() {
                 mgr.handleNewView(view2);
             }
-            
+
         });
         logger.debug("run: waiting for 1sec");
         Thread.sleep(1000);
@@ -624,7 +627,7 @@ public class TestViewStateManager {
 
     @Test
     public void testOnlyDiffersInProperties() throws Exception {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(Level.INFO); // changed from Level.DEBUG
         logger.info("testOnlyDiffersInProperties: start");
         final String slingId1 = UUID.randomUUID().toString();
@@ -639,7 +642,7 @@ public class TestViewStateManager {
         final DummyTopologyView view2 = DummyTopologyView.clone(view1).removeInstance(slingId2);
         final DummyTopologyView view3 = DummyTopologyView.clone(view1).removeInstance(slingId2).removeInstance(slingId3);
         DummyTopologyView view1Cloned = DummyTopologyView.clone(view1);
-        
+
         logger.info("testOnlyDiffersInProperties: handleNewView(view1)");
         mgr.handleNewView(view1);
         logger.info("testOnlyDiffersInProperties: handleActivated()");
@@ -671,7 +674,7 @@ public class TestViewStateManager {
         i4_1.setProperty("a", "b");
         logger.info("testOnlyDiffersInProperties: onlyDiffersInProperties(view4)");
         assertTrue(mgr.onlyDiffersInProperties(view4));
-    
+
         DefaultInstanceDescription i5_1 = (DefaultInstanceDescription) view5.getInstance(slingId1);
         i5_1.setProperty("a", "b");
         logger.info("testOnlyDiffersInProperties: onlyDiffersInProperties(view5)");
@@ -701,7 +704,7 @@ public class TestViewStateManager {
         view6.setId(originalId);
         logger.info("testOnlyDiffersInProperties: onlyDiffersInProperties(view6) [5]");
         assertTrue(mgr.onlyDiffersInProperties(view6));
-        
+
         // hack: we're modifying the view *in the ViewStateManagerImpl* here!!:
         view4.setId(null);
 

Modified: sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/DescriptorHelper.java Tue Nov 15 12:38:35 2016
@@ -30,24 +30,23 @@ import org.apache.jackrabbit.commons.Sim
 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 {
 
     public static void setDiscoveryLiteDescriptor(ResourceResolverFactory factory, DiscoveryLiteDescriptorBuilder builder) throws Exception {
         setDescriptor(factory, DiscoveryLiteDescriptor.OAK_DISCOVERYLITE_CLUSTERVIEW, builder.asJson());
     }
-    
+
     public static void setDescriptor(ResourceResolverFactory factory, String key,
             String value) throws Exception {
-        ResourceResolver resourceResolver = factory.getAdministrativeResourceResolver(null);
+        ResourceResolver resourceResolver = factory.getServiceResourceResolver(null);
         try{
             Session session = resourceResolver.adaptTo(Session.class);
             if (session == null) {
                 return;
             }
             Repository repo = session.getRepository();
-            
+
             //<hack>
 //            Method setDescriptorMethod = repo.getClass().
 //                    getDeclaredMethod("setDescriptor", String.class, String.class);
@@ -67,7 +66,7 @@ public class DescriptorHelper {
                 descriptors.put(key, valueFactory.createValue(value), true, true);
             }
             //</hack>
-            
+
             //<verify-hack>
             assertEquals(value, repo.getDescriptor(key));
             //</verify-hack>

Modified: sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/MockedResourceResolver.java Tue Nov 15 12:38:35 2016
@@ -96,6 +96,7 @@ public class MockedResourceResolver impl
     }
 
 
+    @Override
     @SuppressWarnings("unchecked")
     public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
         if (type.equals(Session.class)) {
@@ -110,27 +111,33 @@ public class MockedResourceResolver impl
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Resource resolve(HttpServletRequest request, String absPath) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Resource resolve(String absPath) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     @Deprecated
     public Resource resolve(HttpServletRequest request) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public String map(String resourcePath) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public String map(HttpServletRequest request, String resourcePath) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Resource getResource(String path) {
         Session session;
         try {
@@ -144,6 +151,7 @@ public class MockedResourceResolver impl
         return new MockedResource(this, path, "nt:unstructured");
     }
 
+    @Override
     public Resource getResource(Resource base, String path) {
         if (base.getPath().equals("/")) {
             return getResource("/" + path);
@@ -152,20 +160,24 @@ public class MockedResourceResolver impl
         }
     }
 
+    @Override
     public String[] getSearchPath() {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Iterator<Resource> listChildren(Resource parent) {
         try {
             Node node = parent.adaptTo(Node.class);
             final NodeIterator nodes = node.getNodes();
             return new Iterator<Resource>() {
 
+                @Override
                 public void remove() {
                     throw new UnsupportedOperationException();
                 }
 
+                @Override
                 public Resource next() {
                     Node next = nodes.nextNode();
                     try {
@@ -177,6 +189,7 @@ public class MockedResourceResolver impl
                     }
                 }
 
+                @Override
                 public boolean hasNext() {
                     return nodes.hasNext();
                 }
@@ -186,28 +199,34 @@ public class MockedResourceResolver impl
         }
     }
 
+    @Override
     public Iterable<Resource> getChildren(Resource parent) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Iterator<Resource> findResources(String query, String language) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Iterator<Map<String, Object>> queryResources(String query,
             String language) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public ResourceResolver clone(Map<String, Object> authenticationInfo)
             throws LoginException {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public boolean isLive() {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public void close() {
         Iterator<MockedResource> it = resources.iterator();
         while (it.hasNext()) {
@@ -226,18 +245,22 @@ public class MockedResourceResolver impl
         resources.add(mockedResource);
     }
 
+    @Override
     public String getUserID() {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Iterator<String> getAttributeNames() {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public Object getAttribute(String name) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public void delete(Resource resource) throws PersistenceException {
         if (resources.contains(resource)) {
             resources.remove(resource);
@@ -252,6 +275,7 @@ public class MockedResourceResolver impl
         }
     }
 
+    @Override
     public Resource create(Resource parent, String name,
             Map<String, Object> properties) throws PersistenceException {
         final Node parentNode = parent.adaptTo(Node.class);
@@ -286,6 +310,7 @@ public class MockedResourceResolver impl
         }
     }
 
+    @Override
     public void revert() {
         try {
             this.session.refresh(false);
@@ -294,6 +319,7 @@ public class MockedResourceResolver impl
         }
     }
 
+    @Override
     public void commit() throws PersistenceException {
         try {
             this.session.save();
@@ -302,37 +328,43 @@ public class MockedResourceResolver impl
         }
     }
 
+    @Override
     public boolean hasChanges() {
         throw new UnsupportedOperationException("Not implemented");
     }
 
+    @Override
     public String getParentResourceType(Resource resource) {
         // TODO Auto-generated method stub
         return null;
     }
 
+    @Override
     public String getParentResourceType(String resourceType) {
         // TODO Auto-generated method stub
         return null;
     }
 
+    @Override
     public boolean isResourceType(Resource resource, String resourceType) {
         // TODO Auto-generated method stub
         return false;
     }
 
+    @Override
     public void refresh() {
         // TODO Auto-generated method stub
 
     }
 
     @Override
-    public Resource getParent(Resource child) {
-        throw new UnsupportedOperationException("Not implemented");
+    public boolean hasChildren(Resource arg0) {
+        Iterable<Resource> iter = this.getChildren(arg0);
+        return iter.iterator().hasNext();
     }
 
     @Override
-    public boolean hasChildren(Resource resource) {
+    public Resource getParent(Resource child) {
         throw new UnsupportedOperationException("Not implemented");
     }
 

Modified: sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java (original)
+++ sling/trunk/bundles/extensions/discovery/commons/src/test/java/org/apache/sling/discovery/commons/providers/spi/base/RepositoryTestHelper.java Tue Nov 15 12:38:35 2016
@@ -64,10 +64,10 @@ import org.slf4j.LoggerFactory;
 public class RepositoryTestHelper {
 
     private final static Logger logger = LoggerFactory.getLogger(RepositoryTestHelper.class);
-    
+
     public static void dumpRepo(ResourceResolverFactory resourceResolverFactory) throws Exception {
         Session session = resourceResolverFactory
-                .getAdministrativeResourceResolver(null).adaptTo(Session.class);
+                .getServiceResourceResolver(null).adaptTo(Session.class);
         logger.info("dumpRepo: ====== START =====");
         logger.info("dumpRepo: repo = " + session.getRepository());
 
@@ -78,7 +78,7 @@ public class RepositoryTestHelper {
 
         session.logout();
     }
-    
+
     public static void dump(Node node) throws RepositoryException {
         if (node.getPath().equals("/jcr:system")
                 || node.getPath().equals("/rep:policy")) {
@@ -153,7 +153,7 @@ public class RepositoryTestHelper {
     public static Repository createOakRepository() {
         return createOakRepository(new MemoryNodeStore());
     }
-    
+
     public static Repository createOakRepository(NodeStore nodeStore) {
         DefaultWhiteboard whiteboard = new DefaultWhiteboard();
         final Oak oak = new Oak(nodeStore)
@@ -191,7 +191,7 @@ public class RepositoryTestHelper {
 //        .withAsyncIndexing()
         .with(whiteboard)
         ;
-        
+
 //        if (commitRateLimiter != null) {
 //            oak.with(commitRateLimiter);
 //        }
@@ -229,14 +229,16 @@ public class RepositoryTestHelper {
         context.checking(new Expectations() {
             {
                 allowing(resourceResolverFactory)
-                        .getAdministrativeResourceResolver(null);
+                        .getServiceResourceResolver(null);
                 will(new Action() {
     
+                    @Override
                     public Object invoke(Invocation invocation)
                             throws Throwable {
                     	return new MockedResourceResolver(repositoryOrNull);
                     }
     
+                    @Override
                     public void describeTo(Description arg0) {
                         arg0.appendText("whateva - im going to create a new mockedresourceresolver");
                     }

Modified: sling/trunk/bundles/extensions/discovery/impl/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/pom.xml?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/pom.xml (original)
+++ sling/trunk/bundles/extensions/discovery/impl/pom.xml Tue Nov 15 12:38:35 2016
@@ -153,7 +153,7 @@
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.discovery.commons</artifactId>
-			<version>1.0.4</version>
+			<version>1.0.17-SNAPSHOT</version>
             <scope>provided</scope>
 		</dependency>
         <!-- besides including discovery.commons' normal jar above, 
@@ -162,7 +162,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.discovery.commons</artifactId>
-            <version>1.0.4</version>
+            <version>1.0.17-SNAPSHOT</version>
             <scope>test</scope>
             <type>test-jar</type>
         </dependency>
@@ -185,7 +185,7 @@
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.api</artifactId>
-			<version>2.4.0</version>
+			<version>2.5.0</version>
             <scope>provided</scope>
 		</dependency>
         <dependency>

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java Tue Nov 15 12:38:35 2016
@@ -103,7 +103,7 @@ public class DiscoveryServiceImpl extend
             logger.debug("sync: no syncToken applicable");
             callback.run();
         }
-        
+
         @Override
         public void cancelSync() {
             // cancelling not applicable
@@ -115,7 +115,7 @@ public class DiscoveryServiceImpl extend
 
     @Reference(cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC, referenceInterface = TopologyEventListener.class)
     private TopologyEventListener[] eventListeners = new TopologyEventListener[0];
-    
+
     /**
      * All property providers.
      */
@@ -151,7 +151,7 @@ public class DiscoveryServiceImpl extend
 
     @Reference
     private Config config;
-    
+
     @Reference
     private SyncTokenService syncTokenService;
 
@@ -162,15 +162,16 @@ public class DiscoveryServiceImpl extend
 
     private ViewStateManager viewStateManager;
 
-    private final ReentrantLock viewStateManagerLock = new ReentrantLock(); 
-    
+    private final ReentrantLock viewStateManagerLock = new ReentrantLock();
+
     private final List<TopologyEventListener> pendingListeners = new LinkedList<TopologyEventListener>();
 
     private TopologyEventListener changePropagationListener = new TopologyEventListener() {
 
+        @Override
         public void handleTopologyEvent(TopologyEvent event) {
             HeartbeatHandler handler = heartbeatHandler;
-            if (activated && handler != null 
+            if (activated && handler != null
                     && (event.getType() == Type.TOPOLOGY_CHANGED || event.getType() == Type.PROPERTIES_CHANGED)) {
                 logger.info("changePropagationListener.handleTopologyEvent: topology changed - propagate through connectors");
                 handler.triggerAsyncConnectorPing();
@@ -179,8 +180,8 @@ public class DiscoveryServiceImpl extend
     };
 
     /** for testing only **/
-    public static BaseDiscoveryService testConstructor(ResourceResolverFactory resourceResolverFactory, 
-            AnnouncementRegistry announcementRegistry, 
+    public static BaseDiscoveryService testConstructor(ResourceResolverFactory resourceResolverFactory,
+            AnnouncementRegistry announcementRegistry,
             ConnectorRegistry connectorRegistry,
             ClusterViewServiceImpl clusterViewService,
             HeartbeatHandler heartbeatHandler,
@@ -225,11 +226,12 @@ public class DiscoveryServiceImpl extend
             logger.warn("registerMBean: Unable to register DiscoveryServiceImpl MBean", t);
         }
     }
-    
+
+    @Override
     protected void handleIsolatedFromTopology() {
         if (heartbeatHandler!=null) {
             // SLING-5030 part 2: when we detect being isolated we should
-            // step at the end of the leader-election queue and 
+            // step at the end of the leader-election queue and
             // that can be achieved by resetting the leaderElectionId
             // (which will in turn take effect on the next round of
             // voting, or also double-checked when the local instance votes)
@@ -244,7 +246,7 @@ public class DiscoveryServiceImpl extend
             }
         }
     }
-    
+
     /**
      * Activate this service
      */
@@ -287,7 +289,7 @@ public class DiscoveryServiceImpl extend
             // the first TOPOLOGY_INIT and afterwards
             DefaultClusterView isolatedCluster = new DefaultClusterView(isolatedClusterId);
             Map<String, String> emptyProperties = new HashMap<String, String>();
-            DefaultInstanceDescription isolatedInstance = 
+            DefaultInstanceDescription isolatedInstance =
                     new DefaultInstanceDescription(isolatedCluster, true, true, slingId, emptyProperties);
             Collection<InstanceDescription> col = new ArrayList<InstanceDescription>();
             col.add(isolatedInstance);
@@ -327,7 +329,7 @@ public class DiscoveryServiceImpl extend
                 viewStateManager.bind(listener);
             }
             pendingListeners.clear();
-            
+
             viewStateManager.bind(changePropagationListener);
         } finally {
             if (viewStateManagerLock!=null) {
@@ -349,8 +351,8 @@ public class DiscoveryServiceImpl extend
                 }
             }
         }
-        
-        registerMBean(bundleContext);        
+
+        registerMBean(bundleContext);
 
         logger.debug("DiscoveryServiceImpl activated.");
     }
@@ -367,7 +369,7 @@ public class DiscoveryServiceImpl extend
                 viewStateManager.unbind(changePropagationListener);
                 viewStateManager.handleDeactivated();
             }
-            
+
             activated = false;
         } finally {
             if (viewStateManagerLock!=null) {
@@ -512,7 +514,7 @@ public class DiscoveryServiceImpl extend
         ResourceResolver resourceResolver = null;
         try {
             resourceResolver = resourceResolverFactory
-                    .getAdministrativeResourceResolver(null);
+                    .getServiceResourceResolver(null);
 
             Resource myInstance = ResourceHelper
                     .getOrCreateResource(
@@ -642,6 +644,7 @@ public class DiscoveryServiceImpl extend
 		/**
          * @see java.lang.Comparable#compareTo(java.lang.Object)
          */
+        @Override
         public int compareTo(final ProviderInfo o) {
             // Sort by rank in ascending order.
             if (this.ranking < o.ranking) {
@@ -666,10 +669,10 @@ public class DiscoveryServiceImpl extend
             return provider.hashCode();
         }
     }
-    
-    /** 
+
+    /**
      * only checks for local clusterView changes.
-     * thus eg avoids doing synchronized with annotationregistry 
+     * thus eg avoids doing synchronized with annotationregistry
      **/
     public void checkForLocalClusterViewChange() {
         viewStateManagerLock.lock();
@@ -772,20 +775,22 @@ public class DiscoveryServiceImpl extend
             activated = false;
 		}
 	}
-	
+
+    @Override
     protected ClusterViewService getClusterViewService() {
         return clusterViewService;
     }
-    
+
     public ClusterViewServiceImpl getClusterViewServiceImpl() {
         return clusterViewService;
     }
 
+    @Override
     protected AnnouncementRegistry getAnnouncementRegistry() {
         return announcementRegistry;
     }
 
-    /** for testing only 
+    /** for testing only
      * @return */
     protected ViewStateManager getViewStateManager() {
         return viewStateManager;

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/TopologyWebConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/TopologyWebConsolePlugin.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/TopologyWebConsolePlugin.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/TopologyWebConsolePlugin.java Tue Nov 15 12:38:35 2016
@@ -44,7 +44,6 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Properties;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.felix.webconsole.AbstractWebConsolePlugin;
 import org.apache.felix.webconsole.WebConsoleConstants;
@@ -175,6 +174,7 @@ public class TopologyWebConsolePlugin ex
 
                 tv.findInstances(new InstanceFilter() {
 
+                    @Override
                     public boolean accept(InstanceDescription instance) {
                         String slingId = instance.getSlingId();
                     	if (logger.isDebugEnabled()) {
@@ -483,7 +483,7 @@ public class TopologyWebConsolePlugin ex
         pw.println("</tbody>");
         pw.println("</table>");
     }
-    
+
     private String beautifiedDueTime(long secondsDue) {
         if (secondsDue<-1) {
             return "overdue";
@@ -569,6 +569,7 @@ public class TopologyWebConsolePlugin ex
     /**
      * keep a truncated history of the log events for information purpose (to be shown in the webconsole)
      */
+    @Override
     public void handleTopologyEvent(final TopologyEvent event) {
         if (event.getType() == Type.PROPERTIES_CHANGED) {
             this.currentView = event.getNewView();
@@ -600,7 +601,7 @@ public class TopologyWebConsolePlugin ex
                         sb.append(", ");
                     }
                     sb.append("on instance "
-                            + newInstanceDescription.getSlingId() + (newInstanceDescription.isLeader() ? " [isLeader]" : "") 
+                            + newInstanceDescription.getSlingId() + (newInstanceDescription.isLeader() ? " [isLeader]" : "")
                             + ": " + diff);
                 }
             }
@@ -669,7 +670,7 @@ public class TopologyWebConsolePlugin ex
                         }
                     }
                 }
-    
+
                 addEventLog(
                         event.getType(),
                         "old view: " + shortViewInfo(event.getOldView())
@@ -688,6 +689,7 @@ public class TopologyWebConsolePlugin ex
         Set<InstanceDescription> foundInstances = view
                 .findInstances(new InstanceFilter() {
 
+                    @Override
                     public boolean accept(InstanceDescription instance) {
                         return instance.getSlingId().equals(slingId);
                     }
@@ -920,7 +922,7 @@ public class TopologyWebConsolePlugin ex
         }
         pw.println();
         pw.println();
-    
+
     }
 
     /**

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/ClusterViewServiceImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/ClusterViewServiceImpl.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/ClusterViewServiceImpl.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/ClusterViewServiceImpl.java Tue Nov 15 12:38:35 2016
@@ -69,13 +69,14 @@ public class ClusterViewServiceImpl impl
         return service;
     }
 
+    @Override
     public String getSlingId() {
     	if (settingsService==null) {
     		return null;
     	}
         return settingsService.getSlingId();
     }
-    
+
     public void invalidateEstablishedViewId(String establishedViewId) {
         if (establishedViewId != null &&
                 (failedEstablishedViewId == null ||
@@ -85,6 +86,7 @@ public class ClusterViewServiceImpl impl
         failedEstablishedViewId = establishedViewId;
     }
 
+    @Override
     public LocalClusterView getLocalClusterView() throws UndefinedClusterViewException {
     	if (resourceResolverFactory==null) {
     		logger.warn("getClusterView: no resourceResolverFactory set at the moment.");
@@ -94,7 +96,7 @@ public class ClusterViewServiceImpl impl
         ResourceResolver resourceResolver = null;
         try {
             resourceResolver = resourceResolverFactory
-                    .getAdministrativeResourceResolver(null);
+                    .getServiceResourceResolver(null);
 
             View view = ViewHelper.getEstablishedView(resourceResolver, config);
             if (view == null) {
@@ -102,11 +104,11 @@ public class ClusterViewServiceImpl impl
                 throw new UndefinedClusterViewException(Reason.NO_ESTABLISHED_VIEW,
                         "no established view at the moment");
             }
-            
+
             if (failedEstablishedViewId != null
                     && failedEstablishedViewId.equals(view.getResource().getName())) {
                 // SLING-5195 : the heartbeat-handler-self-check has declared the currently
-                // established view as invalid - hence we should now treat this as 
+                // established view as invalid - hence we should now treat this as
                 // undefined clusterview
                 logger.debug("getClusterView: current establishedView is marked as invalid: "+failedEstablishedViewId);
                 throw new UndefinedClusterViewException(Reason.NO_ESTABLISHED_VIEW,
@@ -115,7 +117,7 @@ public class ClusterViewServiceImpl impl
 
             EstablishedClusterView clusterViewImpl = new EstablishedClusterView(
                     config, view, getSlingId());
-            
+
             InstanceDescription local = clusterViewImpl.getLocalInstance();
             if (local != null) {
                 return clusterViewImpl;
@@ -124,7 +126,7 @@ public class ClusterViewServiceImpl impl
                         + "This is normal at startup. At other times is pseudo-network-partitioning is an indicator for repository/network-delays or clocks-out-of-sync (SLING-3432). "
                         + "(increasing the heartbeatTimeout can help as a workaround too) "
                         + "The local instance will stay in TOPOLOGY_CHANGING or pre _INIT mode until a new vote was successful.");
-                throw new UndefinedClusterViewException(Reason.ISOLATED_FROM_TOPOLOGY, 
+                throw new UndefinedClusterViewException(Reason.ISOLATED_FROM_TOPOLOGY,
                         "established view does not include local instance - isolated");
             }
         } catch (UndefinedClusterViewException e) {

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java Tue Nov 15 12:38:35 2016
@@ -62,7 +62,7 @@ import org.slf4j.LoggerFactory;
 @Component(immediate = true)
 @Service(value = {VotingHandler.class})
 public class VotingHandler implements EventHandler {
-    
+
     public static enum VotingDetail {
         PROMOTED,
         WINNING,
@@ -71,9 +71,10 @@ public class VotingHandler implements Ev
         UNCHANGED,
         TIMEDOUT
     }
-    
+
     private final static Comparator<VotingView> VOTING_COMPARATOR = new Comparator<VotingView>() {
 
+        @Override
         public int compare(VotingView o1, VotingView o2) {
             if (o1 == o2) {
                 return 0;
@@ -88,7 +89,7 @@ public class VotingHandler implements Ev
             return (o1.getVotingId().compareTo(o2.getVotingId()));
         }
     };
-    
+
     /** the name used for the period job with the scheduler **/
     protected String NAME = "discovery.impl.analyzeVotings.runner.";
 
@@ -114,7 +115,7 @@ public class VotingHandler implements Ev
     private volatile boolean activated;
 
     private ComponentContext context;
-    
+
     private ServiceRegistration eventHandlerRegistration;
 
     /** for testing only **/
@@ -137,7 +138,7 @@ public class VotingHandler implements Ev
         activated = false;
         logger.info("deactivate: deactivated slingId: {}, this: {}", slingId, this);
     }
-    
+
     @Activate
     protected void activate(final ComponentContext context) {
         slingId = slingSettingsService.getSlingId();
@@ -145,8 +146,8 @@ public class VotingHandler implements Ev
                 + "." + slingId);
         this.context = context;
         activated = true;
-        
-        // once activated, register the eventHandler so that we can 
+
+        // once activated, register the eventHandler so that we can
         // start receiving and processing votings...
         registerEventHandler();
         logger.info("activated: activated ("+slingId+")");
@@ -179,6 +180,7 @@ public class VotingHandler implements Ev
     /**
      * handle repository changes and react to ongoing votings
      */
+    @Override
     public void handleEvent(final Event event) {
         if (!activated) {
             return;
@@ -198,7 +200,7 @@ public class VotingHandler implements Ev
         ResourceResolver resourceResolver = null;
         try {
             resourceResolver = resolverFactory
-                    .getAdministrativeResourceResolver(null);
+                    .getServiceResourceResolver(null);
         } catch (LoginException e) {
             logger.error(
                     "handleEvent: could not log in administratively: " + e, e);
@@ -252,14 +254,14 @@ public class VotingHandler implements Ev
                 }
                 // SLING-3406: committing resourceResolver/session here, while we're in the synchronized
                 resourceResolver.commit();
-                
+
                 // for test verification
                 result.put(winningVote, VotingDetail.PROMOTED);
                 return result;
             } else {
         		logger.info("analyzeVotings: there is a winning vote. No need to vote any further. Expecting it to get promoted to established: "
             				+ winningVote);
-        		
+
         		result.put(winningVote, VotingDetail.WINNING);
             	return result;
             }
@@ -317,7 +319,7 @@ public class VotingHandler implements Ev
                 continue;
             }
             if (yesVote != null) {
-                // as soon as I found the one I should vote yes for, 
+                // as soon as I found the one I should vote yes for,
                 // vote no for the rest
                 if (!votedNo) {
                     logger.info("analyzeVotings: already voted yes, so voting no for: "+voting);
@@ -351,7 +353,7 @@ public class VotingHandler implements Ev
         logger.debug("analyzeVotings: result: my yes vote was for: " + yesVote);
         return result;
     }
-    
+
     public void cleanupTimedoutVotings(final ResourceResolver resourceResolver) {
         List<VotingView> timedoutVotings = VotingHelper
                 .listTimedoutVotings(resourceResolver,
@@ -410,7 +412,7 @@ public class VotingHandler implements Ev
             previousViewsResource = ResourceHelper
                     .getOrCreateResource(
                             resourceResolver,
-                            config.getPreviousViewPath());            
+                            config.getPreviousViewPath());
         }
 
         // step 2: retire the existing established view.
@@ -427,7 +429,7 @@ public class VotingHandler implements Ev
 	                logger.debug("promote: moving the old established view to previous views: "
 	                        + retiredView.getPath());
             	}
-                ResourceHelper.moveResource(retiredView, 
+                ResourceHelper.moveResource(retiredView,
                         previousViewsResource.getPath()
                                 + "/" + retiredView.getName());
             } else {

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java Tue Nov 15 12:38:35 2016
@@ -99,13 +99,13 @@ public class HeartbeatHandler extends Ba
     /** whether or not to reset the leaderElectionId at next heartbeat time **/
     private volatile boolean resetLeaderElectionId = false;
 
-    /** SLING-5030 : upon resetLeaderElectionId() a newLeaderElectionId is calculated 
+    /** SLING-5030 : upon resetLeaderElectionId() a newLeaderElectionId is calculated
      * and passed on to the VotingHandler - but the actual storing under ./clusterInstances
      * is only done on heartbeats - this field is used to temporarily store the new
      * leaderElectionId that the next heartbeat then stores
      */
     private volatile String newLeaderElectionId;
-    
+
     /** SLING-2892: remember first heartbeat written to repository by this instance **/
     private long firstHeartbeatWritten = -1;
 
@@ -123,10 +123,10 @@ public class HeartbeatHandler extends Ba
     /** for testing only **/
     public static HeartbeatHandler testConstructor(
             SlingSettingsService slingSettingsService,
-            ResourceResolverFactory factory, 
-            AnnouncementRegistry announcementRegistry, 
+            ResourceResolverFactory factory,
+            AnnouncementRegistry announcementRegistry,
             ConnectorRegistry connectorRegistry,
-            Config config, 
+            Config config,
             Scheduler scheduler,
             VotingHandler votingHandler) {
         HeartbeatHandler handler = new HeartbeatHandler();
@@ -139,37 +139,37 @@ public class HeartbeatHandler extends Ba
         handler.votingHandler = votingHandler;
         return handler;
     }
-    
+
     @Override
     protected AnnouncementRegistry getAnnouncementRegistry() {
         return announcementRegistry;
     }
-    
+
     @Override
     protected BaseConfig getConnectorConfig() {
         return config;
     }
-    
+
     @Override
     protected ConnectorRegistry getConnectorRegistry() {
         return connectorRegistry;
     }
-    
+
     @Override
     protected ResourceResolverFactory getResourceResolverFactory() {
         return resourceResolverFactory;
     }
-    
+
     @Override
     protected Scheduler getScheduler() {
         return scheduler;
     }
-    
+
     @Override
     protected SlingSettingsService getSlingSettingsService() {
         return slingSettingsService;
     }
-    
+
     @Override
     protected void doActivate() {
         // on activate the resetLeaderElectionId is set to true to ensure that
@@ -186,7 +186,7 @@ public class HeartbeatHandler extends Ba
 
         logger.info("doActivate: activated with runtimeId: {}, slingId: {}", runtimeId, slingId);
     }
-    
+
     @Override
     protected void deactivate() {
         super.deactivate();
@@ -195,7 +195,7 @@ public class HeartbeatHandler extends Ba
             periodicCheckJob = null;
         }
     }
-    
+
     /**
      * The initialize method is called by the DiscoveryServiceImpl.activate
      * as we require the discoveryService (and the discoveryService has
@@ -232,7 +232,7 @@ public class HeartbeatHandler extends Ba
         }
 
         // SLING-5195 - to account for repository delays, the writing of heartbeats and voting
-        // should be done independently of getting the current clusterView and 
+        // should be done independently of getting the current clusterView and
         // potentially sending a topology event.
         // so this second part is now done (additionally) in a 2nd runner here:
         try {
@@ -263,7 +263,7 @@ public class HeartbeatHandler extends Ba
                                     + " => maxMillisSinceHb=" + maxMillisSinceHb + "). Flagging us as (still) changing");
                             // mark the current establishedView as faulty
                             invalidateCurrentEstablishedView();
-                            
+
                             // then tell the listeners immediately
                             // note that just calling handleTopologyChanging alone - without the above invalidate -
                             // won't be sufficient, because that would only affect the listeners, not the
@@ -278,7 +278,7 @@ public class HeartbeatHandler extends Ba
                     discoveryService.checkForLocalClusterViewChange();
                     logger.debug("checkForLocalClusterViewChange/.run: check for topology change done.");
                 }
-                
+
             });
         } catch (Exception e) {
             logger.error("activate: Could not start heartbeat runner: " + e, e);
@@ -291,7 +291,7 @@ public class HeartbeatHandler extends Ba
             logger.error("getResourceResolver: resourceResolverFactory is null!");
             return null;
         }
-        return resourceResolverFactory.getAdministrativeResourceResolver(null);
+        return resourceResolverFactory.getServiceResourceResolver(null);
     }
 
     /** Calcualte the local cluster instance path **/
@@ -300,7 +300,7 @@ public class HeartbeatHandler extends Ba
     }
 
     /**
-     * Hook that will cause a reset of the leaderElectionId 
+     * Hook that will cause a reset of the leaderElectionId
      * on next invocation of issueClusterLocalHeartbeat.
      * @return true if the leaderElectionId was reset - false if that was not
      * necessary as that happened earlier already and it has not propagated
@@ -345,12 +345,14 @@ public class HeartbeatHandler extends Ba
      * and then a remote heartbeat (to all the topology connectors
      * which announce this part of the topology to others)
      */
+    @Override
     protected void issueHeartbeat() {
         updateProperties();
         issueClusterLocalHeartbeat();
         issueConnectorPings();
     }
 
+    @Override
     protected void updateProperties() {
         if (discoveryServiceImpl == null) {
             logger.debug("updateProperties: discoveryService is null");
@@ -358,7 +360,7 @@ public class HeartbeatHandler extends Ba
             discoveryServiceImpl.updateProperties();
         }
     }
-    
+
     /** Issue a cluster local heartbeat (into the repository) **/
     protected void issueClusterLocalHeartbeat() {
         if (logger.isDebugEnabled()) {
@@ -454,7 +456,7 @@ public class HeartbeatHandler extends Ba
                 resourceMap.put(PROPERTY_ID_SLING_HOME_PATH, slingHomePath);
             	final String endpointsAsString = getEndpointsAsString();
                 resourceMap.put(PROPERTY_ID_ENDPOINTS, endpointsAsString);
-            	logger.info("issueClusterLocalHeartbeat: storing my runtimeId: {}, endpoints: {} and sling home path: {}", 
+            	logger.info("issueClusterLocalHeartbeat: storing my runtimeId: {}, endpoints: {} and sling home path: {}",
             	        new Object[]{runtimeId, endpointsAsString, slingHomePath});
             }
             if (resetLeaderElectionId || !resourceMap.containsKey("leaderElectionId")) {
@@ -533,6 +535,7 @@ public class HeartbeatHandler extends Ba
     /** Check whether the established view matches the reality, ie matches the
      * heartbeats
      */
+    @Override
     protected void doCheckView() {
         super.doCheckView();
 
@@ -580,12 +583,12 @@ public class HeartbeatHandler extends Ba
         if (winningVoting != null || (numOpenNonWinningVotes > 0)) {
             // then there are votings pending and I shall wait for them to
             // settle
-            
+
             // but first: make sure we sent the TOPOLOGY_CHANGING
             logger.info("doCheckViewWith: there are pending votings, marking topology as changing...");
             invalidateCurrentEstablishedView();
             discoveryServiceImpl.handleTopologyChanging();
-            
+
         	if (logger.isDebugEnabled()) {
 	            logger.debug("doCheckViewWith: "
 	                    + numOpenNonWinningVotes
@@ -629,7 +632,7 @@ public class HeartbeatHandler extends Ba
                 establishedViewMatches = mismatchDetails == null;
             }
         }
-        
+
         if (establishedViewMatches) {
             // that's the normal case. the established view matches what we're
             // seeing.
@@ -637,18 +640,18 @@ public class HeartbeatHandler extends Ba
             logger.debug("doCheckViewWith: no pending nor winning votes. view is fine. we're all happy.");
             return;
         }
-        
+
         // immediately send a TOPOLOGY_CHANGING - could already be sent, but just to be sure
         logger.info("doCheckViewWith: no matching established view, marking topology as changing");
         invalidateCurrentEstablishedView();
         discoveryServiceImpl.handleTopologyChanging();
-        
+
         List<VotingView> myYesVotes = VotingHelper.getYesVotingsOf(resourceResolver, config, slingId);
         if (myYesVotes != null && myYesVotes.size() > 0) {
             logger.info("doCheckViewWith: I have voted yes (" + myYesVotes.size() + "x)- the vote was not yet promoted but expecting it to be soon. Not voting again in the meantime. My yes vote was for: "+myYesVotes);
             return;
         }
-        
+
     	if (logger.isDebugEnabled()) {
 	        logger.debug("doCheckViewWith: no pending nor winning votes. But: view does not match established or no established yet. Initiating a new voting");
 	        Iterator<String> it = liveInstances.iterator();
@@ -673,7 +676,7 @@ public class HeartbeatHandler extends Ba
 
         VotingView.newVoting(resourceResolver, config, votingId, slingId, liveInstances);
     }
-    
+
     /**
      * Mark the current establishedView as invalid - requiring it to be
      * replaced with a new one, be it by another instance or this one,
@@ -689,7 +692,7 @@ public class HeartbeatHandler extends Ba
         failedEstablishedViewId = lastEstablishedViewId;
         discoveryServiceImpl.getClusterViewServiceImpl().invalidateEstablishedViewId(lastEstablishedViewId);
     }
-    
+
     /**
      * Management function to trigger the otherwise algorithm-dependent
      * start of a new voting.
@@ -720,5 +723,5 @@ public class HeartbeatHandler extends Ba
             }
         }
     }
-    
+
 }

Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/DiscoveryServiceImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/DiscoveryServiceImplTest.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/DiscoveryServiceImplTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/DiscoveryServiceImplTest.java Tue Nov 15 12:38:35 2016
@@ -26,7 +26,6 @@ import org.apache.sling.discovery.base.i
 import org.apache.sling.discovery.base.its.setup.VirtualInstance;
 import org.apache.sling.discovery.base.its.setup.VirtualInstanceBuilder;
 import org.apache.sling.discovery.commons.providers.base.DummyListener;
-import org.apache.sling.discovery.impl.DiscoveryServiceImpl;
 import org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler;
 import org.apache.sling.discovery.impl.setup.FullJR2VirtualInstanceBuilder;
 import org.junit.Test;
@@ -46,7 +45,7 @@ public class DiscoveryServiceImplTest ex
     public void testLocalClusterSyncTokenIdChange() throws Exception {
         logger.info("testLocalClusterSyncTokenIdChange: start");
         logger.info("testLocalClusterSyncTokenIdChange: creating instance1...");
-        FullJR2VirtualInstanceBuilder builder1 = 
+        FullJR2VirtualInstanceBuilder builder1 =
                 (FullJR2VirtualInstanceBuilder) new FullJR2VirtualInstanceBuilder()
                 .setDebugName("instance1")
                 .newRepository("/var/testLocalClusterSyncTokenIdChange/", true)
@@ -55,7 +54,7 @@ public class DiscoveryServiceImplTest ex
                 .setMinEventDelay(0);
         VirtualInstance instance1 = builder1.build();
         logger.info("testLocalClusterSyncTokenIdChange: creating instance2...");
-        FullJR2VirtualInstanceBuilder builder2 = 
+        FullJR2VirtualInstanceBuilder builder2 =
                 (FullJR2VirtualInstanceBuilder) new FullJR2VirtualInstanceBuilder()
                 .setDebugName("instance2")
                 .useRepositoryOf(instance1)
@@ -63,15 +62,15 @@ public class DiscoveryServiceImplTest ex
                 .setConnectorPingTimeout(999)
                 .setMinEventDelay(0);
         VirtualInstance instance2 = builder2.build();
-        
+
         logger.info("testLocalClusterSyncTokenIdChange: registering listener...");
         DummyListener listener = new DummyListener();
         DiscoveryServiceImpl discoveryService = (DiscoveryServiceImpl) instance1.getDiscoveryService();
         discoveryService.bindTopologyEventListener(listener);
-        
+
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(0, listener.countEvents());
-        
+
         logger.info("testLocalClusterSyncTokenIdChange: doing some heartbeating...");
         instance1.heartbeatsAndCheckView();
         instance2.heartbeatsAndCheckView();
@@ -83,10 +82,10 @@ public class DiscoveryServiceImplTest ex
         logger.info("testLocalClusterSyncTokenIdChange: expecting to have received the INIT...");
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(1, listener.countEvents());
-        
+
         ResourceResolverFactory factory = instance1.getResourceResolverFactory();
-        ResourceResolver resolver = factory.getAdministrativeResourceResolver(null);
-        
+        ResourceResolver resolver = factory.getServiceResourceResolver(null);
+
         instance1.heartbeatsAndCheckView();
         instance2.heartbeatsAndCheckView();
         Thread.sleep(1000);
@@ -94,14 +93,14 @@ public class DiscoveryServiceImplTest ex
         logger.info("testLocalClusterSyncTokenIdChange: after another heartbeat nothing more should have been triggered...");
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(1, listener.countEvents());
-        
+
         // simulate a change in the establishedView's viewId - which can be
         // achieved by triggering a revoting - which should result with the
         // same view cos the instances have not changed
         HeartbeatHandler heartbeatHandler = (HeartbeatHandler) instance1.getViewChecker();
         logger.info("testLocalClusterSyncTokenIdChange: forcing a new voting to start...");
         heartbeatHandler.startNewVoting();
-        
+
         logger.info("testLocalClusterSyncTokenIdChange: doing some heartbeats to finish the voting...");
         instance1.heartbeatsAndCheckView();
         instance2.heartbeatsAndCheckView();

Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/RepositoryDelaysTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/RepositoryDelaysTest.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/RepositoryDelaysTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/RepositoryDelaysTest.java Tue Nov 15 12:38:35 2016
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertTrue;
 
 import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.apache.log4j.spi.RootLogger;
 import org.apache.sling.discovery.TopologyView;
 import org.apache.sling.commons.testing.junit.categories.Slow;
 import org.apache.sling.discovery.TopologyEvent.Type;
@@ -56,14 +56,14 @@ public class RepositoryDelaysTest {
 
     @Before
     public void setUp() throws Exception {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         logLevel = discoveryLogger.getLevel();
-        discoveryLogger.setLevel(Level.TRACE);        
+        discoveryLogger.setLevel(Level.TRACE);
     }
-    
+
     @After
     public void teartDown() throws Throwable {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(logLevel);
         if (instance1!=null) {
             instance1.stopViewChecker();
@@ -76,7 +76,7 @@ public class RepositoryDelaysTest {
             instance2 = null;
         }
     }
-    
+
     /**
      * SLING-5195 : simulate slow session.saves that block
      * the calling thread for non-trivial amounts of time,
@@ -102,7 +102,7 @@ public class RepositoryDelaysTest {
                 .setConnectorPingInterval(1)
                 .setConnectorPingTimeout(3)
                 .build();
-        
+
         instance1.setDelay("pre.commit", 12000);
         instance1.startViewChecker(1);
         instance2.startViewChecker(1);
@@ -113,34 +113,34 @@ public class RepositoryDelaysTest {
         // should be init but alone
         TopologyView t1 = instance1.getDiscoveryService().getTopology();
         assertFalse(t1.isCurrent());
-        
+
         TopologyView t2 = instance2.getDiscoveryService().getTopology();
         assertTrue(t2.isCurrent());
         assertEquals(1, t2.getInstances().size());
-        
+
         instance1.setDelay("pre.commit", -1);
         Thread.sleep(3000);
 
         TopologyView t1b = instance1.getDiscoveryService().getTopology();
         assertTrue(t1b.isCurrent());
         assertEquals(2, t1b.getInstances().size());
-        
+
         TopologyView t2b = instance2.getDiscoveryService().getTopology();
         assertTrue(t2b.isCurrent());
         assertEquals(2, t2b.getInstances().size());
-        
+
         instance1.setDelay("pre.commit", 59876);
         instance2.setDelay("pre.commit", 60000);
         logger.info("<main> both instances marked as delaying 1min - but with new background checks we should go changing within 3sec");
         Thread.sleep(8000);
-        
+
         TopologyView t1c = instance1.getDiscoveryService().getTopology();
         assertFalse(t1c.isCurrent());
-        
+
         TopologyView t2c = instance2.getDiscoveryService().getTopology();
         assertFalse(t2c.isCurrent());
     }
-    
+
     /**
      * Tests whether the not-current view returned by getTopology()
      * matches what listeners get in TOPOLOGY_CHANGING - it should
@@ -148,7 +148,7 @@ public class RepositoryDelaysTest {
      */
     @Test
     public void testOldView() throws Throwable {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(Level.INFO); // info should do
         FullJR2VirtualInstanceBuilder builder = newBuilder();
         builder.setDebugName("firstInstanceA")
@@ -178,7 +178,7 @@ public class RepositoryDelaysTest {
         t1 = instance1.getDiscoveryService().getTopology();
         assertTrue(t1.isCurrent()); // current it should now be
         assertEquals(1, t1.getInstances().size()); // and it must contain the local instance
-        
+
         logger.info("testOldView: creating instance2");
         l1.addExpected(Type.TOPOLOGY_CHANGING);
         FullJR2VirtualInstanceBuilder builder2 = newBuilder();
@@ -188,7 +188,7 @@ public class RepositoryDelaysTest {
                 .setMinEventDelay(3);
         instance2 = builder2.fullBuild();
         instance2.stopVoting();
-        
+
         logger.info("testOldView: instance2 created, now issuing one heartbeat with instance2 first, so that instance1 can take note of it");
         instance2.heartbeatsAndCheckView();
         logger.info("testOldView: now instance1 is also doing a heartbeat and should see that a new instance is there");
@@ -203,7 +203,7 @@ public class RepositoryDelaysTest {
         t1 = instance1.getDiscoveryService().getTopology();
         assertFalse(t1.isCurrent()); // current it should not be
         assertEquals(1, t1.getInstances().size()); // but it should still contain the local instance from before
-        
+
         l1.addExpected(Type.TOPOLOGY_CHANGED);
         logger.info("testOldView: now issuing 3 rounds of heartbeats/checks and expecting a TOPOLOGY_CHANGED then");
 
@@ -218,17 +218,17 @@ public class RepositoryDelaysTest {
         instance2.heartbeatsAndCheckView();
         instance1.heartbeatsAndCheckView();
         Thread.sleep(1200);
-        
+
         assertEquals(3, l1.getEvents().size()); // INIT, CHANGING and CHANGED
         assertEquals(0, l1.getRemainingExpectedCount()); // no remaining expected
         assertEquals(0, l1.getUnexpectedCount()); // and no unexpected
         t1 = instance1.getDiscoveryService().getTopology();
         assertTrue(t1.isCurrent()); // and we should be current again
         assertEquals(2, t1.getInstances().size()); // and contain both instances now
-        
+
         // timeout is set to 3sec, so we now do heartbeats for 4sec with only instance1
         // to let instance2 crash
-        
+
         // force instance1 to no longer analyze the votings
         // since stopVoting() only deactivates the listener, we also
         // have to set votingHandler of heartbeatHandler to null
@@ -245,5 +245,5 @@ public class RepositoryDelaysTest {
         assertFalse(t1.isCurrent()); // we should still be !current
         assertEquals(2, t1.getInstances().size()); // and contain both instances
     }
-    
+
 }