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