You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/07/23 20:20:02 UTC
[3/4] git commit: Resource tags: CS-15661 - don't accept NULL or
empty key value when create resource tag
Resource tags: CS-15661 - don't accept NULL or empty key value when create resource tag
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/7bef9a96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/7bef9a96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/7bef9a96
Branch: refs/heads/vpc
Commit: 7bef9a961d968e4187d1bf843404b29992c21a67
Parents: 65551cf
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Mon Jul 23 10:50:21 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Mon Jul 23 10:51:20 2012 -0700
----------------------------------------------------------------------
api/src/com/cloud/api/commands/CreateTagsCmd.java | 1 +
.../com/cloud/tags/TaggedResourceManagerImpl.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7bef9a96/api/src/com/cloud/api/commands/CreateTagsCmd.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/api/commands/CreateTagsCmd.java b/api/src/com/cloud/api/commands/CreateTagsCmd.java
index f87ae6e..a981363 100644
--- a/api/src/com/cloud/api/commands/CreateTagsCmd.java
+++ b/api/src/com/cloud/api/commands/CreateTagsCmd.java
@@ -33,6 +33,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
+import com.cloud.exception.InvalidParameterValueException;
import com.cloud.server.ResourceTag;
import com.cloud.server.ResourceTag.TaggedResourceType;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7bef9a96/server/src/com/cloud/tags/TaggedResourceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/tags/TaggedResourceManagerImpl.java b/server/src/com/cloud/tags/TaggedResourceManagerImpl.java
index f79eba4..84a2692 100644
--- a/server/src/com/cloud/tags/TaggedResourceManagerImpl.java
+++ b/server/src/com/cloud/tags/TaggedResourceManagerImpl.java
@@ -233,7 +233,7 @@ public class TaggedResourceManagerImpl implements TaggedResourceService, Manager
Transaction txn = Transaction.currentTxn();
txn.start();
- for (String tag : tags.keySet()) {
+ for (String key : tags.keySet()) {
for (String resourceId : resourceIds) {
Long id = getResourceId(resourceId, resourceType);
String resourceUuid = getUuid(resourceId, resourceType);
@@ -254,10 +254,16 @@ public class TaggedResourceManagerImpl implements TaggedResourceService, Manager
_accountMgr.checkAccess(caller, _domainMgr.getDomain(domainId));
} else {
throw new PermissionDeniedException("Account " + caller + " doesn't have permissions to create tags" +
- " for resource " + tag);
+ " for resource " + key);
+ }
+
+ String value = tags.get(key);
+
+ if (value == null || value.isEmpty()) {
+ throw new InvalidParameterValueException("Value for the key " + key + " is either null or empty");
}
- ResourceTagVO resourceTag = new ResourceTagVO(tag, tags.get(tag), accountDomainPair.first(),
+ ResourceTagVO resourceTag = new ResourceTagVO(key, value, accountDomainPair.first(),
accountDomainPair.second(),
id, resourceType, customer, resourceUuid);
resourceTag = _resourceTagDao.persist(resourceTag);