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/11/07 10:17:20 UTC

[sling-org-apache-sling-testing-caconfig-mock-plugin] annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0 created (now 9488d69)

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a change to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git.


      at 9488d69  (tag)
 tagging 0e086ed7e4370d23979a2c451394f3663965f757 (commit)
      by Stefan Seifert
      on Fri May 26 07:32:01 2017 +0000

- Log -----------------------------------------------------------------
org.apache.sling.testing.caconfig-mock-plugin-1.3.0
-----------------------------------------------------------------------

This annotated tag includes the following new commits:

     new 38ec931  SLING-6360 Context-Aware Config: Sling Mock Context Plugin
     new 3b17db3  SLING-6360 suppor registering of configuration annotation classes
     new 92df07f  SLING-6360 support both impl 1.1 und 1.2
     new 4275dd9  update to osgi-mock,sling-mock release versions
     new 6e7f2a2  SLING-6360 simplify method signature
     new 428d22e  SLING-6385 Context-Aware Config: Support default values in ConfigurationResolver for ValueMaps
     new b5e9e66  cosmetic: use compatibility code to separate class
     new c9d0b76  update to release version
     new 497380b  update to release version
     new fd2df6a  update to release version
     new 09d0775  fix javadoc errors
     new 310e734  [maven-release-plugin] prepare release org.apache.sling.testing.caconfig-mock-plugin-1.0.0
     new 1eb04f2  [maven-release-plugin] prepare for next development iteration
     new 876ed72  update to next snapshot version until releases are available on maven central
     new ef23141  switch to released versions
     new 2beb484  SLING-6427 Move Sling Context-Aware Config out of contrib - move in svn - update all SCM URLs - update jenkins build jobs
     new 09c97ed  use Sling Parent 30
     new 6db957c  SLING-6670 Support CAConfig Impl 1.3.0
     new 4ae02b0  SLING-6670 Support CAConfig Impl 1.3.0
     new 2059074  SLING-6670 set dependencies to osgi-mock, sling-mock to "provided" - should be controlled by the main project
     new 45cc52b  SLING-6670 Support CAConfig Impl 1.3.0
     new 1b17353  update dependencies
     new ffca8a1  [maven-release-plugin] prepare release org.apache.sling.testing.caconfig-mock-plugin-1.1.0
     new 52490f9  [maven-release-plugin] prepare for next development iteration
     new 6f64af1  update dependencies
     new 27a9cf9  Add target dir and eclipse metadata to svn:ignore
     new 5caed51  SLING-6789 Support CAConfig Impl 1.4.0
     new e01ca2c  update dependency
     new 8f77f61  [maven-release-plugin] prepare release org.apache.sling.testing.caconfig-mock-plugin-1.2.0
     new dae0524  [maven-release-plugin] prepare for next development iteration
     new c1b3688  update to next development version until release version is available on maven central
     new 55a6d97  update dependency
     new d9f9b57  SLING-6880 CAConfig Mock Plugin: Add helper methods for writing configurations also drop support for 1.x versions of SPI/Impl
     new c7e643d  SLING-6881 CAConfig Mock Plugin: Register configuration classes via package name
     new b4fd6e2  SLING-6880 CAConfig Mock Plugin: Add helper methods for writing configurations
     new 43163e5  [maven-release-plugin] prepare release org.apache.sling.testing.caconfig-mock-plugin-1.3.0
     new 0e086ed  [maven-release-plugin] copy for tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0

The 37 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].

[sling-org-apache-sling-testing-caconfig-mock-plugin] 02/08: update to next development version until release version is available on maven central

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit c1b3688fd18989f15a9120db23a55c9c9e2df720
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Tue May 2 15:48:59 2017 +0000

    update to next development version until release version is available on maven central
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin@1793543 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d5bd7b2..80cbcb6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.caconfig.impl</artifactId>
-            <version>1.4.0</version>
+            <version>1.4.1-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 04/08: SLING-6880 CAConfig Mock Plugin: Add helper methods for writing configurations also drop support for 1.x versions of SPI/Impl

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit d9f9b5723038d2e2314b6c1b2eba13d31b2df08e
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Wed May 24 12:38:50 2017 +0000

    SLING-6880 CAConfig Mock Plugin: Add helper methods for writing configurations
    also drop support for 1.x versions of SPI/Impl
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin@1796051 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            | 22 +++---
 .../testing/mock/caconfig/ContextPlugins.java      |  8 +-
 .../mock/caconfig/MockContextAwareConfig.java      | 58 ++++++++++++++
 .../sling/testing/mock/caconfig/package-info.java  |  2 +-
 .../testing/mock/caconfig/CompatibilityUtil.java   | 68 ----------------
 .../testing/mock/caconfig/ContextPluginsTest.java  | 12 +--
 .../mock/caconfig/MockContextAwareConfigTest.java  | 90 ++++++++++++++++++++++
 .../example/{SimpleConfig.java => ListConfig.java} |  4 +-
 .../mock/caconfig/example/SimpleConfig.java        |  2 +-
 9 files changed, 172 insertions(+), 94 deletions(-)

diff --git a/pom.xml b/pom.xml
index d5bd7b2..e0ef829 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,34 +90,34 @@
     
     <profiles>
         
-        <!-- Test with Sling CAConfig Impl/SPI 1.1 -->
+        <!-- Test with Sling CAConfig Impl/SPI 1.2 -->
         <profile>
-            <id>caconfig-1.1</id>
+            <id>caconfig-1.2</id>
             <dependencies>
                 <dependency>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.caconfig.api</artifactId>
-                    <version>1.0.0</version>
+                    <version>1.1.0</version>
                     <scope>compile</scope>
                 </dependency>
                 <dependency>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.caconfig.spi</artifactId>
-                    <version>1.1.0</version>
+                    <version>1.2.0</version>
                     <scope>compile</scope>
                 </dependency>
                 <dependency>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.caconfig.impl</artifactId>
-                    <version>1.1.0</version>
+                    <version>1.2.0</version>
                     <scope>compile</scope>
                 </dependency>
             </dependencies>
         </profile>
 
-        <!-- Test with Sling CAConfig Impl/SPI 1.2 -->
+        <!-- Test with Sling CAConfig Impl/SPI 1.3 -->
         <profile>
-            <id>caconfig-1.2</id>
+            <id>caconfig-1.3</id>
             <dependencies>
                 <dependency>
                     <groupId>org.apache.sling</groupId>
@@ -128,13 +128,13 @@
                 <dependency>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.caconfig.spi</artifactId>
-                    <version>1.2.0</version>
+                    <version>1.3.0</version>
                     <scope>compile</scope>
                 </dependency>
                 <dependency>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.caconfig.impl</artifactId>
-                    <version>1.2.0</version>
+                    <version>1.3.0</version>
                     <scope>compile</scope>
                 </dependency>
             </dependencies>
@@ -142,7 +142,7 @@
 
         <!-- Test with Sling CAConfig Impl/SPI 1.3 -->
         <profile>
-            <id>caconfig-1.3</id>
+            <id>caconfig-1.4</id>
             <dependencies>
                 <dependency>
                     <groupId>org.apache.sling</groupId>
@@ -159,7 +159,7 @@
                 <dependency>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.caconfig.impl</artifactId>
-                    <version>1.3.0</version>
+                    <version>1.4.0</version>
                     <scope>compile</scope>
                 </dependency>
             </dependencies>
diff --git a/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java b/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java
index 4197bff..03e124b 100644
--- a/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java
+++ b/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java
@@ -23,6 +23,7 @@ import org.apache.sling.caconfig.impl.ConfigurationResolverImpl;
 import org.apache.sling.caconfig.impl.def.DefaultConfigurationPersistenceStrategy;
 import org.apache.sling.caconfig.impl.metadata.AnnotationClassConfigurationMetadataProvider;
 import org.apache.sling.caconfig.management.impl.ConfigurationManagerImpl;
+import org.apache.sling.caconfig.management.impl.ContextPathStrategyMultiplexerImpl;
 import org.apache.sling.caconfig.resource.impl.ConfigurationResourceResolverImpl;
 import org.apache.sling.caconfig.resource.impl.def.DefaultConfigurationResourceResolvingStrategy;
 import org.apache.sling.caconfig.resource.impl.def.DefaultContextPathStrategy;
@@ -33,7 +34,7 @@ import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * Mock context plugins.
- * The plugin supports all versions from 1.0 to the most recent versions of the Impl/SPI.
+ * The plugin supports all versions from 1.2 to the most recent versions of the Impl/SPI.
  */
 @ProviderType
 public final class ContextPlugins {
@@ -77,10 +78,7 @@ public final class ContextPlugins {
      */
     private static void registerConfigurationResourceResolver(SlingContextImpl context) {
         
-        if (!registerByClassName(context, "org.apache.sling.caconfig.management.impl.ContextPathStrategyMultiplexerImpl")) {
-            // fallback to impl 1.1
-            registerByClassName(context, "org.apache.sling.caconfig.resource.impl.ContextPathStrategyMultiplexer");
-        }
+        context.registerInjectActivateService(new ContextPathStrategyMultiplexerImpl());
         
         if (!registerByClassName(context, "org.apache.sling.caconfig.resource.impl.ConfigurationResourceResolvingStrategyMultiplexerImpl")) {
             // fallback to impl 1.2
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 03b0212..d5a539b 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
@@ -18,6 +18,16 @@
  */
 package org.apache.sling.testing.mock.caconfig;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.caconfig.management.ConfigurationManager;
+import org.apache.sling.caconfig.spi.ConfigurationCollectionPersistData;
+import org.apache.sling.caconfig.spi.ConfigurationPersistData;
+import org.apache.sling.testing.mock.osgi.MapUtil;
 import org.apache.sling.testing.mock.sling.context.SlingContextImpl;
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -49,4 +59,52 @@ public final class MockContextAwareConfig {
         ConfigurationMetadataUtil.registerAnnotationClasses(context.bundleContext(), classes);
     }
 
+    /**
+     * 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
+     */
+    public static void writeConfiguration(SlingContextImpl context, String contextPath, String configName,
+            Map<String, Object> values) {
+        ConfigurationManager configManager = context.getService(ConfigurationManager.class);
+        Resource contextResource = context.resourceResolver().getResource(contextPath);
+        configManager.persistConfiguration(contextResource, configName, new ConfigurationPersistData(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
+     */
+    public static void writeConfiguration(SlingContextImpl context, String contextPath, String configName, Object... values) {
+        writeConfiguration(context, contextPath, configName, MapUtil.toMap(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
+     */
+    public static void writeConfigurationCollection(SlingContextImpl context, String contextPath, String configName,
+            Collection<Map<String, Object>> values) {
+        ConfigurationManager configManager = context.getService(ConfigurationManager.class);
+        Resource contextResource = context.resourceResolver().getResource(contextPath);
+        List<ConfigurationPersistData> items = new ArrayList<>();
+        int index = 0;
+        for (Map<String, Object> map : values) {
+            items.add(new ConfigurationPersistData(map).collectionItemName("item" + (index++)));
+        }
+        configManager.persistConfigurationCollection(contextResource, configName,
+                new ConfigurationCollectionPersistData(items));
+    }
+
 }
diff --git a/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java b/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java
index de6d18e..99d628c 100644
--- a/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java
+++ b/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java
@@ -19,5 +19,5 @@
 /**
  * Apache Sling Context-Aware Configuration Mock Plugin
  */
-@org.osgi.annotation.versioning.Version("1.0.0")
+@org.osgi.annotation.versioning.Version("1.1.0")
 package org.apache.sling.testing.mock.caconfig;
diff --git a/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java b/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
deleted file mode 100644
index 56a40bf..0000000
--- a/src/test/java/org/apache/sling/testing/mock/caconfig/CompatibilityUtil.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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);
-    }
-
-}
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 bacb27d..1db5779 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
@@ -32,14 +32,14 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import com.google.common.collect.ImmutableMap;
-
 public class ContextPluginsTest {
     
-    private static final String CONFIG_NAME = "testConfig";
+    private static final String CONFIG_NAME = SimpleConfig.class.getName();
     
     @Rule
-    public SlingContext context = new SlingContextBuilder().plugin(CACONFIG).build();
+    public SlingContext context = new SlingContextBuilder()
+            .plugin(CACONFIG)
+            .build();
     
     private Resource contextResource;
 
@@ -52,10 +52,10 @@ public class ContextPluginsTest {
         MockContextAwareConfig.registerAnnotationClasses(context, SimpleConfig.class);
 
         // write config
-        CompatibilityUtil.writeConfig(context, contextResource, CONFIG_NAME, ImmutableMap.<String, Object>of(
+        MockContextAwareConfig.writeConfiguration(context, contextResource.getPath(), CONFIG_NAME, 
                         "stringParam", "value1",
                         "intParam", 123,
-                        "boolParam", true));
+                        "boolParam", true);
     }
     
     @Test
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
new file mode 100644
index 0000000..916b025
--- /dev/null
+++ b/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
@@ -0,0 +1,90 @@
+/*
+ * 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 static org.apache.sling.testing.mock.caconfig.ContextPlugins.CACONFIG;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.caconfig.ConfigurationBuilder;
+import org.apache.sling.testing.mock.caconfig.example.ListConfig;
+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;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
+public class MockContextAwareConfigTest {
+
+    @Rule
+    public SlingContext context = new SlingContextBuilder()
+            .plugin(CACONFIG)
+            .build();
+
+    @Before
+    public void setUp() {
+        MockContextAwareConfig.registerAnnotationClasses(context, SimpleConfig.class, ListConfig.class);
+
+        context.create().resource("/content/region/site", "sling:configRef", "/conf/region/site");
+
+        context.currentResource(context.create().resource("/content/region/site/en"));
+
+        MockContextAwareConfig.writeConfiguration(context, "/content/region/site", SimpleConfig.class.getName(),
+                "stringParam", "value1");
+
+        MockContextAwareConfig.writeConfigurationCollection(context, "/content/region/site", ListConfig.class.getName(),
+                ImmutableList.of((Map<String, Object>) ImmutableMap.<String, Object> of("stringParam", "value1"),
+                        (Map<String, Object>) ImmutableMap.<String, Object> of("stringParam", "value2")));
+    }
+
+    @Test
+    public void testSingletonConfig() {
+        Resource resource = context.request().getResource();
+        SimpleConfig config = resource.adaptTo(ConfigurationBuilder.class).as(SimpleConfig.class);
+        assertNotNull(config);
+        assertEquals("value1", config.stringParam());
+        assertEquals(5, config.intParam());
+    }
+
+    @Test
+    public void testConfigCollection() {
+        Resource resource = context.request().getResource();
+        Collection<ListConfig> config = resource.adaptTo(ConfigurationBuilder.class).asCollection(ListConfig.class);
+        assertEquals(2, config.size());
+        Iterator<ListConfig> items = config.iterator();
+
+        ListConfig item1 = items.next();
+        assertEquals("value1", item1.stringParam());
+        assertEquals(5, item1.intParam());
+
+        ListConfig item2 = items.next();
+        assertEquals("value2", item2.stringParam());
+        assertEquals(5, item2.intParam());
+    }
+
+}
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/ListConfig.java
similarity index 93%
copy from src/test/java/org/apache/sling/testing/mock/caconfig/example/SimpleConfig.java
copy to src/test/java/org/apache/sling/testing/mock/caconfig/example/ListConfig.java
index 821bd9e..85806a8 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/ListConfig.java
@@ -20,8 +20,8 @@ package org.apache.sling.testing.mock.caconfig.example;
 
 import org.apache.sling.caconfig.annotation.Configuration;
 
-@Configuration(name = "testConfig")
-public @interface SimpleConfig {
+@Configuration(collection = true)
+public @interface ListConfig {
 
     String stringParam();
     
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 821bd9e..b314fb3 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(name = "testConfig")
+@Configuration
 public @interface SimpleConfig {
 
     String stringParam();

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 08/08: [maven-release-plugin] copy for tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit 0e086ed7e4370d23979a2c451394f3663965f757
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri May 26 07:32:01 2017 +0000

    [maven-release-plugin] copy for tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.3.0@1796249 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 05/08: SLING-6881 CAConfig Mock Plugin: Register configuration classes via package name

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit c7e643de479edbfcd372c64e4050509c586fc986
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Wed May 24 13:02:55 2017 +0000

    SLING-6881 CAConfig Mock Plugin: Register configuration classes via package name
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin@1796055 13f79535-47bb-0310-9956-ffa450edef68
---
 .../mock/caconfig/ConfigurationMetadataUtil.java   | 37 ++++++++++++++++++++--
 .../mock/caconfig/MockContextAwareConfig.java      | 11 +++++++
 .../mock/caconfig/MockContextAwareConfigTest.java  |  2 +-
 3 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java b/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
index a14bf81..d12d9e5 100644
--- a/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
+++ b/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 import java.security.cert.X509Certificate;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Dictionary;
 import java.util.Enumeration;
@@ -32,8 +33,11 @@ import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.sling.caconfig.annotation.Configuration;
 import org.apache.sling.testing.mock.osgi.ManifestScanner;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.osgi.framework.Bundle;
@@ -42,6 +46,7 @@ import org.osgi.framework.BundleEvent;
 import org.osgi.framework.BundleException;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.Version;
+import org.reflections.Reflections;
 
 /**
  * Helper methods for registering Configuration annotation classes from the classpath.
@@ -49,12 +54,16 @@ import org.osgi.framework.Version;
 final class ConfigurationMetadataUtil {
     
     private static final String[] CONFIGURATION_CLASSES_FROM_MANIFEST;
-    
+    private static final ConcurrentMap<String, List<Class>> CONFIGURATION_CLASSES_FOR_PACKAGES = new ConcurrentHashMap<String, List<Class>>();
+        
     static {
+        // suppress log entries from Reflections library
+        Reflections.log = null;
+        
         // scan classpath for configuration classes bundle header entries only once
         CONFIGURATION_CLASSES_FROM_MANIFEST = toArray(ManifestScanner.getValues(CONFIGURATION_CLASSES_HEADER));
     }
-    
+
     private ConfigurationMetadataUtil() {
         // static methods only
     }
@@ -97,7 +106,29 @@ final class ConfigurationMetadataUtil {
         }
     }
     
-
+    /**
+     * Get configuration classes in list of packages (and subpackages), and cache result in static map.
+     * @param packageNames Package names
+     * @return List of classes
+     */
+    public static Collection<Class> getConfigurationClassesForPackages(String packageNames) {
+        List<Class> classes = CONFIGURATION_CLASSES_FOR_PACKAGES.get(packageNames);
+        if (classes == null) {
+            classes = new ArrayList<Class>();
+            String[] packageNameArray = StringUtils.split(packageNames, ",");
+            // add "." to each package name because it's a prefix, not a package name
+            Object[] prefixArray = new Object[packageNameArray.length];
+            for (int i = 0; i < packageNameArray.length; i++) {
+                prefixArray[i] = packageNameArray[i] + ".";
+            }
+            Reflections reflections = new Reflections(prefixArray);
+            classes.addAll(reflections.getTypesAnnotatedWith(Configuration.class));
+            CONFIGURATION_CLASSES_FOR_PACKAGES.putIfAbsent(packageNames, classes);
+        }
+        return classes;
+    }
+    
+    
     private static class RegisterConfigurationMetadataBundle implements Bundle {
         
         private final BundleContext bundleContext;
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 d5a539b..46e4135 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
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.caconfig.management.ConfigurationManager;
 import org.apache.sling.caconfig.spi.ConfigurationCollectionPersistData;
@@ -60,6 +61,16 @@ public final class MockContextAwareConfig {
     }
 
     /**
+     * Search classpath for given class names to scan for and register all classes with @Configuration annotation.
+     * @param context Sling context
+     * @param packageNames Java package names
+     */
+    public static void registerAnnotationPackages(SlingContextImpl context, String... packageNames) {
+        Collection<Class> classes = ConfigurationMetadataUtil.getConfigurationClassesForPackages(StringUtils.join(packageNames, ","));
+        registerAnnotationClasses(context, classes.toArray(new Class[classes.size()]));
+    }
+
+    /**
      * Writes configuration parameters using the primary configured persistence
      * provider.
      * @param context Sling context
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 916b025..da190c2 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
@@ -48,7 +48,7 @@ public class MockContextAwareConfigTest {
 
     @Before
     public void setUp() {
-        MockContextAwareConfig.registerAnnotationClasses(context, SimpleConfig.class, ListConfig.class);
+        MockContextAwareConfig.registerAnnotationPackages(context, "org.apache.sling.testing.mock.caconfig.example");
 
         context.create().resource("/content/region/site", "sling:configRef", "/conf/region/site");
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 06/08: SLING-6880 CAConfig Mock Plugin: Add helper methods for writing configurations

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit b4fd6e2070b047a23a6fefb9e776eba9a56138ab
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/testing/mocks/caconfig-mock-plugin@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>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 01/08: [maven-release-plugin] prepare for next development iteration

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit dae0524476386b8a42bb2ffdb1c6c6237785ab0c
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Tue May 2 15:47:00 2017 +0000

    [maven-release-plugin] prepare for next development iteration
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin@1793542 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7cfde93..d5bd7b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,14 +29,14 @@
     
     <artifactId>org.apache.sling.testing.caconfig-mock-plugin</artifactId>
     <packaging>bundle</packaging>
-    <version>1.2.0</version>
+    <version>1.2.1-SNAPSHOT</version>
     <name>Apache Sling Context-Aware Configuration Mock Plugin</name>
     <description>Mock Context Plugin for Apache Sling Context-Aware Configuration</description>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.2.0</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.2.0</developerConnection>
-        <url>http://svn.apache.org/viewvc/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.2.0</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/sling/trunk/testing/mocks/caconfig-mock-plugin</url>
     </scm>
     
     <build>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 03/08: update dependency

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit 55a6d97d39f89b407b61f48d42c7a3132971c3a0
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri May 5 20:04:34 2017 +0000

    update dependency
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin@1794099 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 80cbcb6..d5bd7b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.caconfig.impl</artifactId>
-            <version>1.4.1-SNAPSHOT</version>
+            <version>1.4.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-caconfig-mock-plugin] 07/08: [maven-release-plugin] prepare release org.apache.sling.testing.caconfig-mock-plugin-1.3.0

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.caconfig-mock-plugin-1.3.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit 43163e517b3b1c1b033d03a3646aab57252232bd
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri May 26 07:31:48 2017 +0000

    [maven-release-plugin] prepare release org.apache.sling.testing.caconfig-mock-plugin-1.3.0
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin@1796248 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index e0ef829..0eb5e5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,14 +29,14 @@
     
     <artifactId>org.apache.sling.testing.caconfig-mock-plugin</artifactId>
     <packaging>bundle</packaging>
-    <version>1.2.1-SNAPSHOT</version>
+    <version>1.3.0</version>
     <name>Apache Sling Context-Aware Configuration Mock Plugin</name>
     <description>Mock Context Plugin for Apache Sling Context-Aware Configuration</description>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/caconfig-mock-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/sling/trunk/testing/mocks/caconfig-mock-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.3.0</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.3.0</developerConnection>
+        <url>http://svn.apache.org/viewvc/sling/tags/org.apache.sling.testing.caconfig-mock-plugin-1.3.0</url>
     </scm>
     
     <build>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.