You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2015/03/02 09:13:07 UTC

[1/3] karaf git commit: Fix spring-web-portlet features

Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 93f2c46ba -> 93aa6ee6e


Fix spring-web-portlet features


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/93aa6ee6
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/93aa6ee6
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/93aa6ee6

Branch: refs/heads/karaf-2.x
Commit: 93aa6ee6eb263adb2ef00f3550d9c2a5eb4646fc
Parents: ffc6f18
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Mon Mar 2 09:08:36 2015 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Mon Mar 2 09:12:51 2015 +0100

----------------------------------------------------------------------
 assemblies/features/spring/src/main/resources/features.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/93aa6ee6/assemblies/features/spring/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/assemblies/features/spring/src/main/resources/features.xml b/assemblies/features/spring/src/main/resources/features.xml
index ed2ec0e..bbd5ae4 100644
--- a/assemblies/features/spring/src/main/resources/features.xml
+++ b/assemblies/features/spring/src/main/resources/features.xml
@@ -110,7 +110,7 @@
 
     <feature name="spring-web-portlet" description="Spring 3.1.x Web Portlet support" version="${spring31.version}">
         <feature version="[${spring31.version},3.2)">spring-web</feature>
-        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}</bundle>
+        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}$Export-Package=javax.portlet.*;version=2.0</bundle>
         <bundle start-level="30">mvn:org.springframework/spring-webmvc-portlet/${spring31.version}</bundle>
     </feature>
 
@@ -186,7 +186,7 @@
 
     <feature name="spring-web-portlet" description="Spring 3.2.x Web Portlet support" version="${spring32.version}">
         <feature version="[${spring32.version},3.3)">spring-web</feature>
-        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}</bundle>
+        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}$Export-Package=javax.portlet.*;version=2.0</bundle>
         <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc-portlet/${spring32.version}</bundle>
     </feature>
 
@@ -253,7 +253,7 @@
 
     <feature name="spring-web-portlet" description="Spring 4.0.x Web Portlet support" version="${spring40.version}">
         <feature version="[${spring40.version},4.1)">spring-web</feature>
-        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}</bundle>
+        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}$Export-Package=javax.portlet.*;version=2.0</bundle>
         <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc-portlet/${spring40.version}</bundle>
     </feature>
 
@@ -325,7 +325,7 @@
 
     <feature name="spring-web-portlet" description="Spring 4.1.x Web Portlet support" version="${spring41.version}">
         <feature version="[${spring41.version},4.2)">spring-web</feature>
-        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}</bundle>
+        <bundle dependency="true" start-level="30">wrap:mvn:javax.portlet/portlet-api/${portlet-api.version}$Export-Package=javax.portlet.*;version=2.0</bundle>
         <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc-portlet/${spring41.version}</bundle>
     </feature>
 


[3/3] karaf git commit: [KARAF-3576] Optimize GuardProxyCatalog#getServiceInvocationRoles

Posted by gn...@apache.org.
[KARAF-3576] Optimize GuardProxyCatalog#getServiceInvocationRoles


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/b728335e
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/b728335e
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/b728335e

Branch: refs/heads/karaf-2.x
Commit: b728335e0ec79d16904194d112ad9cb8146578fa
Parents: 93f2c46
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Sat Feb 28 13:59:58 2015 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Mon Mar 2 09:12:51 2015 +0100

----------------------------------------------------------------------
 .../service/guard/impl/GuardProxyCatalog.java   | 30 +++++++++++---------
 1 file changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/b728335e/service/guard/src/main/java/org/apache/karaf/service/guard/impl/GuardProxyCatalog.java
----------------------------------------------------------------------
diff --git a/service/guard/src/main/java/org/apache/karaf/service/guard/impl/GuardProxyCatalog.java b/service/guard/src/main/java/org/apache/karaf/service/guard/impl/GuardProxyCatalog.java
index 92e0ec6..396a768 100644
--- a/service/guard/src/main/java/org/apache/karaf/service/guard/impl/GuardProxyCatalog.java
+++ b/service/guard/src/main/java/org/apache/karaf/service/guard/impl/GuardProxyCatalog.java
@@ -22,16 +22,7 @@ import java.lang.reflect.Modifier;
 import java.security.AccessControlContext;
 import java.security.AccessController;
 import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeMap;
+import java.util.*;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
@@ -77,6 +68,7 @@ public class GuardProxyCatalog implements ServiceListener {
     private static final String ROLE_WILDCARD = "*";
 
     private final BundleContext myBundleContext;
+    private final Map<String, Filter> filters = new ConcurrentHashMap<String, Filter>();
 
     final ServiceTracker<ConfigurationAdmin, ConfigurationAdmin> configAdminTracker;
     final ServiceTracker<ProxyManager, ProxyManager> proxyManagerTracker;
@@ -304,12 +296,13 @@ public class GuardProxyCatalog implements ServiceListener {
         // This can probably be optimized. Maybe we can cache the config object relevant instead of
         // walking through all of the ones that have 'service.guard'.
         for (Configuration config : getServiceGuardConfigs()) {
-            Object guardFilter = config.getProperties().get(SERVICE_GUARD_KEY);
+            Dictionary<String, Object> properties = config.getProperties();
+            Object guardFilter = properties.get(SERVICE_GUARD_KEY);
             if (guardFilter instanceof String) {
-                Filter filter = myBundleContext.createFilter((String) guardFilter);
+                Filter filter = getFilter((String) guardFilter);
                 if (filter.match(serviceReference)) {
                     definitionFound = true;
-                    for (Enumeration<String> e = config.getProperties().keys(); e.hasMoreElements(); ) {
+                    for (Enumeration<String> e = properties.keys(); e.hasMoreElements(); ) {
                         String key = e.nextElement();
                         String bareKey = key;
                         int idx = bareKey.indexOf('(');
@@ -327,7 +320,7 @@ public class GuardProxyCatalog implements ServiceListener {
                         if (!isValidMethodName(bareKey)) {
                             continue;
                         }
-                        Object value = config.getProperties().get(key);
+                        Object value = properties.get(key);
                         if (value instanceof String) {
                             allRoles.addAll(ACLConfigurationParser.parseRoles((String) value));
                         }
@@ -338,6 +331,15 @@ public class GuardProxyCatalog implements ServiceListener {
         return definitionFound ? allRoles : null;
     }
 
+    private Filter getFilter(String string) throws InvalidSyntaxException {
+        Filter filter = filters.get(string);
+        if (filter == null) {
+            filter = myBundleContext.createFilter(string);
+            filters.put(string, filter);
+        }
+        return filter;
+    }
+
     // Ensures that it never returns null
     private Configuration[] getServiceGuardConfigs() throws IOException, InvalidSyntaxException {
         ConfigurationAdmin ca = null;


[2/3] karaf git commit: [KARAF-3577] Optimize SecuredCommandConfigTransformer#generateServiceGuardConfig

Posted by gn...@apache.org.
[KARAF-3577] Optimize SecuredCommandConfigTransformer#generateServiceGuardConfig


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ffc6f187
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ffc6f187
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ffc6f187

Branch: refs/heads/karaf-2.x
Commit: ffc6f1875b1ecea1a274c0e09262dda68b0452ec
Parents: b728335
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Sat Feb 28 14:00:14 2015 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Mon Mar 2 09:12:51 2015 +0100

----------------------------------------------------------------------
 .../security/impl/SecuredCommandConfigTransformer.java   | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/ffc6f187/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java b/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
index 1b1c69b..ba9cd91 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
@@ -74,8 +74,10 @@ public class SecuredCommandConfigTransformer implements ConfigurationListener {
         }
         scopeName = scopeName.trim();
 
+        Dictionary<String, Object> configProps = config.getProperties();
+
         Map<String, Dictionary<String, Object>> configMaps = new HashMap<String, Dictionary<String, Object>>();
-        for (Enumeration<String> e = config.getProperties().keys(); e.hasMoreElements(); ) {
+        for (Enumeration<String> e = configProps.keys(); e.hasMoreElements(); ) {
             String key = e.nextElement();
             String bareCommand = key;
             String arguments = "";
@@ -104,7 +106,7 @@ public class SecuredCommandConfigTransformer implements ConfigurationListener {
 
             // put rules on the map twice, once for commands that 'execute' (implement Function) and
             // once for commands that are invoked directly
-            Object roleString = config.getProperties().get(key);
+            Object roleString = configProps.get(key);
             map.put("execute" + arguments, roleString);
             map.put(key, roleString);
             map.put("*", "*"); // any other method may be invoked by anyone
@@ -160,8 +162,9 @@ public class SecuredCommandConfigTransformer implements ConfigurationListener {
                     deleteServiceGuardConfig(event.getPid(), event.getPid().substring(PROXY_COMMAND_ACL_PID_PREFIX.length()));
                     break;
                 case ConfigurationEvent.CM_UPDATED:
-                    generateServiceGuardConfig(configAdmin.getConfiguration(event.getPid()));
-                    refreshTheAffectedShellCommandBundle(event, configAdmin.getConfiguration(event.getPid()));
+                    Configuration config = configAdmin.getConfiguration(event.getPid());
+                    generateServiceGuardConfig(config);
+                    refreshTheAffectedShellCommandBundle(event, config);
                     break;
             }
         } catch (Exception e) {