You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:58:42 UTC
[sling-org-apache-sling-resourcemerger] 02/24: SLING-2986 : Merged
Resource Provider. Minor code changes and metatype info
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 <cz...@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" <co...@sling.apache.org>.