You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/01/14 19:00:34 UTC
[14/51] git commit: ApiDiscovery: Fix listApis interface,
fix getProperties
ApiDiscovery: Fix listApis interface, fix getProperties
In case of api discovery, it does not make sense to create a separate properties file
If this plugin is enabled in components.xml, a user should be able to discover
all the apis accessible to their role.
listApis based on role type of caller user
Signed-off-by: Rohit Yadav <bh...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/0b1c2a59
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/0b1c2a59
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/0b1c2a59
Branch: refs/heads/ui-quick-view-v2
Commit: 0b1c2a5981fea3d4455acee6ac77e9fa84c9724b
Parents: c4e890c
Author: Rohit Yadav <bh...@apache.org>
Authored: Thu Jan 10 15:47:59 2013 -0800
Committer: Rohit Yadav <bh...@apache.org>
Committed: Thu Jan 10 15:55:02 2013 -0800
----------------------------------------------------------------------
.../api/command/user/discovery/ListApisCmd.java | 7 ++++++-
.../cloudstack/discovery/ApiDiscoveryService.java | 3 ++-
.../discovery/ApiDiscoveryServiceImpl.java | 10 +++++++---
3 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0b1c2a59/plugins/api/discovery/src/org/apache/cloudstack/api/command/user/discovery/ListApisCmd.java
----------------------------------------------------------------------
diff --git a/plugins/api/discovery/src/org/apache/cloudstack/api/command/user/discovery/ListApisCmd.java b/plugins/api/discovery/src/org/apache/cloudstack/api/command/user/discovery/ListApisCmd.java
index dcbaec1..feab20a 100644
--- a/plugins/api/discovery/src/org/apache/cloudstack/api/command/user/discovery/ListApisCmd.java
+++ b/plugins/api/discovery/src/org/apache/cloudstack/api/command/user/discovery/ListApisCmd.java
@@ -16,6 +16,9 @@
// under the License.
package org.apache.cloudstack.api.command.user.discovery;
+import com.cloud.user.Account;
+import com.cloud.user.UserContext;
+import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.BaseListCmd;
@@ -39,7 +42,9 @@ public class ListApisCmd extends BaseListCmd {
@Override
public void execute() throws ServerApiException {
if (_apiDiscoveryService != null) {
- ListResponse<ApiDiscoveryResponse> response = (ListResponse<ApiDiscoveryResponse>) _apiDiscoveryService.listApis();
+ Account caller = UserContext.current().getCaller();
+ RoleType roleType = _accountService.getRoleType(UserContext.current().getCaller());
+ ListResponse<ApiDiscoveryResponse> response = (ListResponse<ApiDiscoveryResponse>) _apiDiscoveryService.listApis(roleType);
if (response == null) {
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Api Discovery plugin was unable to find and process any apis");
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0b1c2a59/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryService.java
----------------------------------------------------------------------
diff --git a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryService.java b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryService.java
index 96ea3ee..a1d440e 100644
--- a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryService.java
+++ b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryService.java
@@ -17,9 +17,10 @@
package org.apache.cloudstack.discovery;
import com.cloud.utils.component.PluggableService;
+import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.BaseResponse;
import org.apache.cloudstack.api.response.ListResponse;
public interface ApiDiscoveryService extends PluggableService {
- ListResponse<? extends BaseResponse> listApis();
+ ListResponse<? extends BaseResponse> listApis(RoleType roleType);
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0b1c2a59/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
----------------------------------------------------------------------
diff --git a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
index ea6b206..2bc17bd 100644
--- a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
+++ b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
@@ -16,7 +16,9 @@
// under the License.
package org.apache.cloudstack.discovery;
+import com.cloud.utils.PropertiesUtil;
import com.cloud.utils.ReflectUtil;
+import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.BaseAsyncCmd;
@@ -108,12 +110,14 @@ public class ApiDiscoveryServiceImpl implements ApiDiscoveryService {
}
@Override
- public ListResponse<? extends BaseResponse> listApis() {
+ public ListResponse<? extends BaseResponse> listApis(RoleType roleType) {
return _discoveryResponse;
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "api-discovery_commands.properties" };
+ public Map<String, String> getProperties() {
+ Map<String, String> apiDiscoveryPropertyMap = new HashMap<String, String>();
+ apiDiscoveryPropertyMap.put("listApis", "15");
+ return apiDiscoveryPropertyMap;
}
}