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 2016/11/24 21:51:50 UTC
svn commit: r1771235 - in
/sling/trunk/contrib/extensions/contextaware-config:
impl/src/main/java/org/apache/sling/caconfig/management/
impl/src/main/java/org/apache/sling/caconfig/management/impl/
impl/src/test/java/org/apache/sling/caconfig/managemen...
Author: sseifert
Date: Thu Nov 24 21:51:50 2016
New Revision: 1771235
URL: http://svn.apache.org/viewvc?rev=1771235&view=rev
Log:
SLING-6137 provide configuration metadata in ConfigurationManager
Modified:
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationManager.java
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
sling/trunk/contrib/extensions/contextaware-config/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationMetadataProvider.java
Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationManager.java?rev=1771235&r1=1771234&r2=1771235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationManager.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/ConfigurationManager.java Thu Nov 24 21:51:50 2016
@@ -20,12 +20,14 @@ package org.apache.sling.caconfig.manage
import java.util.Collection;
import java.util.Map;
+import java.util.SortedSet;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.caconfig.spi.ResourceCollectionItem;
+import org.apache.sling.caconfig.spi.metadata.ConfigurationMetadata;
import org.osgi.annotation.versioning.ProviderType;
/**
@@ -78,4 +80,18 @@ public interface ConfigurationManager {
*/
@CheckForNull ConfigurationData newCollectionItem(@Nonnull Resource resource, @Nonnull String configName);
+ /**
+ * Get all configuration names.
+ * The results of all configuration metadata provider implementations are merged.
+ * @return Configuration names
+ */
+ @Nonnull SortedSet<String> getConfigurationNames();
+
+ /**
+ * Get configuration metadata from any configuration metadata provider.
+ * @param configName Configuration name
+ * @return Configuration metadata or null if none exists for the given name.
+ */
+ @CheckForNull ConfigurationMetadata getConfigurationMetadata(String configName);
+
}
Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java?rev=1771235&r1=1771234&r2=1771235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java Thu Nov 24 21:51:50 2016
@@ -25,6 +25,7 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.SortedSet;
import org.apache.commons.collections.IteratorUtils;
import org.apache.commons.collections.ResettableIterator;
@@ -187,4 +188,14 @@ public class ConfigurationManagerImpl im
return null;
}
+ @Override
+ public SortedSet<String> getConfigurationNames() {
+ return configurationMetadataProvider.getConfigurationNames();
+ }
+
+ @Override
+ public ConfigurationMetadata getConfigurationMetadata(String configName) {
+ return configurationMetadataProvider.getConfigurationMetadata(configName);
+ }
+
}
Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java?rev=1771235&r1=1771234&r2=1771235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java Thu Nov 24 21:51:50 2016
@@ -54,6 +54,7 @@ import org.mockito.runners.MockitoJUnitR
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSortedSet;
@RunWith(MockitoJUnitRunner.class)
public class ConfigurationManagerImplTest {
@@ -130,6 +131,7 @@ public class ConfigurationManagerImplTes
"prop2", new PropertyMetadata<>("prop2", String.class),
"prop3", new PropertyMetadata<>("prop3", 5)));
when(configurationMetadataProvider.getConfigurationMetadata(CONFIG_COL_NAME)).thenReturn(configMetadata);
+ when(configurationMetadataProvider.getConfigurationNames()).thenReturn(ImmutableSortedSet.of(CONFIG_NAME, CONFIG_COL_NAME));
}
protected String getConfigPropertiesPath(String path) {
@@ -462,4 +464,14 @@ public class ConfigurationManagerImplTes
assertNull(newItem);
}
+ @Test
+ public void testGetConfigurationNames() {
+ assertEquals(ImmutableSortedSet.of(CONFIG_NAME, CONFIG_COL_NAME), underTest.getConfigurationNames());
+ }
+
+ @Test
+ public void testGetConfigurationMetadata() throws Exception {
+ assertEquals(CONFIG_NAME, underTest.getConfigurationMetadata(CONFIG_NAME).getName());
+ }
+
}
Modified: sling/trunk/contrib/extensions/contextaware-config/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationMetadataProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationMetadataProvider.java?rev=1771235&r1=1771234&r2=1771235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationMetadataProvider.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/spi/src/main/java/org/apache/sling/caconfig/spi/ConfigurationMetadataProvider.java Thu Nov 24 21:51:50 2016
@@ -20,6 +20,7 @@ package org.apache.sling.caconfig.spi;
import java.util.SortedSet;
+import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import org.apache.sling.caconfig.spi.metadata.ConfigurationMetadata;
@@ -42,6 +43,6 @@ public interface ConfigurationMetadataPr
* @param configName Configuration name
* @return Configuration metadata or null if none exists for the given name.
*/
- ConfigurationMetadata getConfigurationMetadata(String configName);
+ @CheckForNull ConfigurationMetadata getConfigurationMetadata(String configName);
}