You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/01/29 14:14:33 UTC
svn commit: r1562433 - in /sling/trunk/contrib/extensions/resourcemerger: ./
src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java
src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java
Author: cziegeler
Date: Wed Jan 29 13:14:32 2014
New Revision: 1562433
URL: http://svn.apache.org/r1562433
Log:
SLING-2986 : Merged Resource Provider. Minor code changes and metatype info
Modified:
sling/trunk/contrib/extensions/resourcemerger/ (props changed)
sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java
sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java
Propchange: sling/trunk/contrib/extensions/resourcemerger/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jan 29 13:14:32 2014
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project
Modified: sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java?rev=1562433&r1=1562432&r2=1562433&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java (original)
+++ sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java Wed Jan 29 13:14:32 2014
@@ -46,7 +46,9 @@ public class MergedResource extends Abst
* @param mergeRootPath Merge root path
* @param relativePath Relative path
*/
- MergedResource(ResourceResolver resolver, String mergeRootPath, String relativePath) {
+ MergedResource(final ResourceResolver resolver,
+ final String mergeRootPath,
+ final String relativePath) {
this.resolver = resolver;
this.mergeRootPath = mergeRootPath;
this.relativePath = relativePath;
@@ -60,7 +62,10 @@ public class MergedResource extends Abst
* @param relativePath Relative path
* @param mappedResources List of physical mapped resources' paths
*/
- MergedResource(ResourceResolver resolver, String mergeRootPath, String relativePath, List<String> mappedResources) {
+ MergedResource(final ResourceResolver resolver,
+ final String mergeRootPath,
+ final String relativePath,
+ final List<String> mappedResources) {
this.resolver = resolver;
this.mergeRootPath = mergeRootPath;
this.relativePath = relativePath;
@@ -77,7 +82,7 @@ public class MergedResource extends Abst
/**
* {@inheritDoc}
*/
- public void addMappedResource(String path) {
+ public void addMappedResource(final String path) {
mappedResources.add(path);
}
@@ -101,6 +106,7 @@ public class MergedResource extends Abst
/**
* {@inheritDoc}
*/
+ @Override
public Iterator<Resource> listChildren() {
return resolver.listChildren(this);
}
@@ -142,13 +148,14 @@ public class MergedResource extends Abst
/**
* {@inheritDoc}
*/
+ @Override
@SuppressWarnings("unchecked")
public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
if (type == ValueMap.class) {
return (AdapterType) new MergedValueMap(this);
}
- return null;
+ return super.adaptTo(type);
}
@@ -162,7 +169,8 @@ public class MergedResource extends Abst
* @return Returns <code>true</code> if the two merged resources have the
* same path.
*/
- public boolean equals(Object o) {
+ @Override
+ public boolean equals(final Object o) {
if (o == null) {
return false;
}
Modified: sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java?rev=1562433&r1=1562432&r2=1562433&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java (original)
+++ sling/trunk/contrib/extensions/resourcemerger/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java Wed Jan 29 13:14:32 2014
@@ -24,17 +24,22 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Component;
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.Service;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ResourceProvider;
import org.apache.sling.api.resource.ResourceProviderFactory;
import org.apache.sling.commons.osgi.PropertiesUtil;
-@Component(metatype = false)
+@Component(name = "Apache Sling Merged Resource Provider Factory",
+ description = "This resource provider delivers merged resources based on the search paths.",
+ metatype=true)
@Service(value = ResourceProviderFactory.class)
@Properties({
- @Property(name = ResourceProvider.ROOTS, value = {"/merge"}, propertyPrivate = true)
+ @Property(name = ResourceProvider.ROOTS, value=MergedResourceProviderFactory.DEFAULT_ROOT,
+ label="Root",
+ description="The mount point of merged resources"),
+ @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true,
+ label="Secure", description="If enabled additional access checks are performed")
})
/**
* The <code>MergedResourceProviderFactory</code> creates merged resource
@@ -42,28 +47,29 @@ import org.apache.sling.commons.osgi.Pro
*/
public class MergedResourceProviderFactory implements ResourceProviderFactory {
+ public static final String DEFAULT_ROOT = "/merged";
+
private String mergeRootPath;
/**
* {@inheritDoc}
*/
- public ResourceProvider getResourceProvider(Map<String, Object> stringObjectMap) throws LoginException {
+ public ResourceProvider getResourceProvider(final Map<String, Object> stringObjectMap)
+ throws LoginException {
return new MergedResourceProvider(mergeRootPath);
}
/**
* {@inheritDoc}
*/
- public ResourceProvider getAdministrativeResourceProvider(Map<String, Object> stringObjectMap) throws LoginException {
+ public ResourceProvider getAdministrativeResourceProvider(final Map<String, Object> stringObjectMap)
+ throws LoginException {
return new MergedResourceProvider(mergeRootPath);
}
@Activate
- private void configure(Map<String, ?> properties) {
- String[] mergeRootPaths = PropertiesUtil.toStringArray(properties.get(ResourceProvider.ROOTS), new String[0]);
- if (mergeRootPaths.length > 0) {
- mergeRootPath = mergeRootPaths[0];
- }
+ protected void configure(final Map<String, Object> properties) {
+ mergeRootPath = PropertiesUtil.toString(properties.get(ResourceProvider.ROOTS), DEFAULT_ROOT);
}
}