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/10/18 23:29:04 UTC
[sling-org-apache-sling-testing-caconfig-mock-plugin] 19/23:
SLING-6880 CAConfig Mock Plugin: Add helper methods for writing
configurations
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git
commit 083991eea0f613eff393a83312008754df2ba36f
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Wed May 24 14:31:47 2017 +0000
SLING-6880 CAConfig Mock Plugin: Add helper methods for writing configurations
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1796067 13f79535-47bb-0310-9956-ffa450edef68
---
.../mock/caconfig/MockContextAwareConfig.java | 47 ++++++++++++++++++++++
.../testing/mock/caconfig/ContextPluginsTest.java | 4 +-
.../mock/caconfig/MockContextAwareConfigTest.java | 4 +-
.../mock/caconfig/example/SimpleConfig.java | 2 +-
4 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java b/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
index 46e4135..ac13366 100644
--- a/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
+++ b/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.Resource;
+import org.apache.sling.caconfig.annotation.Configuration;
import org.apache.sling.caconfig.management.ConfigurationManager;
import org.apache.sling.caconfig.spi.ConfigurationCollectionPersistData;
import org.apache.sling.caconfig.spi.ConfigurationPersistData;
@@ -75,6 +76,19 @@ public final class MockContextAwareConfig {
* provider.
* @param context Sling context
* @param contextPath Configuration id
+ * @param configClass Configuration class
+ * @param values Configuration values
+ */
+ public static void writeConfiguration(SlingContextImpl context, String contextPath, Class<?> configClass,
+ Map<String, Object> values) {
+ writeConfiguration(context, contextPath, getConfigurationName(configClass), values);
+ }
+
+ /**
+ * Writes configuration parameters using the primary configured persistence
+ * provider.
+ * @param context Sling context
+ * @param contextPath Configuration id
* @param configName Config name
* @param values Configuration values
*/
@@ -90,6 +104,18 @@ public final class MockContextAwareConfig {
* provider.
* @param context Sling context
* @param contextPath Configuration id
+ * @param configClass Configuration class
+ * @param values Configuration values
+ */
+ public static void writeConfiguration(SlingContextImpl context, String contextPath, Class<?> configClass, Object... values) {
+ writeConfiguration(context, contextPath, getConfigurationName(configClass), values);
+ }
+
+ /**
+ * Writes configuration parameters using the primary configured persistence
+ * provider.
+ * @param context Sling context
+ * @param contextPath Configuration id
* @param configName Config name
* @param values Configuration values
*/
@@ -102,6 +128,19 @@ public final class MockContextAwareConfig {
* configured persistence provider.
* @param context Sling context
* @param contextPath Configuration id
+ * @param configClass Configuration class
+ * @param values Configuration values
+ */
+ public static void writeConfigurationCollection(SlingContextImpl context, String contextPath, Class<?> configClass,
+ Collection<Map<String, Object>> values) {
+ writeConfigurationCollection(context, contextPath, getConfigurationName(configClass), values);
+ }
+
+ /**
+ * Writes a collection of configuration parameters using the primary
+ * configured persistence provider.
+ * @param context Sling context
+ * @param contextPath Configuration id
* @param configName Config name
* @param values Configuration values
*/
@@ -117,5 +156,13 @@ public final class MockContextAwareConfig {
configManager.persistConfigurationCollection(contextResource, configName,
new ConfigurationCollectionPersistData(items));
}
+
+ private static String getConfigurationName(Class<?> configClass) {
+ Configuration annotation = configClass.getAnnotation(Configuration.class);
+ if (annotation != null && StringUtils.isNotBlank(annotation.name())) {
+ return annotation.name();
+ }
+ return configClass.getName();
+ }
}
diff --git a/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java b/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
index 1db5779..d331e19 100644
--- a/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
@@ -34,7 +34,7 @@ import org.junit.Test;
public class ContextPluginsTest {
- private static final String CONFIG_NAME = SimpleConfig.class.getName();
+ private static final String CONFIG_NAME = "testConfig";
@Rule
public SlingContext context = new SlingContextBuilder()
@@ -52,7 +52,7 @@ public class ContextPluginsTest {
MockContextAwareConfig.registerAnnotationClasses(context, SimpleConfig.class);
// write config
- MockContextAwareConfig.writeConfiguration(context, contextResource.getPath(), CONFIG_NAME,
+ MockContextAwareConfig.writeConfiguration(context, contextResource.getPath(), SimpleConfig.class,
"stringParam", "value1",
"intParam", 123,
"boolParam", true);
diff --git a/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java b/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
index da190c2..4c71660 100644
--- a/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
@@ -54,10 +54,10 @@ public class MockContextAwareConfigTest {
context.currentResource(context.create().resource("/content/region/site/en"));
- MockContextAwareConfig.writeConfiguration(context, "/content/region/site", SimpleConfig.class.getName(),
+ MockContextAwareConfig.writeConfiguration(context, "/content/region/site", SimpleConfig.class,
"stringParam", "value1");
- MockContextAwareConfig.writeConfigurationCollection(context, "/content/region/site", ListConfig.class.getName(),
+ MockContextAwareConfig.writeConfigurationCollection(context, "/content/region/site", ListConfig.class,
ImmutableList.of((Map<String, Object>) ImmutableMap.<String, Object> of("stringParam", "value1"),
(Map<String, Object>) ImmutableMap.<String, Object> of("stringParam", "value2")));
}
diff --git a/src/test/java/org/apache/sling/testing/mock/caconfig/example/SimpleConfig.java b/src/test/java/org/apache/sling/testing/mock/caconfig/example/SimpleConfig.java
index b314fb3..821bd9e 100644
--- a/src/test/java/org/apache/sling/testing/mock/caconfig/example/SimpleConfig.java
+++ b/src/test/java/org/apache/sling/testing/mock/caconfig/example/SimpleConfig.java
@@ -20,7 +20,7 @@ package org.apache.sling.testing.mock.caconfig.example;
import org.apache.sling.caconfig.annotation.Configuration;
-@Configuration
+@Configuration(name = "testConfig")
public @interface SimpleConfig {
String stringParam();
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.