Author: justin
Date: Tue Aug 28 18:34:48 2012
New Revision: 1378260
URL: http://svn.apache.org/viewvc?rev=1378260&view=rev
Log:
SLING-2583 - introducing MapConfigurationProvider interface
Added:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java
(with props)
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java?rev=1378260&r1=1378259&r2=1378260&view=diff
==============================================================================
---
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java
(original)
+++
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java
Tue Aug 28 18:34:48 2012
@@ -27,6 +27,7 @@ import org.apache.sling.api.resource.Res
import
org.apache.sling.resourceresolver.impl.console.ResourceResolverWebConsolePlugin;
import org.apache.sling.resourceresolver.impl.helper.ResourceDecoratorTracker;
import org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext;
+import org.apache.sling.resourceresolver.impl.mapping.MapConfigurationProvider;
import org.apache.sling.resourceresolver.impl.mapping.MapEntries;
import org.apache.sling.resourceresolver.impl.mapping.Mapping;
import org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry;
@@ -44,7 +45,7 @@ import org.slf4j.LoggerFactory;
* </ul>
*
*/
-public class ResourceResolverFactoryImpl implements ResourceResolverFactory {
+public class ResourceResolverFactoryImpl implements ResourceResolverFactory,
MapConfigurationProvider {
/** Helper for the resource resolver. */
private MapEntries mapEntries = MapEntries.EMPTY;
Added:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java?rev=1378260&view=auto
==============================================================================
---
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java
(added)
+++
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java
Tue Aug 28 18:34:48 2012
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
under
+ * the License.
+ */
+package org.apache.sling.resourceresolver.impl.mapping;
+
+import java.util.Map;
+
+import org.apache.sling.api.resource.ResourceResolverFactory;
+
+/**
+ * Internal interface representing the additional methods
+ * MapEntries needs from the ResourceResolverFactory.
+ *
+ * Exists primarily to facilitate mocking of the ResourceResolverFactory
+ * when testing MapEntries.
+ */
+public interface MapConfigurationProvider extends ResourceResolverFactory {
+
+ String getMapRoot();
+
+ Map<?, ?> getVirtualURLMap();
+
+ Mapping[] getMappings();
+
+}
Propchange:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapConfigurationProvider.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java?rev=1378260&r1=1378259&r2=1378260&view=diff
==============================================================================
---
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
(original)
+++
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
Tue Aug 28 18:34:48 2012
@@ -84,7 +84,7 @@ public class MapEntries implements Event
/** default log */
private final Logger log = LoggerFactory.getLogger(getClass());
- private ResourceResolverFactoryImpl factory;
+ private MapConfigurationProvider factory;
private volatile ResourceResolver resolver;
@@ -118,7 +118,7 @@ public class MapEntries implements Event
}
@SuppressWarnings("unchecked")
- public MapEntries(final ResourceResolverFactoryImpl factory, final
BundleContext bundleContext, final EventAdmin eventAdmin)
+ public MapEntries(final MapConfigurationProvider factory, final
BundleContext bundleContext, final EventAdmin eventAdmin)
throws LoginException {
this.resolver = factory.getAdministrativeResourceResolver(null);
this.factory = factory;
@@ -162,7 +162,7 @@ public class MapEntries implements Event
* to trigger a call to doInit. Terminates when the resolver has been
* null-ed after having been triggered.
*/
- void init() {
+ private void init() {
while (this.resolver != null) {
try {
this.initTrigger.acquire();
@@ -175,16 +175,16 @@ public class MapEntries implements Event
}
/**
- * Actual initializer. Guards itself agains concurrent use by using a
+ * Actual initializer. Guards itself against concurrent use by using a
* ReentrantLock. Does nothing if the resource resolver has already been
* null-ed.
*/
- private void doInit() {
+ protected void doInit() {
this.initializing.lock();
try {
final ResourceResolver resolver = this.resolver;
- final ResourceResolverFactoryImpl factory = this.factory;
+ final MapConfigurationProvider factory = this.factory;
if (resolver == null || factory == null) {
return;
}
@@ -551,7 +551,7 @@ public class MapEntries implements Event
return result;
}
- private void loadConfiguration(final ResourceResolverFactoryImpl factory,
final List<MapEntry> entries) {
+ private void loadConfiguration(final MapConfigurationProvider factory,
final List<MapEntry> entries) {
// virtual uris
final Map<?, ?> virtuals = factory.getVirtualURLMap();
if (virtuals != null) {
@@ -592,7 +592,7 @@ public class MapEntries implements Event
}
}
- private void loadMapConfiguration(final ResourceResolverFactoryImpl
factory, final Map<String, MapEntry> entries) {
+ private void loadMapConfiguration(final MapConfigurationProvider factory,
final Map<String, MapEntry> entries) {
// URL Mappings
final Mapping[] mappings = factory.getMappings();
if (mappings != null) {