This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-auth-core.git
The following commit(s) were added to refs/heads/master by this push:
new b5dba49 SLING-10248 : Refactor: Move auth requirements handling into
separate component
b5dba49 is described below
commit b5dba499d750f1f06ef1bb4dc88082f6ed13693d
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Mon Mar 22 12:26:48 2021 +0100
SLING-10248 : Refactor: Move auth requirements handling into separate
component
---
...java => AuthenticationRequirementsManager.java} | 11 +-
.../sling/auth/core/impl/SlingAuthenticator.java | 4 +-
... => AuthenticationRequirementsManagerTest.java} | 136 ++++++++++-----------
3 files changed, 76 insertions(+), 75 deletions(-)
diff --git
a/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java
b/src/main/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManager.java
similarity index 97%
rename from
src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java
rename to
src/main/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManager.java
index 6a6cc48..69bee91 100644
---
a/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java
+++
b/src/main/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManager.java
@@ -55,7 +55,8 @@ import org.slf4j.LoggerFactory;
* the service registry.
*
*/
-public class SlingAuthenticatorServiceListener extends
PathBasedHolderCache<AuthenticationRequirementHolder>
+public class AuthenticationRequirementsManager
+ extends PathBasedHolderCache<AuthenticationRequirementHolder>
implements AllServiceListener, EventHandler {
/** Filter expression for auth requirements */
@@ -68,7 +69,7 @@ public class SlingAuthenticatorServiceListener extends
PathBasedHolderCache<Auth
private static final Long CLEAR = -1L;
/** Logger */
- private final Logger logger =
LoggerFactory.getLogger(SlingAuthenticatorServiceListener.class);
+ private final Logger logger =
LoggerFactory.getLogger(AuthenticationRequirementsManager.class);
/** Resource resolver factory */
private final ResourceResolverFactory resolverFactory;
@@ -99,12 +100,12 @@ public class SlingAuthenticatorServiceListener extends
PathBasedHolderCache<Auth
* @param authRequiredCache The cache for the auth requirements
* @return
*/
- static SlingAuthenticatorServiceListener createListener(
+ static AuthenticationRequirementsManager createListener(
final BundleContext context,
final Executor executor,
final ResourceResolverFactory factory) {
- final SlingAuthenticatorServiceListener listener = new
SlingAuthenticatorServiceListener(executor,
+ final AuthenticationRequirementsManager listener = new
AuthenticationRequirementsManager(executor,
factory);
try {
context.addServiceListener(listener, FILTER_EXPR);
@@ -132,7 +133,7 @@ public class SlingAuthenticatorServiceListener extends
PathBasedHolderCache<Auth
* @param executor For updating
* @param factory The resource resolver factory
*/
- private SlingAuthenticatorServiceListener(final Executor executor,
+ private AuthenticationRequirementsManager(final Executor executor,
final ResourceResolverFactory factory) {
this.executor = executor;
this.resolverFactory = factory;
diff --git
a/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticator.java
b/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticator.java
index c441245..4811d09 100644
--- a/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticator.java
+++ b/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticator.java
@@ -301,7 +301,7 @@ public class SlingAuthenticator implements Authenticator,
* The listener for services registered with "sling.auth.requirements" to
* update the internal authentication requirements
*/
- private final SlingAuthenticatorServiceListener serviceListener;
+ private final AuthenticationRequirementsManager serviceListener;
/**
* AuthenticationInfoPostProcessor services
@@ -332,7 +332,7 @@ public class SlingAuthenticator implements Authenticator,
this.metrics = new SlingAuthenticationMetrics(metricsService);
this.resourceResolverFactory = resourceResolverFactory;
- this.serviceListener =
SlingAuthenticatorServiceListener.createListener(
+ this.serviceListener =
AuthenticationRequirementsManager.createListener(
bundleContext, Executors.newSingleThreadExecutor(),
resourceResolverFactory);
this.modified(config);
diff --git
a/src/test/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListenerTest.java
b/src/test/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManagerTest.java
similarity index 67%
rename from
src/test/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListenerTest.java
rename to
src/test/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManagerTest.java
index 9951dfd..e814e7a 100644
---
a/src/test/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListenerTest.java
+++
b/src/test/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManagerTest.java
@@ -39,7 +39,7 @@ import org.osgi.framework.Constants;
import org.osgi.framework.ServiceEvent;
import org.osgi.framework.ServiceReference;
-public class SlingAuthenticatorServiceListenerTest {
+public class AuthenticationRequirementsManagerTest {
private void assertPaths(final
PathBasedHolderCache<AuthenticationRequirementHolder> cache,
final String[] paths,
@@ -111,19 +111,19 @@ public class SlingAuthenticatorServiceListenerTest {
final BundleContext context = mock(BundleContext.class);
final ResourceMapper mapper = mock(ResourceMapper.class);
when(mapper.getAllMappings("/path1")).thenReturn(Collections.singleton("/path1"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
- assertTrue(listener.getHolders().isEmpty());
+ assertTrue(manager.getHolders().isEmpty());
final ServiceReference<?> ref = createServiceReference(new String[]
{"/path1"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1"},
+ assertPaths(manager, new String[] {"/path1"},
new ServiceReference<?>[] {ref});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
- assertTrue(listener.getHolders().isEmpty());
+ assertTrue(manager.getHolders().isEmpty());
}
@Test public void testAddUpdateRemoveRegistration() throws LoginException {
@@ -133,28 +133,28 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path2")).thenReturn(Arrays.asList("/path2",
"/path2a"));
when(mapper.getAllMappings("/path3")).thenReturn(Arrays.asList("/path3",
"/path3a"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
// add
final ServiceReference<?> ref = createServiceReference(new String[]
{"/path1", "/path2"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1", "/path1a", "/path2",
"/path2a"},
+ assertPaths(manager, new String[] {"/path1", "/path1a", "/path2",
"/path2a"},
new ServiceReference<?>[] {ref, ref, ref, ref},
new boolean[] {true, true, true, true});
// update
when(ref.getProperty(AuthConstants.AUTH_REQUIREMENTS)).thenReturn(new
String[] {"/path2", "/path3"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.MODIFIED, ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.MODIFIED, ref));
- assertPaths(listener, new String[] {"/path2", "/path2a", "/path3",
"/path3a"},
+ assertPaths(manager, new String[] {"/path2", "/path2a", "/path3",
"/path3a"},
new ServiceReference<?>[] {ref, ref, ref, ref},
new boolean[] {true, true, true, true});
// remmove
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
- assertTrue(listener.getHolders().isEmpty());
+ assertTrue(manager.getHolders().isEmpty());
}
@Test public void testDuplicateRegistration() throws LoginException {
@@ -163,23 +163,23 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path1")).thenReturn(Collections.singleton("/path1"));
when(mapper.getAllMappings("/path2")).thenReturn(Collections.singleton("/path2"));
when(mapper.getAllMappings("/path3")).thenReturn(Collections.singleton("/path3"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
final ServiceReference<?> ref1 = createServiceReference(new String[]
{"/path1", "/path1", "/path2"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref1));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref1));
final ServiceReference<?> ref2 = createServiceReference(new String[]
{"/path2", "/path3"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref2));
- assertPaths(listener, new String[] {"/path1", "/path2", "/path2",
"/path3"},
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref2));
+ assertPaths(manager, new String[] {"/path1", "/path2", "/path2",
"/path3"},
new ServiceReference<?>[] {ref1, ref1, ref2, ref2});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref2));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref2));
- assertPaths(listener, new String[] {"/path1", "/path2"},
+ assertPaths(manager, new String[] {"/path1", "/path2"},
new ServiceReference<?>[] {ref1, ref1});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref1));
- assertTrue(listener.getHolders().isEmpty());
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref1));
+ assertTrue(manager.getHolders().isEmpty());
}
@Test public void testAddRemoveRegistrations() throws LoginException {
@@ -190,31 +190,31 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path3")).thenReturn(Collections.singleton("/path3"));
when(mapper.getAllMappings("/path4")).thenReturn(Collections.singleton("/path4"));
when(mapper.getAllMappings("/path5")).thenReturn(Collections.singleton("/path5"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
final ServiceReference<?> ref1 = createServiceReference(new String[]
{"/path1"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref1));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref1));
final ServiceReference<?> ref2 = createServiceReference(new String[]
{"/path2", "/path3"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref2));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref2));
final ServiceReference<?> ref3 = createServiceReference(new String[]
{"/path4", "/path5"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref3));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref3));
- assertPaths(listener, new String[] { "/path1", "/path2", "/path3",
"/path4", "/path5"},
+ assertPaths(manager, new String[] { "/path1", "/path2", "/path3",
"/path4", "/path5"},
new ServiceReference<?>[] {ref1, ref2, ref2, ref3,
ref3});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref2));
+ manager.serviceChanged(new
ServiceEvent(ServiceEvent.UNREGISTERING, ref2));
- assertPaths(listener, new String[] { "/path1", "/path4", "/path5"},
+ assertPaths(manager, new String[] { "/path1", "/path4", "/path5"},
new ServiceReference<?>[] {ref1, ref3, ref3});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref1));
- assertPaths(listener, new String[] { "/path4", "/path5"},
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref1));
+ assertPaths(manager, new String[] { "/path4", "/path5"},
new ServiceReference<?>[] {ref3, ref3});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref3));
- assertTrue(listener.getHolders().isEmpty());
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref3));
+ assertTrue(manager.getHolders().isEmpty());
}
@Test public void testModifyRegistration() throws LoginException {
@@ -225,23 +225,23 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path3")).thenReturn(Collections.singleton("/path3"));
when(mapper.getAllMappings("/path4")).thenReturn(Collections.singleton("/path4"));
when(mapper.getAllMappings("/path5")).thenReturn(Collections.singleton("/path5"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
final ServiceReference<?> ref1 = createServiceReference(new String[]
{"/path1", "/path2", "/path3"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref1));
- assertPaths(listener, new String[] { "/path1", "/path2", "/path3"},
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref1));
+ assertPaths(manager, new String[] { "/path1", "/path2", "/path3"},
new ServiceReference<?>[] {ref1, ref1, ref1});
when(ref1.getProperty(AuthConstants.AUTH_REQUIREMENTS)).thenReturn(new
String[] {"/path1", "/path4", "/path5"});
- assertPaths(listener, new String[] { "/path1", "/path2", "/path3"},
+ assertPaths(manager, new String[] { "/path1", "/path2", "/path3"},
new ServiceReference<?>[] {ref1, ref1, ref1});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.MODIFIED, ref1));
- assertPaths(listener, new String[] { "/path1", "/path4", "/path5"},
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.MODIFIED, ref1));
+ assertPaths(manager, new String[] { "/path1", "/path4", "/path5"},
new ServiceReference<?>[] {ref1, ref1, ref1});
- listener.serviceChanged(new
ServiceEvent(ServiceEvent.MODIFIED_ENDMATCH, ref1));
- assertTrue(listener.getHolders().isEmpty());
+ manager.serviceChanged(new
ServiceEvent(ServiceEvent.MODIFIED_ENDMATCH, ref1));
+ assertTrue(manager.getHolders().isEmpty());
}
@@ -249,52 +249,52 @@ public class SlingAuthenticatorServiceListenerTest {
final BundleContext context = mock(BundleContext.class);
final ResourceMapper mapper = mock(ResourceMapper.class);
when(mapper.getAllMappings("/path1")).thenReturn(Arrays.asList("/path1",
"/path2", "/path3"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
final ServiceReference<?> ref = createServiceReference(new String[]
{"/path1"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1", "/path2", "/path3"},
+ assertPaths(manager, new String[] {"/path1", "/path2", "/path3"},
new ServiceReference<?>[] {ref, ref, ref});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
- assertTrue(listener.getHolders().isEmpty());
+ assertTrue(manager.getHolders().isEmpty());
}
@Test public void testRegistrationAndUpdatingMapping() throws
LoginException {
final BundleContext context = mock(BundleContext.class);
final ResourceMapper mapper = mock(ResourceMapper.class);
when(mapper.getAllMappings("/path1")).thenReturn(Arrays.asList("/path1",
"/path2", "/path3"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
final ServiceReference<?> ref = createServiceReference(new String[]
{"/path1"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1", "/path2", "/path3"},
+ assertPaths(manager, new String[] {"/path1", "/path2", "/path3"},
new ServiceReference<?>[] {ref, ref, ref});
// update mapper
when(mapper.getAllMappings("/path1")).thenReturn(Arrays.asList("/path1",
"/path5"));
- listener.handleEvent(null);
+ manager.handleEvent(null);
- assertPaths(listener, new String[] {"/path1", "/path5"},
+ assertPaths(manager, new String[] {"/path1", "/path5"},
new ServiceReference<?>[] {ref, ref});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
- assertTrue(listener.getHolders().isEmpty());
+ assertTrue(manager.getHolders().isEmpty());
}
@Test public void testAllowDeny() throws LoginException {
final BundleContext context = mock(BundleContext.class);
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(null));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(null));
final ServiceReference<?> ref = createServiceReference(new String[]
{"-/path1", "+/path2", "/path3"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1", "/path2", "/path3"},
+ assertPaths(manager, new String[] {"/path1", "/path2", "/path3"},
new ServiceReference<?>[] {ref, ref, ref},
new boolean[] {false, true, true});
}
@@ -306,12 +306,12 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path1")).thenReturn(Arrays.asList("/path1",
"/path1a", "/path1b"));
when(mapper.getAllMappings("/path2")).thenReturn(Arrays.asList("/path2",
"/path2a", "/path2b"));
when(mapper.getAllMappings("/path3")).thenReturn(Arrays.asList("/path3",
"/path3a", "/path3b"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
final ServiceReference<?> ref = createServiceReference(new String[]
{"-/path1", "+/path2", "/path3"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1", "/path2", "/path3",
"/path1a", "/path2a", "/path3a", "/path1b", "/path2b", "/path3b"},
+ assertPaths(manager, new String[] {"/path1", "/path2", "/path3",
"/path1a", "/path2a", "/path3a", "/path1b", "/path2b", "/path3b"},
new ServiceReference<?>[] {ref, ref, ref, ref, ref,
ref, ref, ref, ref},
new boolean[] {false, true, true, false, true,
true, false, true, true});
@@ -319,9 +319,9 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path1")).thenReturn(Arrays.asList("/path1",
"/path1c"));
when(mapper.getAllMappings("/path2")).thenReturn(Arrays.asList("/path2",
"/path2c"));
when(mapper.getAllMappings("/path3")).thenReturn(Arrays.asList("/path3",
"/path3c"));
- listener.handleEvent(null);
+ manager.handleEvent(null);
- assertPaths(listener, new String[] {"/path1", "/path2", "/path3",
"/path1c", "/path2c", "/path3c"},
+ assertPaths(manager, new String[] {"/path1", "/path2", "/path3",
"/path1c", "/path2c", "/path3c"},
new ServiceReference<?>[] {ref, ref, ref, ref, ref, ref},
new boolean[] {false, true, true, false, true, true});
}
@@ -332,27 +332,27 @@ public class SlingAuthenticatorServiceListenerTest {
when(mapper.getAllMappings("/path1")).thenReturn(Arrays.asList("/path1",
"/path1a"));
when(mapper.getAllMappings("/path2")).thenReturn(Arrays.asList("/path2",
"/path2a"));
- final SlingAuthenticatorServiceListener listener =
SlingAuthenticatorServiceListener.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
+ final AuthenticationRequirementsManager manager =
AuthenticationRequirementsManager.createListener(context, callable ->
callable.run(), createFactoryForMapper(mapper));
// add
final ServiceReference<?> ref = createServiceReference(new String[]
{"+/path1", "-/path2"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, ref));
- assertPaths(listener, new String[] {"/path1", "/path1a", "/path2",
"/path2a"},
+ assertPaths(manager, new String[] {"/path1", "/path1a", "/path2",
"/path2a"},
new ServiceReference<?>[] {ref, ref, ref, ref},
new boolean[] {true, true, false, false});
// update
when(ref.getProperty(AuthConstants.AUTH_REQUIREMENTS)).thenReturn(new
String[] {"-/path1", "/path2"});
- listener.serviceChanged(new ServiceEvent(ServiceEvent.MODIFIED, ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.MODIFIED, ref));
- assertPaths(listener, new String[] {"/path1", "/path1a", "/path2",
"/path2a"},
+ assertPaths(manager, new String[] {"/path1", "/path1a", "/path2",
"/path2a"},
new ServiceReference<?>[] {ref, ref, ref, ref},
new boolean[] {false, false, true, true});
// remmove
- listener.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
+ manager.serviceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING,
ref));
- assertTrue(listener.getHolders().isEmpty());
+ assertTrue(manager.getHolders().isEmpty());
}
}