You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by io...@apache.org on 2011/12/01 22:47:46 UTC
svn commit: r1209264 - in /karaf/cellar/trunk/core: ./
src/main/java/org/apache/karaf/cellar/core/ src/test/java/
src/test/java/org/ src/test/java/org/apache/
src/test/java/org/apache/karaf/ src/test/java/org/apache/karaf/cellar/
src/test/java/org/apac...
Author: iocanel
Date: Thu Dec 1 21:47:45 2011
New Revision: 1209264
URL: http://svn.apache.org/viewvc?rev=1209264&view=rev
Log:
[KARAF-1076] Fixed issue with group configurations and whitespaces. Added unit tests that checks this case.
Added:
karaf/cellar/trunk/core/src/test/java/
karaf/cellar/trunk/core/src/test/java/org/
karaf/cellar/trunk/core/src/test/java/org/apache/
karaf/cellar/trunk/core/src/test/java/org/apache/karaf/
karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/
karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/core/
karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/core/CellarSupportTest.java
karaf/cellar/trunk/core/src/test/resources/
karaf/cellar/trunk/core/src/test/resources/org/
karaf/cellar/trunk/core/src/test/resources/org/apache/
karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/
karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/
karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/core/
karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/core/groups.properties
Modified:
karaf/cellar/trunk/core/pom.xml
karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/CellarSupport.java
Modified: karaf/cellar/trunk/core/pom.xml
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/core/pom.xml?rev=1209264&r1=1209263&r2=1209264&view=diff
==============================================================================
--- karaf/cellar/trunk/core/pom.xml (original)
+++ karaf/cellar/trunk/core/pom.xml Thu Dec 1 21:47:45 2011
@@ -45,6 +45,17 @@
</osgi.export>
</properties>
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources/</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </testResource>
+ </testResources>
+ </build>
+
<dependencies>
<!-- OSGi dependencies -->
<dependency>
@@ -81,8 +92,15 @@
</dependency>
<dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
Modified: karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/CellarSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/CellarSupport.java?rev=1209264&r1=1209263&r2=1209264&view=diff
==============================================================================
--- karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/CellarSupport.java (original)
+++ karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/CellarSupport.java Thu Dec 1 21:47:45 2011
@@ -58,14 +58,18 @@ public class CellarSupport {
String propertyName = group + Configurations.SEPARATOR + category + Configurations.SEPARATOR + listType + Configurations.SEPARATOR + type.name().toLowerCase();
String propertyValue = dictionary.get(propertyName);
if (propertyValue != null) {
+ propertyValue = propertyValue.replaceAll("\n","");
String[] itemList = propertyValue.split(Configurations.DELIMETER);
if (itemList != null && itemList.length > 0) {
if (result == null) {
result = new HashSet<String>();
}
- for (String item : itemList)
- result.add(item);
+ for (String item : itemList) {
+ if (item != null) {
+ result.add(item.trim());
+ }
+ }
}
}
}
@@ -144,11 +148,12 @@ public class CellarSupport {
}
}
- //If any blackList item matcheds, then false is returned.
+ //If any blackList item matched, then false is returned.
if (blackList != null && !blackList.isEmpty()) {
for (String blackListItem : blackList) {
- if (wildCardMatch(event, blackListItem))
+ if (wildCardMatch(event, blackListItem)) {
result = false;
+ }
}
}
Added: karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/core/CellarSupportTest.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/core/CellarSupportTest.java?rev=1209264&view=auto
==============================================================================
--- karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/core/CellarSupportTest.java (added)
+++ karaf/cellar/trunk/core/src/test/java/org/apache/karaf/cellar/core/CellarSupportTest.java Thu Dec 1 21:47:45 2011
@@ -0,0 +1,59 @@
+package org.apache.karaf.cellar.core;
+
+
+import java.io.InputStream;
+import java.util.Properties;
+import org.apache.karaf.cellar.core.event.EventType;
+import org.easymock.EasyMock;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import static org.junit.Assert.assertEquals;
+
+public class CellarSupportTest {
+
+ ConfigurationAdmin configurationAdmin = createMock(ConfigurationAdmin.class);
+ Configuration configuration = createMock(Configuration.class);
+ Properties props = new Properties();
+
+ Group defaultGroup = new Group("default");
+
+ @Before
+ public void setUp() throws Exception {
+ InputStream is = getClass().getResourceAsStream("groups.properties");
+ props.load(is);
+ is.close();
+ expect(configurationAdmin.getConfiguration(EasyMock.<String>anyObject())).andReturn(configuration).anyTimes();
+ expect(configuration.getProperties()).andReturn(props).anyTimes();
+ replay(configuration);
+ replay(configurationAdmin);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ verify(configuration);
+ verify(configurationAdmin);
+ }
+
+ @Test
+ public void testIsAllowed() {
+ CellarSupport support = new CellarSupport();
+ support.setConfigurationAdmin(configurationAdmin);
+
+ Boolean expectedResult = false;
+ Boolean result = support.isAllowed(defaultGroup,"config","org.apache.karaf.shell", EventType.INBOUND);
+ assertEquals("Shell should not be allowed",expectedResult,result);
+
+ expectedResult = true;
+ result = support.isAllowed(defaultGroup,"config","org.apache.karaf.myshell", EventType.INBOUND);
+ assertEquals("MyShell should be allowed",expectedResult,result);
+ }
+}
Added: karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/core/groups.properties
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/core/groups.properties?rev=1209264&view=auto
==============================================================================
--- karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/core/groups.properties (added)
+++ karaf/cellar/trunk/core/src/test/resources/org/apache/karaf/cellar/core/groups.properties Thu Dec 1 21:47:45 2011
@@ -0,0 +1,25 @@
+default.config.whitelist.inbound=*
+default.config.whitelist.outbound=*
+default.config.blacklist.inbound=org.apache.karaf.cellar.instance, \
+ org.apache.karaf.cellar.node, \
+ org.apache.karaf.management, \
+ org.apache.karaf.shell
+default.config.blacklist.outbound=org.apache.karaf.cellar.instance, \
+ org.apache.karaf.cellar.node, \
+ org.apache.karaf.management, \
+ org.apache.karaf.shell
+default.config.sync=false
+
+default.features.whitelist.inbound=*
+default.features.whitelist.outbound=*
+default.features.blacklist.inbound=cellar
+default.features.blacklist.outbound=cellar
+default.features.sync=true
+default.features.repositories.sync=true
+
+default.bundle.whitelist.inbound=none
+default.bundle.whitelist.outbound=none
+default.bundle.sync=false
+
+default.obr.urls.sync=true
+default.obr.bundles.sync=true
\ No newline at end of file