Author: cziegeler
Date: Fri Aug 13 12:41:44 2010
New Revision: 985179

URL: http://svn.apache.org/viewvc?rev=985179&view=rev
Log:
SLING-1651 - Integrate RunMode module into new Settings Module

Added:
    
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
   (with props)
Removed:
    sling/trunk/contrib/extensions/runmode/
    
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockRunMode.java
Modified:
    sling/trunk/contrib/pom.xml
    sling/trunk/installer/jcr/jcrinstall/pom.xml
    
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
    
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
    
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilterTest.java
    
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MiscUtil.java

Modified: sling/trunk/contrib/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/pom.xml?rev=985179&r1=985178&r2=985179&view=diff
==============================================================================
--- sling/trunk/contrib/pom.xml (original)
+++ sling/trunk/contrib/pom.xml Fri Aug 13 12:41:44 2010
@@ -89,7 +89,6 @@
           <module>extensions/i18n</module>
           <module>extensions/obr</module>
           <module>extensions/rewriter</module>
-          <module>extensions/runmode</module>
           <module>jcr/jackrabbit-client</module>
           <module>jcr/compiler</module>
           <module>jcr/prefs</module>

Modified: sling/trunk/installer/jcr/jcrinstall/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/pom.xml?rev=985179&r1=985178&r2=985179&view=diff
==============================================================================
--- sling/trunk/installer/jcr/jcrinstall/pom.xml (original)
+++ sling/trunk/installer/jcr/jcrinstall/pom.xml Fri Aug 13 12:41:44 2010
@@ -104,8 +104,8 @@
     </dependency>
     <dependency>
       <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.runmode</artifactId>
-      <version>2.0.3-SNAPSHOT</version>
+      <artifactId>org.apache.sling.settings</artifactId>
+      <version>0.1.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.sling</groupId>

Modified: 
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java?rev=985179&r1=985178&r2=985179&view=diff
==============================================================================
--- 
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
 (original)
+++ 
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilter.java
 Fri Aug 13 12:41:44 2010
@@ -22,9 +22,9 @@ import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.regex.Pattern;
 
-import org.apache.sling.runmode.RunMode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 class FolderNameFilter {
     private final Pattern pattern;
     private final String regexp;
-    private final RunMode runMode;
+    private final Set<String> runModes;
     private final String [] rootPaths;
     private final Map<String, Integer> rootPriorities = new HashMap<String, 
Integer>();
     private final Logger log = LoggerFactory.getLogger(getClass());
@@ -50,10 +50,10 @@ class FolderNameFilter {
     public static final int RUNMODE_PRIORITY_BOOST = 1;
     public static final int DEFAULT_ROOT_PRIORITY = 99;
 
-    FolderNameFilter(final String [] rootsConfig, final String regexp, final 
RunMode runMode) {
+    FolderNameFilter(final String [] rootsConfig, final String regexp, final 
Set<String> runModes) {
         this.regexp = regexp;
         this.pattern = Pattern.compile(regexp);
-        this.runMode = runMode;
+        this.runModes = runModes;
 
         // Each entry in rootsConfig is like /libs:100, where 100
         // is the priority.
@@ -131,8 +131,7 @@ class FolderNameFilter {
             // If path prefix matches, check that all our runmodes match
             if(result > 0) {
                 for(String m : modes) {
-                    final String [] toTest = { m };
-                    if(runMode.isActive(toTest)) {
+                    if(runModes.contains(m)) {
                        result += RUNMODE_PRIORITY_BOOST;
                     } else {
                         result = 0;
@@ -160,7 +159,7 @@ class FolderNameFilter {
     }
 
     public String toString() {
-        return getClass().getSimpleName() + " (" + regexp + "), RunMode=" + 
runMode;
+        return getClass().getSimpleName() + " (" + regexp + "), RunModes=" + 
runModes;
     }
 
     int getRootPriority(String path) {

Modified: 
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java?rev=985179&r1=985178&r2=985179&view=diff
==============================================================================
--- 
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
 (original)
+++ 
sling/trunk/installer/jcr/jcrinstall/src/main/java/org/apache/sling/jcr/jcrinstall/impl/JcrInstaller.java
 Fri Aug 13 12:41:44 2010
@@ -37,7 +37,7 @@ import org.apache.sling.commons.osgi.Osg
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.osgi.installer.InstallableResource;
 import org.apache.sling.osgi.installer.OsgiInstaller;
-import org.apache.sling.runmode.RunMode;
+import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -81,7 +81,7 @@ public class JcrInstaller implements Eve
      *  if the current run mode is "dev".
      *  @scr.reference
      */
-    private RunMode runMode;
+    private SlingSettingsService settings;
 
     /**        The OsgiInstaller installs resources in the OSGi framework.
      *         @scr.reference
@@ -200,7 +200,7 @@ public class JcrInstaller implements Eve
 
        // Setup folder filtering and watching
         folderNameFilter = new 
FolderNameFilter(OsgiUtil.toStringArray(context.getProperties().get(PROP_SEARCH_PATH),
 DEFAULT_SEARCH_PATH),
-                folderNameRegexp, runMode);
+                folderNameRegexp, settings.getRunModes());
         roots = folderNameFilter.getRootPaths();
         for (String path : roots) {
             listeners.add(new RootFolderListener(session, folderNameFilter, 
path, updateFoldersListTimer));

Modified: 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilterTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilterTest.java?rev=985179&r1=985178&r2=985179&view=diff
==============================================================================
--- 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilterTest.java
 (original)
+++ 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/FolderNameFilterTest.java
 Fri Aug 13 12:41:44 2010
@@ -22,6 +22,9 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import org.junit.Test;
 
 public class FolderNameFilterTest {
@@ -32,7 +35,7 @@ public class FolderNameFilterTest {
     public void testParseRootPaths() {
        {
                final String [] paths = { "a", "b/" };
-            final FolderNameFilter f = new FolderNameFilter(paths, 
DEFAULT_REGEXP, new MockRunMode(new String[0]));
+            final FolderNameFilter f = new FolderNameFilter(paths, 
DEFAULT_REGEXP, new HashSet<String>());
             assertEquals("/a", f.getRootPaths()[0]);
             assertEquals("/b", f.getRootPaths()[1]);
             assertEquals(FolderNameFilter.DEFAULT_ROOT_PRIORITY, 
f.getRootPriority("/a/foo"));
@@ -41,7 +44,7 @@ public class FolderNameFilterTest {
        }
        {
                final String [] paths = { "a:100", "/b/: 200 " };
-            final FolderNameFilter f = new FolderNameFilter(paths, 
DEFAULT_REGEXP, new MockRunMode(new String[0]));
+            final FolderNameFilter f = new FolderNameFilter(paths, 
DEFAULT_REGEXP, new HashSet<String>());
             assertEquals("/a", f.getRootPaths()[0]);
             assertEquals("/b", f.getRootPaths()[1]);
             assertEquals(100, f.getRootPriority("/a/foo"));
@@ -49,7 +52,7 @@ public class FolderNameFilterTest {
        }
        {
                final String [] paths = { "a/:NOT_AN_INTEGER", "/b/: 200 " };
-            final FolderNameFilter f = new FolderNameFilter(paths, 
DEFAULT_REGEXP, new MockRunMode(new String[0]));
+            final FolderNameFilter f = new FolderNameFilter(paths, 
DEFAULT_REGEXP, new HashSet<String>());
             assertEquals("/a", f.getRootPaths()[0]);
             assertEquals("/b", f.getRootPaths()[1]);
             assertEquals(FolderNameFilter.DEFAULT_ROOT_PRIORITY, 
f.getRootPriority("/a/foo"));
@@ -59,15 +62,16 @@ public class FolderNameFilterTest {
 
     @Test
     public void testNoRunMode() {
-        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new MockRunMode(new String[0]));
+        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new HashSet<String>());
         assertTrue("Test 1", f.getPriority("/libs/install") > 0);
         assertFalse("Test 2", f.getPriority("/libs/install.bar") > 0);
     }
 
     @Test
     public void testSingleMode() {
-        final String [] m = { "dev" };
-        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new MockRunMode(m));
+        final Set<String> m = new HashSet<String>();
+        m.add("dev");
+        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
m);
         assertTrue("Test 1", f.getPriority("/libs/install") > 0);
         assertFalse("Test 2", f.getPriority("/libs/install.bar") > 0);
         assertTrue("Test 3", f.getPriority("/libs/install.dev") > 0);
@@ -79,8 +83,11 @@ public class FolderNameFilterTest {
 
     @Test
     public void testThreeModes() {
-        final String [] m = { "dev", "web", "staging" };
-        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new MockRunMode(m));
+        final Set<String> m = new HashSet<String>();
+        m.add("dev");
+        m.add("web");
+        m.add("staging");
+        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
m);
         assertTrue("Test 1",f.getPriority("/libs/install") > 0);
         assertFalse("Test 2",f.getPriority("/libs/install.bar") > 0);
         assertTrue("Test 3",f.getPriority("/libs/install.dev") > 0);
@@ -98,16 +105,20 @@ public class FolderNameFilterTest {
 
     @Test
     public void testRootPriorities() {
-        final String [] m = { "dev" };
-        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new MockRunMode(m));
+        final Set<String> m = new HashSet<String>();
+        m.add("dev");
+        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
m);
        assertEquals("/libs root", new Integer(100), 
(Integer)f.getPriority("/libs/install"));
        assertEquals("/apps root", new Integer(200), 
(Integer)f.getPriority("/apps/install"));
     }
 
     @Test
     public void testRunModePriorities() {
-        final String [] m = { "dev", "prod", "staging" };
-        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new MockRunMode(m));
+        final Set<String> m = new HashSet<String>();
+        m.add("dev");
+        m.add("prod");
+        m.add("staging");
+        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
m);
        assertEquals("Matches no runmode", new Integer(100), 
(Integer)f.getPriority("/libs/install"));
        assertEquals("Matches dev runmode", new Integer(201), 
(Integer)f.getPriority("/apps/install.dev"));
        assertEquals("Matches staging runmode", new Integer(201), 
(Integer)f.getPriority("/apps/install.staging"));
@@ -118,8 +129,11 @@ public class FolderNameFilterTest {
 
     @Test
     public void testDotsInPath() {
-        final String [] m = { "dev", "prod", "staging" };
-        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
new MockRunMode(m));
+        final Set<String> m = new HashSet<String>();
+        m.add("dev");
+        m.add("prod");
+        m.add("staging");
+        final FolderNameFilter f = new FolderNameFilter(ROOTS, DEFAULT_REGEXP, 
m);
        assertEquals("Matches no runmode", new Integer(100), 
(Integer)f.getPriority("/libs/foo.bar/install"));
        assertEquals("Matches dev runmode", new Integer(201), 
(Integer)f.getPriority("/apps/foo.bar/install.dev"));
        assertEquals("Matches staging runmode", new Integer(201), 
(Integer)f.getPriority("/apps/foo.bar/install.staging"));

Modified: 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MiscUtil.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MiscUtil.java?rev=985179&r1=985178&r2=985179&view=diff
==============================================================================
--- 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MiscUtil.java
 (original)
+++ 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MiscUtil.java
 Fri Aug 13 12:41:44 2010
@@ -52,7 +52,7 @@ class MiscUtil {
         final JcrInstaller installer = new JcrInstaller();
         setField(installer, "repository", repository);
         setField(installer, "installer", osgiInstaller);
-        setField(installer, "runMode", new MockRunMode(RUN_MODES));
+        setField(installer, "settings", new MockSettings(RUN_MODES));
 
         installer.activate(getMockComponentContext());
         return installer;

Added: 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java?rev=985179&view=auto
==============================================================================
--- 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
 (added)
+++ 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
 Fri Aug 13 12:41:44 2010
@@ -0,0 +1,56 @@
+/*
+ * 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.jcr.jcrinstall.impl;
+
+import java.net.URL;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.sling.settings.SlingSettingsService;
+
+public class MockSettings implements SlingSettingsService {
+
+    private final Set<String> runModes;
+
+    public MockSettings(final String[] modes) {
+        this.runModes = new HashSet<String>();
+        this.runModes.addAll(Arrays.asList(modes));
+    }
+
+    public Set<String> getRunModes() {
+        return this.runModes;
+    }
+
+    public URL getSlingHome() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getSlingHomePath() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getSlingId() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Propchange: 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: 
sling/trunk/installer/jcr/jcrinstall/src/test/java/org/apache/sling/jcr/jcrinstall/impl/MockSettings.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to