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) {