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