This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.resourcemerger-1.0.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourcemerger.git
commit 4c9a3bce16feb4cd949ed3a85604ce1c689b4b0c Author: Carsten Ziegeler <cziege...@apache.org> AuthorDate: Wed Jan 29 13:14:32 2014 +0000 SLING-2986 : Merged Resource Provider. Minor code changes and metatype info git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/resourcemerger@1562433 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/resourcemerger/impl/MergedResource.java | 18 ++++++++++----- .../impl/MergedResourceProviderFactory.java | 26 +++++++++++++--------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java b/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java index 542a70a..b2b69cd 100644 --- a/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java +++ b/src/main/java/org/apache/sling/resourcemerger/impl/MergedResource.java @@ -46,7 +46,9 @@ public class MergedResource extends AbstractResource { * @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 AbstractResource { * @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 AbstractResource { /** * {@inheritDoc} */ - public void addMappedResource(String path) { + public void addMappedResource(final String path) { mappedResources.add(path); } @@ -101,6 +106,7 @@ public class MergedResource extends AbstractResource { /** * {@inheritDoc} */ + @Override public Iterator<Resource> listChildren() { return resolver.listChildren(this); } @@ -142,13 +148,14 @@ public class MergedResource extends AbstractResource { /** * {@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 AbstractResource { * @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; } diff --git a/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java b/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java index 0a49607..159738c 100644 --- a/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java +++ b/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourceProviderFactory.java @@ -24,17 +24,22 @@ import org.apache.felix.scr.annotations.Activate; 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.PropertiesUtil; */ 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); } } -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.