You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2017/03/20 17:16:47 UTC
svn commit: r1787813 - in /sling/trunk/bundles/extensions/caconfig:
impl/src/main/java/org/apache/sling/caconfig/impl/
impl/src/main/java/org/apache/sling/caconfig/impl/def/
impl/src/main/java/org/apache/sling/caconfig/management/impl/
impl/src/test/ja...
Author: sseifert
Date: Mon Mar 20 17:16:46 2017
New Revision: 1787813
URL: http://svn.apache.org/viewvc?rev=1787813&view=rev
Log:
SLING-6669 use resource path instead of resource object for getConfigName* methods in ConfigurationPersistenceStrategy2 SPI
Modified:
sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java
sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java
sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategy.java
sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java
sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImpl.java
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy.java
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy2.java
sling/trunk/bundles/extensions/caconfig/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationPersistenceStrategy2.java
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java Mon Mar 20 17:16:46 2017
@@ -282,11 +282,12 @@ class ConfigurationBuilderImpl implement
return ConfigurationProxy.get(resource, clazz, new ChildResolver() {
private ConfigurationBuilder getConfiguration(String nestedConfigName) {
String childName;
+ String relatedConfigPath = resource != null ? resource.getPath() : null;
if (isCollection) {
- childName = configurationPersistenceStrategy.getCollectionItemConfigName(configName, resource) + "/" + nestedConfigName;
+ childName = configurationPersistenceStrategy.getCollectionItemConfigName(configName, relatedConfigPath) + "/" + nestedConfigName;
}
else {
- childName = configurationPersistenceStrategy.getConfigName(configName, resource) + "/" + nestedConfigName;
+ childName = configurationPersistenceStrategy.getConfigName(configName, relatedConfigPath) + "/" + nestedConfigName;
}
return configurationResolver.get(contentResource).name(childName);
}
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java Mon Mar 20 17:16:46 2017
@@ -167,17 +167,17 @@ public final class ConfigurationPersiste
}
@Override
- public String getConfigName(String configName, Resource relatedConfigResource) {
+ public String getConfigName(String configName, String relatedConfigPath) {
return delegate.getResourcePath(configName);
}
@Override
- public String getCollectionParentConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionParentConfigName(String configName, String relatedConfigPath) {
return delegate.getResourcePath(configName);
}
@Override
- public String getCollectionItemConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionItemConfigName(String configName, String relatedConfigPath) {
return delegate.getResourcePath(configName);
}
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategy.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategy.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategy.java Mon Mar 20 17:16:46 2017
@@ -121,7 +121,7 @@ public class DefaultConfigurationPersist
}
@Override
- public String getConfigName(String configName, Resource relatedConfigResource) {
+ public String getConfigName(String configName, String relatedConfigPath) {
if (!config.enabled()) {
return null;
}
@@ -129,7 +129,7 @@ public class DefaultConfigurationPersist
}
@Override
- public String getCollectionParentConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionParentConfigName(String configName, String relatedConfigPath) {
if (!config.enabled()) {
return null;
}
@@ -137,7 +137,7 @@ public class DefaultConfigurationPersist
}
@Override
- public String getCollectionItemConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionItemConfigName(String configName, String relatedConfigPath) {
if (!config.enabled()) {
return null;
}
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java Mon Mar 20 17:16:46 2017
@@ -175,14 +175,15 @@ final class ConfigurationDataImpl implem
for (PropertyMetadata<?> propertyMetadata : configMetadata.getPropertyMetadata().values()) {
if (propertyMetadata.isNestedConfiguration()) {
ConfigurationMetadata nestedConfigMetadata = propertyMetadata.getConfigurationMetadata();
+ String relatedConfigPath = resolvedConfigurationResource != null ? resolvedConfigurationResource.getPath() : null;
String nestedConfigName;
if (configResourceCollection) {
- nestedConfigName = configurationPersistenceStrategy.getCollectionParentConfigName(configName, resolvedConfigurationResource)
- + "/" + configurationPersistenceStrategy.getCollectionItemConfigName(getCollectionItemName(), resolvedConfigurationResource)
+ nestedConfigName = configurationPersistenceStrategy.getCollectionParentConfigName(configName, relatedConfigPath)
+ + "/" + configurationPersistenceStrategy.getCollectionItemConfigName(getCollectionItemName(), relatedConfigPath)
+ "/" + nestedConfigMetadata.getName();
}
else {
- nestedConfigName = configurationPersistenceStrategy.getConfigName(configName, resolvedConfigurationResource) + "/" + nestedConfigMetadata.getName();
+ nestedConfigName = configurationPersistenceStrategy.getConfigName(configName, relatedConfigPath) + "/" + nestedConfigMetadata.getName();
}
if (propertyMetadata.getType().equals(ConfigurationMetadata.class)) {
ConfigurationData configData = configurationManager.getConfiguration(contextResource, nestedConfigName);
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImpl.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImpl.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImpl.java Mon Mar 20 17:16:46 2017
@@ -130,9 +130,9 @@ public class ConfigurationPersistenceStr
}
@Override
- public String getConfigName(String configName, Resource relatedConfigResource) {
+ public String getConfigName(String configName, String relatedConfigPath) {
for (ConfigurationPersistenceStrategy2 item : items) {
- String result = item.getConfigName(configName, relatedConfigResource);
+ String result = item.getConfigName(configName, relatedConfigPath);
if (result != null) {
return result;
}
@@ -141,9 +141,9 @@ public class ConfigurationPersistenceStr
}
@Override
- public String getCollectionParentConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionParentConfigName(String configName, String relatedConfigPath) {
for (ConfigurationPersistenceStrategy2 item : items) {
- String result = item.getCollectionParentConfigName(configName, relatedConfigResource);
+ String result = item.getCollectionParentConfigName(configName, relatedConfigPath);
if (result != null) {
return result;
}
@@ -152,9 +152,9 @@ public class ConfigurationPersistenceStr
}
@Override
- public String getCollectionItemConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionItemConfigName(String configName, String relatedConfigPath) {
for (ConfigurationPersistenceStrategy2 item : items) {
- String result = item.getCollectionItemConfigName(configName, relatedConfigResource);
+ String result = item.getCollectionItemConfigName(configName, relatedConfigPath);
if (result != null) {
return result;
}
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java Mon Mar 20 17:16:46 2017
@@ -142,15 +142,15 @@ public class ConfigurationPersistenceStr
return resource1.getPath();
}
@Override
- public String getConfigName(String configName, Resource relatedConfigResource) {
+ public String getConfigName(String configName, String relatedConfigPath) {
return resource1.getPath();
}
@Override
- public String getCollectionParentConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionParentConfigName(String configName, String relatedConfigPath) {
return resource1.getPath();
}
@Override
- public String getCollectionItemConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionItemConfigName(String configName, String relatedConfigPath) {
return resource1.getPath();
}
@Override
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy.java Mon Mar 20 17:16:46 2017
@@ -74,17 +74,17 @@ public class CustomConfigurationPersiste
}
@Override
- public String getConfigName(String configName, Resource relatedConfigResource) {
+ public String getConfigName(String configName, String relatedConfigPath) {
return configName + "/" + CHILD_NODE_NAME;
}
@Override
- public String getCollectionParentConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionParentConfigName(String configName, String relatedConfigPath) {
return configName;
}
@Override
- public String getCollectionItemConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionItemConfigName(String configName, String relatedConfigPath) {
return configName + "/" + CHILD_NODE_NAME;
}
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy2.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy2.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy2.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/CustomConfigurationPersistenceStrategy2.java Mon Mar 20 17:16:46 2017
@@ -100,7 +100,7 @@ public class CustomConfigurationPersiste
}
@Override
- public String getConfigName(String configName, Resource relatedConfigResource) {
+ public String getConfigName(String configName, String relatedConfigPath) {
if (containsJcrContent(configName)) {
return configName;
}
@@ -110,7 +110,7 @@ public class CustomConfigurationPersiste
}
@Override
- public String getCollectionParentConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionParentConfigName(String configName, String relatedConfigPath) {
if (containsJcrContent(configName)) {
return configName;
}
@@ -120,7 +120,7 @@ public class CustomConfigurationPersiste
}
@Override
- public String getCollectionItemConfigName(String configName, Resource relatedConfigResource) {
+ public String getCollectionItemConfigName(String configName, String relatedConfigPath) {
return configName;
}
Modified: sling/trunk/bundles/extensions/caconfig/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationPersistenceStrategy2.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationPersistenceStrategy2.java?rev=1787813&r1=1787812&r2=1787813&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationPersistenceStrategy2.java (original)
+++ sling/trunk/bundles/extensions/caconfig/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationPersistenceStrategy2.java Mon Mar 20 17:16:46 2017
@@ -84,31 +84,31 @@ public interface ConfigurationPersistenc
* Allows the strategy to transform the given configuration name for nested configurations according to it's persistent strategies,
* e.g. fetching the data from a child resource instead of the given resource.
* @param configName Configuration name
- * @param relatedConfigResource A configuration resource that was resolved in context of this configuration name.
+ * @param relatedConfigPath Path of a configuration resource that was resolved in context of this configuration name.
* This can be used to detect if the persistence strategy supports the configuration location. If null it should be assumed that it matches.
* @return Transformed configuration name. If null is returned this strategy does not support the given configuration resource path.
*/
- @CheckForNull String getConfigName(@Nonnull String configName, @CheckForNull Resource relatedConfigResource);
+ @CheckForNull String getConfigName(@Nonnull String configName, @CheckForNull String relatedConfigPath);
/**
* Allows the strategy to transform the given configuration name for nested configurations according to it's persistent strategies,
* e.g. fetching the data from a child resource instead of the given resource.
* @param configName Configuration name
- * @param relatedConfigResource A configuration resource that was resolved in context of this configuration name.
+ * @param relatedConfigPath Path of a configuration resource that was resolved in context of this configuration name.
* This can be used to detect if the persistence strategy supports the configuration location. If null it should be assumed that it matches.
* @return Transformed configuration name. If null is returned this strategy does not support the given configuration resource path.
*/
- @CheckForNull String getCollectionParentConfigName(@Nonnull String configName, @CheckForNull Resource relatedConfigResource);
+ @CheckForNull String getCollectionParentConfigName(@Nonnull String configName, @CheckForNull String relatedConfigPath);
/**
* Allows the strategy to transform the given configuration name for nested configurations according to it's persistent strategies,
* e.g. fetching the data from a child resource instead of the given resource.
* @param configName Configuration name
- * @param relatedConfigResource A configuration resource that was resolved in context of this configuration name.
+ * @param relatedConfigPath Path of a configuration resource that was resolved in context of this configuration name.
* This can be used to detect if the persistence strategy supports the configuration location. If null it should be assumed that it matches.
* @return Transformed configuration name. If null is returned this strategy does not support the given configuration resource path.
*/
- @CheckForNull String getCollectionItemConfigName(@Nonnull String configName, @CheckForNull Resource relatedConfigResource);
+ @CheckForNull String getCollectionItemConfigName(@Nonnull String configName, @CheckForNull String relatedConfigPath);
/**
* Stores configuration data for a singleton configuration resource.