You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2015/07/08 21:19:45 UTC
[10/50] [abbrv] git commit: updated refs/heads/reporter to 28300b5
Allow custom command role ACL files on classpath in Static Role API Checker.
This commit has a small refactoring of cloud-plugin-acl-static-role-based
to allow it to read files on the classpath that might have a different name
than "commands.properties". It also allows more than one file to be read from.
Rationale: Third-party plugins may want to keep their API command access level
configuration separate from the main file so as to reduce configuration
maintenance work during packaging and deployments.
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
This closes #354
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/93b201d4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/93b201d4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/93b201d4
Branch: refs/heads/reporter
Commit: 93b201d43a4263bc9b7e6e31c542255440a7cb39
Parents: 299c07c
Author: jeff <je...@greenqloud.com>
Authored: Wed Jun 3 17:15:57 2015 +0000
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Jul 1 14:43:29 2015 +0200
----------------------------------------------------------------------
.../spring-acl-static-role-based-context.xml | 5 +++++
.../acl/StaticRoleBasedAPIAccessChecker.java | 13 ++++++++++++-
2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/93b201d4/plugins/acl/static-role-based/resources/META-INF/cloudstack/acl-static-role-based/spring-acl-static-role-based-context.xml
----------------------------------------------------------------------
diff --git a/plugins/acl/static-role-based/resources/META-INF/cloudstack/acl-static-role-based/spring-acl-static-role-based-context.xml b/plugins/acl/static-role-based/resources/META-INF/cloudstack/acl-static-role-based/spring-acl-static-role-based-context.xml
index f13acc1..0b22283 100644
--- a/plugins/acl/static-role-based/resources/META-INF/cloudstack/acl-static-role-based/spring-acl-static-role-based-context.xml
+++ b/plugins/acl/static-role-based/resources/META-INF/cloudstack/acl-static-role-based/spring-acl-static-role-based-context.xml
@@ -29,6 +29,11 @@
<bean id="StaticRoleBasedAPIAccessChecker" class="org.apache.cloudstack.acl.StaticRoleBasedAPIAccessChecker" >
<property name="services" value="#{apiCommandsRegistry.registered}" />
+ <property name="commandPropertyFiles">
+ <set>
+ <value>commands.properties</value>
+ </set>
+ </property>
</bean>
</beans>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/93b201d4/plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
----------------------------------------------------------------------
diff --git a/plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java b/plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
index 1316a92..4383b45 100644
--- a/plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
+++ b/plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
@@ -45,6 +45,7 @@ public class StaticRoleBasedAPIAccessChecker extends AdapterBase implements APIC
protected static final Logger s_logger = Logger.getLogger(StaticRoleBasedAPIAccessChecker.class);
+ Set<String> commandPropertyFiles = new HashSet<String>();
Set<String> commandsPropertiesOverrides = new HashSet<String>();
Map<RoleType, Set<String>> commandsPropertiesRoleBasedApisMap = new HashMap<RoleType, Set<String>>();
Map<RoleType, Set<String>> annotationRoleBasedApisMap = new HashMap<RoleType, Set<String>>();
@@ -84,7 +85,9 @@ public class StaticRoleBasedAPIAccessChecker extends AdapterBase implements APIC
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
super.configure(name, params);
- processMapping(PropertiesUtil.processConfigFile(new String[] {"commands.properties"}));
+ for (String commandPropertyFile : commandPropertyFiles) {
+ processMapping(PropertiesUtil.processConfigFile(new String[] { commandPropertyFile }));
+ }
return true;
}
@@ -129,4 +132,12 @@ public class StaticRoleBasedAPIAccessChecker extends AdapterBase implements APIC
this._services = services;
}
+ public Set<String> getCommandPropertyFiles() {
+ return commandPropertyFiles;
+ }
+
+ public void setCommandPropertyFiles(Set<String> commandPropertyFiles) {
+ this.commandPropertyFiles = commandPropertyFiles;
+ }
+
}