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/05/02 14:13:31 UTC
svn commit: r1793495 - in /sling/trunk/bundles/extensions/caconfig/impl/src:
main/java/org/apache/sling/caconfig/management/
main/java/org/apache/sling/caconfig/management/impl/
test/java/org/apache/sling/caconfig/management/impl/
Author: sseifert
Date: Tue May 2 14:13:31 2017
New Revision: 1793495
URL: http://svn.apache.org/viewvc?rev=1793495&view=rev
Log:
SLING-6820 Context-Aware Config: Management API - Provide ConfigurationData.isInherited
Modified:
sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationData.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/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationData.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationData.java?rev=1793495&r1=1793494&r2=1793495&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationData.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationData.java Tue May 2 14:13:31 2017
@@ -75,6 +75,11 @@ public interface ConfigurationData {
* @return Value information. Null if neither property metadata nor an existing value exists.
*/
@CheckForNull ValueInfo<?> getValueInfo(String propertyName);
+
+ /**
+ * @return true if the whole configuration is inherited.
+ */
+ boolean isInherited();
/**
* @return true if the whole configuration is overridden by an configuration override provider.
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=1793495&r1=1793494&r2=1793495&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 Tue May 2 14:13:31 2017
@@ -260,8 +260,22 @@ final class ConfigurationDataImpl implem
}
@Override
+ public boolean isInherited() {
+ // detect if the whole config or config item was inherited
+ if (resolvedConfigurationResource != null) {
+ if (writebackConfigurationResource == null) {
+ return true;
+ }
+ else {
+ return !StringUtils.equals(writebackConfigurationResource.getPath(), resolvedConfigurationResource.getPath());
+ }
+ }
+ return false;
+ }
+
+ @Override
public boolean isOverridden() {
return isAllOverridden;
}
-
+
}
Modified: sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java?rev=1793495&r1=1793494&r2=1793495&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java Tue May 2 14:13:31 2017
@@ -226,6 +226,7 @@ public class ConfigurationManagerImplTes
public void testGetConfiguration() {
ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
assertNotNull(configData);
+ assertFalse(configData.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData.getPropertyNames());
assertEquals("value1", configData.getValues().get("prop1", String.class));
@@ -241,6 +242,7 @@ public class ConfigurationManagerImplTes
public void testGetConfiguration_WithResourceInheritance() {
ConfigurationData configData = underTest.getConfiguration(contextResourceLevel2, CONFIG_NAME);
assertNotNull(configData);
+ assertTrue(configData.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData.getPropertyNames());
assertNull(configData.getValues().get("prop1", String.class));
@@ -260,6 +262,7 @@ public class ConfigurationManagerImplTes
public void testGetConfiguration_WithPropertyInheritance() {
ConfigurationData configData = underTest.getConfiguration(contextResourceLevel3, CONFIG_NAME);
assertNotNull(configData);
+ assertFalse(configData.isInherited());
assertTrue(configData.getPropertyNames().containsAll(ImmutableSet.of("prop1", "prop2", "prop3", "prop4", "prop5")));
assertNull(configData.getValues().get("prop1", String.class));
@@ -297,6 +300,7 @@ public class ConfigurationManagerImplTes
ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
assertNotNull(configData);
+ assertFalse(configData.isInherited());
assertTrue(configData.isOverridden());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData.getPropertyNames());
@@ -314,6 +318,7 @@ public class ConfigurationManagerImplTes
public void testGetConfiguration_NoConfigResource() {
ConfigurationData configData = underTest.getConfiguration(contextResourceNoConfig, CONFIG_NAME);
assertNotNull(configData);
+ assertFalse(configData.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData.getPropertyNames());
assertNull(configData.getValues().get("prop1", String.class));
@@ -329,6 +334,7 @@ public class ConfigurationManagerImplTes
ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
assertNotNull(configData);
+ assertFalse(configData.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop4"), configData.getPropertyNames());
assertEquals("value1", configData.getValues().get("prop1", String.class));
@@ -353,6 +359,7 @@ public class ConfigurationManagerImplTes
assertEquals(2, configDatas.size());
ConfigurationData configData1 = configDatas.get(0);
+ assertFalse(configData1.isInherited());
assertEquals("1", configData1.getCollectionItemName());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData1.getPropertyNames());
assertEquals("value1", configData1.getValues().get("prop1", String.class));
@@ -362,6 +369,7 @@ public class ConfigurationManagerImplTes
assertFalse(configData1.getValueInfo("prop3").isInherited());
ConfigurationData configData2 = configDatas.get(1);
+ assertFalse(configData2.isInherited());
assertEquals("2", configData2.getCollectionItemName());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
assertNull(configData2.getValues().get("prop1", String.class));
@@ -380,6 +388,7 @@ public class ConfigurationManagerImplTes
assertEquals(2, configDatas.size());
ConfigurationData configData1 = configDatas.get(0);
+ assertFalse(configData1.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData1.getPropertyNames());
assertEquals("value1_level2", configData1.getValues().get("prop1", String.class));
assertEquals("value1_level2", configData1.getEffectiveValues().get("prop1", String.class));
@@ -392,6 +401,7 @@ public class ConfigurationManagerImplTes
assertNull(configData1.getValueInfo("prop3").getConfigSourcePath());
ConfigurationData configData2 = configDatas.get(1);
+ assertTrue(configData2.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
assertNull(configData2.getValues().get("prop1", String.class));
assertEquals((Integer)5, configData2.getEffectiveValues().get("prop3", 0));
@@ -412,6 +422,7 @@ public class ConfigurationManagerImplTes
assertEquals(2, configDatas.size());
ConfigurationData configData1 = configDatas.get(0);
+ assertFalse(configData1.isInherited());
assertTrue(configData1.getPropertyNames().containsAll(ImmutableSet.of("prop1", "prop2", "prop3", "prop4", "prop5")));
assertTrue(configData1.getPropertyNames().containsAll(ImmutableSet.of("prop1", "prop2", "prop3", "prop4", "prop5")));
@@ -441,6 +452,7 @@ public class ConfigurationManagerImplTes
assertEquals(configPathLevel3, configData1.getValueInfo("prop5").getConfigSourcePath());
ConfigurationData configData2 = configDatas.get(1);
+ assertFalse(configData1.isInherited());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
assertNull(configData2.getValues().get("prop1", String.class));
assertEquals((Integer)5, configData2.getEffectiveValues().get("prop3", 0));
@@ -464,6 +476,7 @@ public class ConfigurationManagerImplTes
assertEquals(2, configDatas.size());
ConfigurationData configData1 = configDatas.get(0);
+ assertFalse(configData1.isInherited());
assertFalse(configData1.isOverridden());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData1.getPropertyNames());
assertEquals("value1", configData1.getValues().get("prop1", String.class));
@@ -476,6 +489,7 @@ public class ConfigurationManagerImplTes
assertFalse(configData1.getValueInfo("prop3").isOverridden());
ConfigurationData configData2 = configDatas.get(1);
+ assertFalse(configData2.isInherited());
assertFalse(configData2.isOverridden());
assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
assertNull(configData2.getValues().get("prop1", String.class));
@@ -502,6 +516,7 @@ public class ConfigurationManagerImplTes
assertEquals(2, configDatas.size());
ConfigurationData configData1 = configDatas.get(0);
+ assertFalse(configData1.isInherited());
assertEquals(ImmutableSet.of("prop1"), configData1.getPropertyNames());
assertEquals("value1", configData1.getValues().get("prop1", String.class));
assertEquals((Integer)0, configData1.getEffectiveValues().get("prop3", 0));
@@ -510,6 +525,7 @@ public class ConfigurationManagerImplTes
assertFalse(configData1.getValueInfo("prop3").isInherited());
ConfigurationData configData2 = configDatas.get(1);
+ assertFalse(configData2.isInherited());
assertEquals(ImmutableSet.of("prop4"), configData2.getPropertyNames());
assertNull(configData2.getValues().get("prop1", String.class));
assertEquals((Integer)0, configData2.getEffectiveValues().get("prop3", 0));