Author: sseifert
Date: Sat Dec 10 07:55:27 2016
New Revision: 1773499
URL: http://svn.apache.org/viewvc?rev=1773499&view=rev
Log:
cosmetic: use compatibility code to separate class
Added:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
(with props)
Modified:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
Added:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java?rev=1773499&view=auto
==============================================================================
---
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
(added)
+++
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
Sat Dec 10 07:55:27 2016
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.testing.mock.caconfig;
+
+import java.lang.reflect.Method;
+import java.util.Map;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.caconfig.management.ConfigurationManager;
+import org.apache.sling.testing.mock.sling.junit.SlingContext;
+
+/**
+ * Helper methods interacting with Context-Aware context supporting both
version 1.1 and 2.0 of
+ * the Management API via reflection.
+ */
+public class CompatibilityUtil {
+
+ /**
+ * Write configuration for impl 1.2
+ */
+ public static void writeConfig(SlingContext context, Resource
contextResource, String configName, Map<String,Object> props) {
+ try {
+ Class<?> configurationPersistDataClass;
+ try {
+ configurationPersistDataClass =
Class.forName("org.apache.sling.caconfig.spi.ConfigurationPersistData");
+ }
+ catch (ClassNotFoundException e) {
+ // fallback to caconfig impl 1.1
+ writeConfigImpl11(context, contextResource, configName, props);
+ return;
+ }
+
+ Object persistData =
configurationPersistDataClass.getConstructor(Map.class).newInstance(props);
+ ConfigurationManager configManager =
context.getService(ConfigurationManager.class);
+ Method persistMethod =
ConfigurationManager.class.getMethod("persistConfiguration", Resource.class,
String.class, configurationPersistDataClass);
+ persistMethod.invoke(configManager, contextResource, configName,
persistData);
+ }
+ catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ /**
+ * Fallback: Write configuration for impl 1.1
+ */
+ public static void writeConfigImpl11(SlingContext context, Resource
contextResource, String configName, Map<String,Object> props) throws Exception {
+ ConfigurationManager configManager =
context.getService(ConfigurationManager.class);
+ Method persistMethod = ConfigurationManager.class.getMethod("persist",
Resource.class, String.class, Map.class);
+ persistMethod.invoke(configManager, contextResource, configName,
props);
+ }
+
+}
Propchange:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Sat Dec 10 07:55:27 2016
@@ -0,0 +1 @@
+LastChangedDate LastChangedRevision LastChangedBy HeadURL Id Author
Propchange:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java?rev=1773499&r1=1773498&r2=1773499&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
(original)
+++
sling/trunk/contrib/extensions/contextaware-config/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
Sat Dec 10 07:55:27 2016
@@ -22,13 +22,9 @@ import static org.apache.sling.testing.m
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import java.lang.reflect.Method;
-import java.util.Map;
-
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.caconfig.ConfigurationBuilder;
-import org.apache.sling.caconfig.management.ConfigurationManager;
import org.apache.sling.testing.mock.caconfig.example.SimpleConfig;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.apache.sling.testing.mock.sling.junit.SlingContextBuilder;
@@ -56,46 +52,12 @@ public class ContextPluginsTest {
MockContextAwareConfig.registerAnnotationClasses(context,
SimpleConfig.class);
// write config
- writeConfig(contextResource, CONFIG_NAME, ImmutableMap.<String,
Object>of(
+ CompatibilityUtil.writeConfig(context, contextResource, CONFIG_NAME,
ImmutableMap.<String, Object>of(
"stringParam", "value1",
"intParam", 123,
"boolParam", true));
}
- /**
- * Write configuration for impl 1.2
- */
- private void writeConfig(Resource contextResource, String configName,
Map<String,Object> props) {
- try {
- Class<?> configurationPersistDataClass;
- try {
- configurationPersistDataClass =
Class.forName("org.apache.sling.caconfig.spi.ConfigurationPersistData");
- }
- catch (ClassNotFoundException e) {
- // fallback to caconfig impl 1.1
- writeConfigImpl11(contextResource, configName, props);
- return;
- }
-
- Object persistData =
configurationPersistDataClass.getConstructor(Map.class).newInstance(props);
- ConfigurationManager configManager =
context.getService(ConfigurationManager.class);
- Method persistMethod =
ConfigurationManager.class.getMethod("persistConfiguration", Resource.class,
String.class, configurationPersistDataClass);
- persistMethod.invoke(configManager, contextResource, configName,
persistData);
- }
- catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
-
- /**
- * Fallback: Write configuration for impl 1.1
- */
- private void writeConfigImpl11(Resource contextResource, String
configName, Map<String,Object> props) throws Exception {
- ConfigurationManager configManager =
context.getService(ConfigurationManager.class);
- Method persistMethod = ConfigurationManager.class.getMethod("persist",
Resource.class, String.class, Map.class);
- persistMethod.invoke(configManager, contextResource, configName,
props);
- }
-
@Test
public void testValueMap() {
// read config