mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
ResourceMetaData (Resource details) fixes:
* changed name for TaggedResourceType enum to ResourceObjectType as this enum is used both by ResourceMetaData and ResourceTags code * enhanced the enum with extra fields resourceTagsSupport (boolean) and metadataSupport identifying if the resource supports tags and/or metadata. * cleanup unused @Inject objects from the ResourceMetaDataManager
This commit is contained in:
parent
e52e7a5634
commit
2bb716efd8
@ -16,22 +16,19 @@
|
||||
// under the License.package com.cloud.server;
|
||||
|
||||
package com.cloud.server;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
|
||||
public interface ResourceMetaDataService {
|
||||
|
||||
TaggedResourceType getResourceType (String resourceTypeStr);
|
||||
|
||||
/**
|
||||
* @param resourceId TODO
|
||||
* @param resourceType
|
||||
* @param details
|
||||
* @return
|
||||
*/
|
||||
boolean addResourceMetaData(String resourceId, TaggedResourceType resourceType, Map<String, String> details);
|
||||
boolean addResourceMetaData(String resourceId, ResourceObjectType resourceType, Map<String, String> details);
|
||||
|
||||
|
||||
/**
|
||||
@ -41,7 +38,7 @@ public interface ResourceMetaDataService {
|
||||
* @param key
|
||||
* @return
|
||||
*/
|
||||
public boolean deleteResourceMetaData(String resourceId, TaggedResourceType resourceType, String key);
|
||||
public boolean deleteResourceMetaData(String resourceId, ResourceObjectType resourceType, String key);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -22,27 +22,44 @@ import org.apache.cloudstack.api.InternalIdentity;
|
||||
|
||||
public interface ResourceTag extends ControlledEntity, Identity, InternalIdentity {
|
||||
|
||||
public enum TaggedResourceType {
|
||||
UserVm,
|
||||
Template,
|
||||
ISO,
|
||||
Volume,
|
||||
Snapshot,
|
||||
Network,
|
||||
Nic,
|
||||
LoadBalancer,
|
||||
PortForwardingRule,
|
||||
FirewallRule,
|
||||
SecurityGroup,
|
||||
PublicIpAddress,
|
||||
Project,
|
||||
Vpc,
|
||||
NetworkACL,
|
||||
StaticRoute,
|
||||
VMSnapshot,
|
||||
RemoteAccessVpn,
|
||||
Zone,
|
||||
ServiceOffering
|
||||
//FIXME - extract enum to another interface as its used both by resourceTags and resourceMetaData code
|
||||
public enum ResourceObjectType {
|
||||
UserVm (true, true),
|
||||
Template (true, true),
|
||||
ISO (true, false),
|
||||
Volume (true, true),
|
||||
Snapshot (true, false),
|
||||
Network (true, true),
|
||||
Nic (false, true),
|
||||
LoadBalancer (true, false),
|
||||
PortForwardingRule (true, false),
|
||||
FirewallRule (true, false),
|
||||
SecurityGroup (true, false),
|
||||
PublicIpAddress (true, false),
|
||||
Project (true, false),
|
||||
Vpc (true, false),
|
||||
NetworkACL (true, false),
|
||||
StaticRoute (true, false),
|
||||
VMSnapshot (true, false),
|
||||
RemoteAccessVpn (true, false),
|
||||
Zone (false, true),
|
||||
ServiceOffering (false, true);
|
||||
|
||||
ResourceObjectType(boolean resourceTagsSupport, boolean resourceMetadataSupport) {
|
||||
this.resourceTagsSupport = resourceTagsSupport;
|
||||
this.metadataSupport = resourceMetadataSupport;
|
||||
}
|
||||
|
||||
private final boolean resourceTagsSupport;
|
||||
private final boolean metadataSupport;
|
||||
|
||||
public boolean resourceTagsSupport() {
|
||||
return this.resourceTagsSupport;
|
||||
}
|
||||
|
||||
public boolean resourceMetadataSupport() {
|
||||
return this.metadataSupport;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,7 +80,7 @@ public interface ResourceTag extends ControlledEntity, Identity, InternalIdentit
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
TaggedResourceType getResourceType();
|
||||
ResourceObjectType getResourceType();
|
||||
|
||||
/**
|
||||
* @return
|
||||
|
||||
@ -19,12 +19,10 @@ package com.cloud.server;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
|
||||
public interface TaggedResourceService {
|
||||
|
||||
TaggedResourceType getResourceType (String resourceTypeStr);
|
||||
|
||||
/**
|
||||
* @param resourceIds TODO
|
||||
* @param resourceType
|
||||
@ -32,14 +30,7 @@ public interface TaggedResourceService {
|
||||
* @param customer TODO
|
||||
* @return
|
||||
*/
|
||||
List<ResourceTag> createTags(List<String> resourceIds, TaggedResourceType resourceType, Map<String, String> tags, String customer);
|
||||
|
||||
/**
|
||||
* @param resourceId
|
||||
* @param resourceType
|
||||
* @return
|
||||
*/
|
||||
String getUuid(String resourceId, TaggedResourceType resourceType);
|
||||
List<ResourceTag> createTags(List<String> resourceIds, ResourceObjectType resourceType, Map<String, String> tags, String customer);
|
||||
|
||||
|
||||
/**
|
||||
@ -48,10 +39,19 @@ public interface TaggedResourceService {
|
||||
* @param tags
|
||||
* @return
|
||||
*/
|
||||
boolean deleteTags(List<String> resourceIds, TaggedResourceType resourceType, Map<String, String> tags);
|
||||
boolean deleteTags(List<String> resourceIds, ResourceObjectType resourceType, Map<String, String> tags);
|
||||
|
||||
List<? extends ResourceTag> listByResourceTypeAndId(TaggedResourceType type, long resourceId);
|
||||
List<? extends ResourceTag> listByResourceTypeAndId(ResourceObjectType type, long resourceId);
|
||||
|
||||
public Long getResourceId(String resourceId, TaggedResourceType resourceType);
|
||||
//FIXME - the methods below should be extracted to its separate manager/service responsible just for retrieving object details
|
||||
ResourceObjectType getResourceType (String resourceTypeStr);
|
||||
|
||||
}
|
||||
/**
|
||||
* @param resourceId
|
||||
* @param resourceType
|
||||
* @return
|
||||
*/
|
||||
String getUuid(String resourceId, ResourceObjectType resourceType);
|
||||
|
||||
public long getResourceId(String resourceId, ResourceObjectType resourceType);
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
@APICommand(name = "createTags", description = "Creates resource tag(s)", responseObject = SuccessResponse.class, since = "4.0.0")
|
||||
public class CreateTagsCmd extends BaseAsyncCmd{
|
||||
public static final Logger s_logger = Logger.getLogger(CreateTagsCmd.class.getName());
|
||||
@ -64,7 +64,7 @@ public class CreateTagsCmd extends BaseAsyncCmd{
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
public TaggedResourceType getResourceType(){
|
||||
public ResourceObjectType getResourceType(){
|
||||
return _taggedResourceService.getResourceType(resourceType);
|
||||
}
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@ import org.apache.cloudstack.api.response.SuccessResponse;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
@APICommand(name = "deleteTags", description = "Deleting resource tag(s)", responseObject = SuccessResponse.class, since = "4.0.0")
|
||||
public class DeleteTagsCmd extends BaseAsyncCmd{
|
||||
public static final Logger s_logger = Logger.getLogger(DeleteTagsCmd.class.getName());
|
||||
@ -59,7 +59,7 @@ public class DeleteTagsCmd extends BaseAsyncCmd{
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
public TaggedResourceType getResourceType(){
|
||||
public ResourceObjectType getResourceType(){
|
||||
return _taggedResourceService.getResourceType(resourceType);
|
||||
}
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ public class AddResourceDetailCmd extends BaseAsyncCmd {
|
||||
return detailsMap;
|
||||
}
|
||||
|
||||
public ResourceTag.TaggedResourceType getResourceType() {
|
||||
public ResourceTag.ResourceObjectType getResourceType() {
|
||||
return _taggedResourceService.getResourceType(resourceType);
|
||||
}
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ public class ListResourceDetailsCmd extends BaseListProjectAndAccountResourcesCm
|
||||
this.setResponseObject(response);
|
||||
}
|
||||
|
||||
public ResourceTag.TaggedResourceType getResourceType() {
|
||||
public ResourceTag.ResourceObjectType getResourceType() {
|
||||
return _taggedResourceService.getResourceType(resourceType);
|
||||
}
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ public class RemoveResourceDetailCmd extends BaseAsyncCmd {
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
public ResourceTag.TaggedResourceType getResourceType(){
|
||||
public ResourceTag.ResourceObjectType getResourceType(){
|
||||
return _taggedResourceService.getResourceType(resourceType);
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ import com.cloud.network.rules.FirewallRule.Purpose;
|
||||
import com.cloud.network.rules.FirewallRule.State;
|
||||
import com.cloud.network.rules.FirewallRule.TrafficType;
|
||||
import com.cloud.network.rules.FirewallRuleVO;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
@ -314,13 +314,13 @@ public class FirewallRulesDaoImpl extends GenericDaoBase<FirewallRuleVO, Long> i
|
||||
FirewallRuleVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
if (entry.getPurpose() == Purpose.LoadBalancing) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.LoadBalancer);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.LoadBalancer);
|
||||
} else if (entry.getPurpose() == Purpose.PortForwarding) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.PortForwardingRule);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.PortForwardingRule);
|
||||
} else if (entry.getPurpose() == Purpose.Firewall) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.FirewallRule);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.FirewallRule);
|
||||
} else if (entry.getPurpose() == Purpose.NetworkACL) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.NetworkACL);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.NetworkACL);
|
||||
}
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
|
||||
@ -21,7 +21,7 @@ import com.cloud.dc.Vlan.VlanType;
|
||||
import com.cloud.dc.VlanVO;
|
||||
import com.cloud.dc.dao.VlanDao;
|
||||
import com.cloud.network.IpAddress.State;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
@ -394,7 +394,7 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
|
||||
txn.start();
|
||||
IPAddressVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.SecurityGroup);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.SecurityGroup);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -40,7 +40,7 @@ import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offerings.NetworkOfferingVO;
|
||||
import com.cloud.offerings.dao.NetworkOfferingDao;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.utils.db.*;
|
||||
import com.cloud.utils.db.JoinBuilder.JoinType;
|
||||
@ -580,7 +580,7 @@ public class NetworkDaoImpl extends GenericDaoBase<NetworkVO, Long> implements N
|
||||
txn.start();
|
||||
NetworkVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.Network);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.Network);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -24,7 +24,7 @@ import javax.inject.Inject;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.network.security.SecurityGroupVO;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.tags.dao.ResourceTagsDaoImpl;
|
||||
|
||||
@ -113,7 +113,7 @@ public class SecurityGroupDaoImpl extends GenericDaoBase<SecurityGroupVO, Long>
|
||||
txn.start();
|
||||
SecurityGroupVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.SecurityGroup);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.SecurityGroup);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
@ -127,7 +127,7 @@ public class SecurityGroupDaoImpl extends GenericDaoBase<SecurityGroupVO, Long>
|
||||
txn.start();
|
||||
SecurityGroupVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.SecurityGroup);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.SecurityGroup);
|
||||
}
|
||||
boolean result = super.expunge(id);
|
||||
txn.commit();
|
||||
|
||||
@ -25,7 +25,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.network.vpc.StaticRoute;
|
||||
import com.cloud.network.vpc.StaticRouteVO;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.tags.dao.ResourceTagsDaoImpl;
|
||||
|
||||
@ -110,7 +110,7 @@ public class StaticRouteDaoImpl extends GenericDaoBase<StaticRouteVO, Long> impl
|
||||
txn.start();
|
||||
StaticRouteVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.StaticRoute);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.StaticRoute);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -28,7 +28,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.network.vpc.Vpc;
|
||||
import com.cloud.network.vpc.VpcVO;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
|
||||
import com.cloud.utils.db.DB;
|
||||
@ -111,7 +111,7 @@ public class VpcDaoImpl extends GenericDaoBase<VpcVO, Long> implements VpcDao{
|
||||
txn.start();
|
||||
VpcVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.Vpc);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.Vpc);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.projects.Project;
|
||||
import com.cloud.projects.ProjectVO;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.tags.dao.ResourceTagsDaoImpl;
|
||||
|
||||
@ -84,7 +84,7 @@ public class ProjectDaoImpl extends GenericDaoBase<ProjectVO, Long> implements P
|
||||
return false;
|
||||
}
|
||||
|
||||
_tagsDao.removeByIdAndType(projectId, TaggedResourceType.Project);
|
||||
_tagsDao.removeByIdAndType(projectId, ResourceObjectType.Project);
|
||||
result = super.remove(projectId);
|
||||
txn.commit();
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ import javax.inject.Inject;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.DataStoreRole;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.Snapshot.Event;
|
||||
@ -308,7 +308,7 @@ public class SnapshotDaoImpl extends GenericDaoBase<SnapshotVO, Long> implements
|
||||
txn.start();
|
||||
SnapshotVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.Snapshot);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.Snapshot);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -40,7 +40,7 @@ import com.cloud.host.Host;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.Storage;
|
||||
import com.cloud.storage.Storage.ImageFormat;
|
||||
import com.cloud.storage.Storage.TemplateType;
|
||||
@ -175,7 +175,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase<VMTemplateVO, Long> implem
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.ISO.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.ISO.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
@ -880,9 +880,9 @@ public class VMTemplateDaoImpl extends GenericDaoBase<VMTemplateVO, Long> implem
|
||||
VMTemplateVO vo = findById(id);
|
||||
if (vo != null) {
|
||||
if (vo.getFormat() == ImageFormat.ISO) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.ISO);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.ISO);
|
||||
} else {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.Template);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.Template);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.ScopeType;
|
||||
import com.cloud.storage.Storage.ImageFormat;
|
||||
import com.cloud.storage.Volume;
|
||||
@ -523,7 +523,7 @@ public class VolumeDaoImpl extends GenericDaoBase<VolumeVO, Long> implements Vol
|
||||
txn.start();
|
||||
VolumeVO entry = findById(id);
|
||||
if (entry != null) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.Volume);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.Volume);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -64,7 +64,7 @@ public class ResourceTagVO implements ResourceTag {
|
||||
|
||||
@Column(name="resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType resourceType;
|
||||
private ResourceObjectType resourceType;
|
||||
|
||||
@Column(name="customer")
|
||||
String customer;
|
||||
@ -85,7 +85,7 @@ public class ResourceTagVO implements ResourceTag {
|
||||
* @param resourceUuid TODO
|
||||
*/
|
||||
public ResourceTagVO(String key, String value, long accountId, long domainId, long resourceId,
|
||||
TaggedResourceType resourceType, String customer, String resourceUuid) {
|
||||
ResourceObjectType resourceType, String customer, String resourceUuid) {
|
||||
super();
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
@ -139,7 +139,7 @@ public class ResourceTagVO implements ResourceTag {
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaggedResourceType getResourceType() {
|
||||
public ResourceObjectType getResourceType() {
|
||||
return resourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ package com.cloud.tags.dao;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
@ -30,8 +30,8 @@ public interface ResourceTagDao extends GenericDao<ResourceTagVO, Long>{
|
||||
* @param resourceType
|
||||
* @return
|
||||
*/
|
||||
boolean removeByIdAndType(long resourceId, TaggedResourceType resourceType);
|
||||
boolean removeByIdAndType(long resourceId, ResourceObjectType resourceType);
|
||||
|
||||
List<? extends ResourceTag> listBy(long resourceId, TaggedResourceType resourceType);
|
||||
List<? extends ResourceTag> listBy(long resourceId, ResourceObjectType resourceType);
|
||||
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ import javax.ejb.Local;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
@ -44,7 +44,7 @@ public class ResourceTagsDaoImpl extends GenericDaoBase<ResourceTagVO, Long> imp
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeByIdAndType(long resourceId, ResourceTag.TaggedResourceType resourceType) {
|
||||
public boolean removeByIdAndType(long resourceId, ResourceTag.ResourceObjectType resourceType) {
|
||||
SearchCriteria<ResourceTagVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("resourceId", resourceId);
|
||||
sc.setParameters("resourceType", resourceType);
|
||||
@ -53,7 +53,7 @@ public class ResourceTagsDaoImpl extends GenericDaoBase<ResourceTagVO, Long> imp
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ResourceTag> listBy(long resourceId, TaggedResourceType resourceType) {
|
||||
public List<? extends ResourceTag> listBy(long resourceId, ResourceObjectType resourceType) {
|
||||
SearchCriteria<ResourceTagVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("resourceId", resourceId);
|
||||
sc.setParameters("resourceType", resourceType);
|
||||
|
||||
@ -34,7 +34,7 @@ import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.configuration.Resource;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.tags.dao.ResourceTagsDaoImpl;
|
||||
import com.cloud.user.Account;
|
||||
@ -577,7 +577,7 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
|
||||
public boolean remove(Long id) {
|
||||
TransactionLegacy txn = TransactionLegacy.currentTxn();
|
||||
txn.start();
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.UserVm);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.UserVm);
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
return result;
|
||||
|
||||
@ -35,7 +35,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.db.Attribute;
|
||||
@ -658,7 +658,7 @@ public class VMInstanceDaoImpl extends GenericDaoBase<VMInstanceVO, Long> implem
|
||||
txn.start();
|
||||
VMInstanceVO vm = findById(id);
|
||||
if (vm != null && vm.getType() == Type.User) {
|
||||
_tagsDao.removeByIdAndType(id, TaggedResourceType.UserVm);
|
||||
_tagsDao.removeByIdAndType(id, ResourceObjectType.UserVm);
|
||||
}
|
||||
boolean result = super.remove(id);
|
||||
txn.commit();
|
||||
|
||||
@ -217,7 +217,7 @@ import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.server.Criteria;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.server.StatsCollector;
|
||||
import com.cloud.server.TaggedResourceService;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
@ -1154,11 +1154,11 @@ public class ApiDBUtils {
|
||||
return vmSnapshot;
|
||||
}
|
||||
|
||||
public static String getUuid(String resourceId, TaggedResourceType resourceType) {
|
||||
public static String getUuid(String resourceId, ResourceObjectType resourceType) {
|
||||
return _taggedResourceService.getUuid(resourceId, resourceType);
|
||||
}
|
||||
|
||||
public static List<? extends ResourceTag> listByResourceTypeAndId(TaggedResourceType type, long resourceId) {
|
||||
public static List<? extends ResourceTag> listByResourceTypeAndId(ResourceObjectType type, long resourceId) {
|
||||
return _taggedResourceService.listByResourceTypeAndId(type, resourceId);
|
||||
}
|
||||
public static List<ConditionVO> getAutoScalePolicyConditions(long policyId)
|
||||
@ -1689,7 +1689,7 @@ public class ApiDBUtils {
|
||||
return _accountService.isAdmin(account.getType());
|
||||
}
|
||||
|
||||
public static List<ResourceTagJoinVO> listResourceTagViewByResourceUUID(String resourceUUID, TaggedResourceType resourceType){
|
||||
public static List<ResourceTagJoinVO> listResourceTagViewByResourceUUID(String resourceUUID, ResourceObjectType resourceType){
|
||||
return _tagJoinDao.listBy(resourceUUID, resourceType);
|
||||
}
|
||||
}
|
||||
|
||||
@ -256,7 +256,7 @@ import com.cloud.projects.ProjectInvitation;
|
||||
import com.cloud.region.ha.GlobalLoadBalancerRule;
|
||||
import com.cloud.server.Criteria;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
import com.cloud.storage.DataStoreRole;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
@ -466,7 +466,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
snapshotResponse.setRevertable(snapshotInfo.isRevertable());
|
||||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.Snapshot, snapshot.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Snapshot, snapshot.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -719,7 +719,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
ipResponse.setPortable(ipAddr.isPortable());
|
||||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.PublicIpAddress, ipAddr.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.PublicIpAddress, ipAddr.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -759,7 +759,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
}
|
||||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.LoadBalancer, loadBalancer.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.LoadBalancer, loadBalancer.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -1047,7 +1047,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
}
|
||||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.PortForwardingRule, fwRule.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.PortForwardingRule, fwRule.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -2308,7 +2308,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
response.setCanUseForDeploy(ApiDBUtils.canUseForDeploy(network));
|
||||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.Network, network.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Network, network.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -2382,7 +2382,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
response.setIcmpType(fwRule.getIcmpType());
|
||||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.FirewallRule, fwRule.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.FirewallRule, fwRule.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -2432,7 +2432,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
}
|
||||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.NetworkACL, aclItem.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.NetworkACL, aclItem.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -2945,7 +2945,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
populateOwner(response, vpc);
|
||||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.Vpc, vpc.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Vpc, vpc.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -3136,7 +3136,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
populateDomain(response, result.getDomainId());
|
||||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.StaticRoute, result.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.StaticRoute, result.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
@ -3642,7 +3642,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
lbResponse.setLbInstances(instanceResponses);
|
||||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(TaggedResourceType.LoadBalancer, lb.getId());
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.LoadBalancer, lb.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
|
||||
@ -155,7 +155,7 @@ import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.server.Criteria;
|
||||
import com.cloud.server.ResourceMetaDataService;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.server.TaggedResourceService;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
import com.cloud.service.dao.ServiceOfferingDao;
|
||||
@ -2690,7 +2690,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
|
||||
|
||||
if (resourceTags != null && !resourceTags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.Zone.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.Zone.toString());
|
||||
for (String key : resourceTags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), resourceTags.get(key));
|
||||
@ -2946,9 +2946,9 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
|
||||
scTag.addAnd("tagKey", SearchCriteria.Op.EQ, key);
|
||||
scTag.addAnd("tagValue", SearchCriteria.Op.EQ, tags.get(key));
|
||||
if (isIso) {
|
||||
scTag.addAnd("tagResourceType", SearchCriteria.Op.EQ, TaggedResourceType.ISO);
|
||||
scTag.addAnd("tagResourceType", SearchCriteria.Op.EQ, ResourceObjectType.ISO);
|
||||
} else {
|
||||
scTag.addAnd("tagResourceType", SearchCriteria.Op.EQ, TaggedResourceType.Template);
|
||||
scTag.addAnd("tagResourceType", SearchCriteria.Op.EQ, ResourceObjectType.Template);
|
||||
}
|
||||
scc.addOr("tagKey", SearchCriteria.Op.SC, scTag);
|
||||
count++;
|
||||
@ -3263,39 +3263,39 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
|
||||
@Override
|
||||
public List<ResourceDetailResponse> listResource(ListResourceDetailsCmd cmd) {
|
||||
String key = cmd.getKey();
|
||||
ResourceTag.TaggedResourceType resourceType = cmd.getResourceType();
|
||||
ResourceTag.ResourceObjectType resourceType = cmd.getResourceType();
|
||||
String resourceId = cmd.getResourceId();
|
||||
Long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
List<ResourceDetailResponse> responseList = new ArrayList<ResourceDetailResponse>();
|
||||
List<? extends ResourceDetail> detailList = new ArrayList<ResourceDetail>();
|
||||
ResourceDetail requestedDetail = null;
|
||||
|
||||
|
||||
if (resourceType == ResourceTag.TaggedResourceType.Volume) {
|
||||
if (resourceType == ResourceTag.ResourceObjectType.Volume) {
|
||||
if (key == null) {
|
||||
detailList = _volumeDetailDao.findDetails(id);
|
||||
} else {
|
||||
requestedDetail = _volumeDetailDao.findDetail(id, key);
|
||||
}
|
||||
} else if (resourceType == ResourceTag.TaggedResourceType.Nic){
|
||||
} else if (resourceType == ResourceTag.ResourceObjectType.Nic){
|
||||
if (key == null) {
|
||||
detailList = _nicDetailDao.findDetails(id);
|
||||
} else {
|
||||
requestedDetail = _nicDetailDao.findDetail(id, key);
|
||||
}
|
||||
} else if (resourceType == ResourceTag.TaggedResourceType.UserVm){
|
||||
} else if (resourceType == ResourceTag.ResourceObjectType.UserVm){
|
||||
if (key == null) {
|
||||
detailList = _userVmDetailDao.findDetailsList(id);
|
||||
} else {
|
||||
requestedDetail = _userVmDetailDao.findDetail(id, key);
|
||||
}
|
||||
} else if (resourceType == ResourceTag.TaggedResourceType.Zone){
|
||||
} else if (resourceType == ResourceTag.ResourceObjectType.Zone){
|
||||
if (key == null) {
|
||||
detailList = _dcDetailsDao.findDetailsList(id);
|
||||
} else {
|
||||
requestedDetail = _dcDetailsDao.findDetail(id, key);
|
||||
}
|
||||
} else if (resourceType == TaggedResourceType.Network){
|
||||
} else if (resourceType == ResourceObjectType.Network){
|
||||
if (key == null) {
|
||||
detailList = _networkDetailsDao.findDetails(id);
|
||||
} else {
|
||||
@ -3321,7 +3321,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
|
||||
}
|
||||
|
||||
|
||||
protected ResourceDetailResponse createResourceDetailsResponse(long resourceId, String key, String value, ResourceTag.TaggedResourceType type) {
|
||||
protected ResourceDetailResponse createResourceDetailsResponse(long resourceId, String key, String value, ResourceTag.ResourceObjectType type) {
|
||||
ResourceDetailResponse resourceDetailResponse = new ResourceDetailResponse();
|
||||
resourceDetailResponse.setResourceId(String.valueOf(resourceId));
|
||||
resourceDetailResponse.setName(key);
|
||||
|
||||
@ -31,7 +31,7 @@ import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.query.vo.DataCenterJoinVO;
|
||||
import com.cloud.api.query.vo.ResourceTagJoinVO;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
@ -99,7 +99,7 @@ public class DataCenterJoinDaoImpl extends GenericDaoBase<DataCenterJoinVO, Long
|
||||
zoneResponse.setDhcpProvider(dataCenter.getDhcpProvider());
|
||||
|
||||
// update tag information
|
||||
List<ResourceTagJoinVO> resourceTags = ApiDBUtils.listResourceTagViewByResourceUUID(dataCenter.getUuid(), TaggedResourceType.Zone);
|
||||
List<ResourceTagJoinVO> resourceTags = ApiDBUtils.listResourceTagViewByResourceUUID(dataCenter.getUuid(), ResourceObjectType.Zone);
|
||||
for (ResourceTagJoinVO resourceTag : resourceTags) {
|
||||
ResourceTagResponse tagResponse = ApiDBUtils.newResourceTagResponse(resourceTag, false);
|
||||
zoneResponse.addTag(tagResponse);
|
||||
|
||||
@ -22,7 +22,7 @@ import org.apache.cloudstack.api.response.ResourceTagResponse;
|
||||
|
||||
import com.cloud.api.query.vo.ResourceTagJoinVO;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
public interface ResourceTagJoinDao extends GenericDao<ResourceTagJoinVO, Long> {
|
||||
@ -33,5 +33,5 @@ public interface ResourceTagJoinDao extends GenericDao<ResourceTagJoinVO, Long>
|
||||
|
||||
List<ResourceTagJoinVO> searchByIds(Long... ids);
|
||||
|
||||
List<ResourceTagJoinVO> listBy(String resourceUUID, TaggedResourceType resourceType);
|
||||
List<ResourceTagJoinVO> listBy(String resourceUUID, ResourceObjectType resourceType);
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ import org.springframework.stereotype.Component;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.query.vo.ResourceTagJoinVO;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
@ -95,7 +95,7 @@ public class ResourceTagJoinDaoImpl extends GenericDaoBase<ResourceTagJoinVO, Lo
|
||||
|
||||
|
||||
@Override
|
||||
public List<ResourceTagJoinVO> listBy(String resourceUUID, TaggedResourceType resourceType) {
|
||||
public List<ResourceTagJoinVO> listBy(String resourceUUID, ResourceObjectType resourceType) {
|
||||
SearchCriteria<ResourceTagJoinVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("uuid", resourceUUID);
|
||||
sc.setParameters("resourceType", resourceType);
|
||||
|
||||
@ -20,16 +20,13 @@ import java.util.List;
|
||||
|
||||
import javax.ejb.Local;
|
||||
|
||||
import org.apache.cloudstack.api.response.ResourceTagResponse;
|
||||
import org.apache.cloudstack.api.response.ServiceOfferingResponse;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.query.vo.ResourceTagJoinVO;
|
||||
import com.cloud.api.query.vo.ServiceOfferingJoinVO;
|
||||
import com.cloud.offering.ServiceOffering;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
@ -84,13 +81,6 @@ public class ServiceOfferingJoinDaoImpl extends GenericDaoBase<ServiceOfferingJo
|
||||
offeringResponse.setIopsWriteRate(offering.getIopsWriteRate());
|
||||
offeringResponse.setDetails(ApiDBUtils.getServiceOfferingDetails(offering.getId()));
|
||||
offeringResponse.setObjectName("serviceoffering");
|
||||
|
||||
// update tag information
|
||||
List<ResourceTagJoinVO> resourceTags = ApiDBUtils.listResourceTagViewByResourceUUID(offering.getUuid(), TaggedResourceType.ServiceOffering);
|
||||
for (ResourceTagJoinVO resourceTag : resourceTags) {
|
||||
ResourceTagResponse tagResponse = ApiDBUtils.newResourceTagResponse(resourceTag, false);
|
||||
offeringResponse.addTag(tagResponse);
|
||||
}
|
||||
|
||||
return offeringResponse;
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ import org.apache.cloudstack.api.Identity;
|
||||
import org.apache.cloudstack.api.InternalIdentity;
|
||||
|
||||
import com.cloud.projects.Project.State;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
@Entity
|
||||
@ -103,7 +103,7 @@ public class ProjectJoinVO extends BaseViewVO implements InternalIdentity, Ident
|
||||
|
||||
@Column(name="tag_resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType tagResourceType;
|
||||
private ResourceObjectType tagResourceType;
|
||||
|
||||
@Column(name="tag_customer")
|
||||
private String tagCustomer;
|
||||
@ -196,7 +196,7 @@ public class ProjectJoinVO extends BaseViewVO implements InternalIdentity, Ident
|
||||
return tagResourceUuid;
|
||||
}
|
||||
|
||||
public TaggedResourceType getTagResourceType() {
|
||||
public ResourceObjectType getTagResourceType() {
|
||||
return tagResourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ import javax.persistence.Enumerated;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
|
||||
@Entity
|
||||
@Table(name="resource_tag_view")
|
||||
@ -50,7 +50,7 @@ public class ResourceTagJoinVO extends BaseViewVO implements ControlledViewEntit
|
||||
|
||||
@Column(name="resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType resourceType;
|
||||
private ResourceObjectType resourceType;
|
||||
|
||||
@Column(name="customer")
|
||||
String customer;
|
||||
@ -171,7 +171,7 @@ public class ResourceTagJoinVO extends BaseViewVO implements ControlledViewEntit
|
||||
return resourceUuid;
|
||||
}
|
||||
|
||||
public TaggedResourceType getResourceType() {
|
||||
public ResourceObjectType getResourceType() {
|
||||
return resourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import com.cloud.network.security.SecurityRule.SecurityRuleType;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
|
||||
@Entity
|
||||
@Table(name="security_group_view")
|
||||
@ -135,7 +135,7 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt
|
||||
|
||||
@Column(name="tag_resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType tagResourceType;
|
||||
private ResourceObjectType tagResourceType;
|
||||
|
||||
@Column(name="tag_customer")
|
||||
private String tagCustomer;
|
||||
@ -295,7 +295,7 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt
|
||||
return tagResourceUuid;
|
||||
}
|
||||
|
||||
public TaggedResourceType getTagResourceType() {
|
||||
public ResourceObjectType getTagResourceType() {
|
||||
return tagResourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ import javax.persistence.TemporalType;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.ScopeType;
|
||||
import com.cloud.storage.Storage;
|
||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||
@ -238,7 +238,7 @@ public class TemplateJoinVO extends BaseViewVO implements ControlledViewEntity {
|
||||
|
||||
@Column(name="tag_resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType tagResourceType;
|
||||
private ResourceObjectType tagResourceType;
|
||||
|
||||
@Column(name="tag_customer")
|
||||
private String tagCustomer;
|
||||
@ -369,7 +369,7 @@ public class TemplateJoinVO extends BaseViewVO implements ControlledViewEntity {
|
||||
return tagResourceUuid;
|
||||
}
|
||||
|
||||
public TaggedResourceType getTagResourceType() {
|
||||
public ResourceObjectType getTagResourceType() {
|
||||
return tagResourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ import javax.persistence.Transient;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.network.Network.GuestType;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.Storage.StoragePoolType;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.utils.db.Encrypt;
|
||||
@ -366,7 +366,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
|
||||
|
||||
@Column(name="tag_resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType tagResourceType;
|
||||
private ResourceObjectType tagResourceType;
|
||||
|
||||
@Column(name="tag_customer")
|
||||
private String tagCustomer;
|
||||
@ -798,7 +798,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
|
||||
return tagResourceUuid;
|
||||
}
|
||||
|
||||
public TaggedResourceType getTagResourceType() {
|
||||
public ResourceObjectType getTagResourceType() {
|
||||
return tagResourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ import javax.persistence.Table;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.Storage;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||
@ -255,7 +255,7 @@ public class VolumeJoinVO extends BaseViewVO implements ControlledViewEntity {
|
||||
|
||||
@Column(name="tag_resource_type")
|
||||
@Enumerated(value=EnumType.STRING)
|
||||
private TaggedResourceType tagResourceType;
|
||||
private ResourceObjectType tagResourceType;
|
||||
|
||||
@Column(name="tag_customer")
|
||||
private String tagCustomer;
|
||||
@ -649,7 +649,7 @@ public class VolumeJoinVO extends BaseViewVO implements ControlledViewEntity {
|
||||
|
||||
|
||||
|
||||
public TaggedResourceType getTagResourceType() {
|
||||
public ResourceObjectType getTagResourceType() {
|
||||
return tagResourceType;
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
// under the License.
|
||||
package com.cloud.metadata;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.ejb.Local;
|
||||
@ -26,112 +25,43 @@ import javax.naming.ConfigurationException;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.api.query.dao.ResourceTagJoinDao;
|
||||
import com.cloud.dc.DcDetailVO;
|
||||
import com.cloud.dc.dao.DataCenterDao;
|
||||
import com.cloud.dc.dao.DcDetailsDao;
|
||||
import com.cloud.event.ActionEvent;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.network.dao.FirewallRulesDao;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
import com.cloud.network.dao.LoadBalancerDao;
|
||||
import com.cloud.network.dao.NetworkDao;
|
||||
import com.cloud.network.dao.NetworkDetailVO;
|
||||
import com.cloud.network.dao.NetworkDetailsDao;
|
||||
import com.cloud.network.dao.RemoteAccessVpnDao;
|
||||
import com.cloud.network.rules.dao.PortForwardingRulesDao;
|
||||
import com.cloud.network.security.dao.SecurityGroupDao;
|
||||
import com.cloud.network.vpc.dao.StaticRouteDao;
|
||||
import com.cloud.network.vpc.dao.VpcDao;
|
||||
import com.cloud.projects.dao.ProjectDao;
|
||||
import com.cloud.server.ResourceMetaDataService;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.server.TaggedResourceService;
|
||||
import com.cloud.service.ServiceOfferingDetailsVO;
|
||||
import com.cloud.service.dao.ServiceOfferingDetailsDao;
|
||||
import com.cloud.storage.VolumeDetailVO;
|
||||
import com.cloud.storage.dao.SnapshotDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao;
|
||||
import com.cloud.storage.dao.VMTemplateDetailsDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.dao.VolumeDetailsDao;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.AccountManager;
|
||||
import com.cloud.user.DomainManager;
|
||||
import com.cloud.utils.component.ManagerBase;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.TransactionCallback;
|
||||
import com.cloud.utils.db.TransactionStatus;
|
||||
import com.cloud.uuididentity.dao.IdentityDao;
|
||||
import com.cloud.vm.NicDetailVO;
|
||||
import com.cloud.vm.dao.NicDao;
|
||||
import com.cloud.vm.dao.NicDetailDao;
|
||||
import com.cloud.vm.dao.UserVmDao;
|
||||
import com.cloud.vm.dao.UserVmDetailsDao;
|
||||
import com.cloud.vm.snapshot.dao.VMSnapshotDao;
|
||||
|
||||
|
||||
@Component
|
||||
@Local(value = { ResourceMetaDataService.class, ResourceMetaDataManager.class })
|
||||
public class ResourceMetaDataManagerImpl extends ManagerBase implements ResourceMetaDataService, ResourceMetaDataManager {
|
||||
public static final Logger s_logger = Logger.getLogger(ResourceMetaDataManagerImpl.class);
|
||||
|
||||
|
||||
private static Map<TaggedResourceType, GenericDao<?, Long>> _daoMap=
|
||||
new HashMap<TaggedResourceType, GenericDao<?, Long>>();
|
||||
@Inject
|
||||
AccountManager _accountMgr;
|
||||
@Inject
|
||||
ResourceTagDao _resourceTagDao;
|
||||
@Inject
|
||||
ResourceTagJoinDao _resourceTagJoinDao;
|
||||
@Inject
|
||||
IdentityDao _identityDao;
|
||||
@Inject
|
||||
DomainManager _domainMgr;
|
||||
@Inject
|
||||
UserVmDao _userVmDao;
|
||||
@Inject
|
||||
VolumeDao _volumeDao;
|
||||
@Inject
|
||||
VMTemplateDao _templateDao;
|
||||
@Inject
|
||||
SnapshotDao _snapshotDao;
|
||||
@Inject
|
||||
NetworkDao _networkDao;
|
||||
@Inject
|
||||
DataCenterDao _dataCenterDao;
|
||||
@Inject
|
||||
LoadBalancerDao _lbDao;
|
||||
@Inject
|
||||
PortForwardingRulesDao _pfDao;
|
||||
@Inject
|
||||
FirewallRulesDao _firewallDao;
|
||||
@Inject
|
||||
SecurityGroupDao _securityGroupDao;
|
||||
@Inject
|
||||
RemoteAccessVpnDao _vpnDao;
|
||||
@Inject
|
||||
IPAddressDao _publicIpDao;
|
||||
@Inject
|
||||
ProjectDao _projectDao;
|
||||
@Inject
|
||||
VpcDao _vpcDao;
|
||||
@Inject
|
||||
StaticRouteDao _staticRouteDao;
|
||||
@Inject
|
||||
VMSnapshotDao _vmSnapshotDao;
|
||||
@Inject
|
||||
protected VolumeDetailsDao _volumeDetailDao;
|
||||
VolumeDetailsDao _volumeDetailDao;
|
||||
@Inject
|
||||
NicDetailDao _nicDetailDao;
|
||||
@Inject
|
||||
UserVmDetailsDao _userVmDetailDao;
|
||||
@Inject
|
||||
NicDao _nicDao;
|
||||
@Inject
|
||||
DcDetailsDao _dcDetailsDao;
|
||||
@Inject
|
||||
NetworkDetailsDao _networkDetailsDao;
|
||||
@ -141,29 +71,12 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
VMTemplateDetailsDao _templateDetailsDao;
|
||||
@Inject
|
||||
UserVmDetailsDao _userVmDetailsDao;
|
||||
@Inject
|
||||
ServiceOfferingDetailsDao _serviceOfferingDetailsDao;
|
||||
|
||||
|
||||
@Override
|
||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||
|
||||
_daoMap.put(TaggedResourceType.UserVm, _userVmDao);
|
||||
_daoMap.put(TaggedResourceType.Volume, _volumeDao);
|
||||
_daoMap.put(TaggedResourceType.Template, _templateDao);
|
||||
_daoMap.put(TaggedResourceType.ISO, _templateDao);
|
||||
_daoMap.put(TaggedResourceType.Snapshot, _snapshotDao);
|
||||
_daoMap.put(TaggedResourceType.Network, _networkDao);
|
||||
_daoMap.put(TaggedResourceType.LoadBalancer, _lbDao);
|
||||
_daoMap.put(TaggedResourceType.PortForwardingRule, _pfDao);
|
||||
_daoMap.put(TaggedResourceType.FirewallRule, _firewallDao);
|
||||
_daoMap.put(TaggedResourceType.SecurityGroup, _securityGroupDao);
|
||||
_daoMap.put(TaggedResourceType.PublicIpAddress, _publicIpDao);
|
||||
_daoMap.put(TaggedResourceType.Project, _projectDao);
|
||||
_daoMap.put(TaggedResourceType.Vpc, _vpcDao);
|
||||
_daoMap.put(TaggedResourceType.NetworkACL, _firewallDao);
|
||||
_daoMap.put(TaggedResourceType.Nic, _nicDao);
|
||||
_daoMap.put(TaggedResourceType.StaticRoute, _staticRouteDao);
|
||||
_daoMap.put(TaggedResourceType.VMSnapshot, _vmSnapshotDao);
|
||||
_daoMap.put(TaggedResourceType.RemoteAccessVpn, _vpnDao);
|
||||
_daoMap.put(TaggedResourceType.Zone, _dataCenterDao);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -176,66 +89,51 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
public boolean stop() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public TaggedResourceType getResourceType(String resourceTypeStr) {
|
||||
|
||||
for (TaggedResourceType type : ResourceTag.TaggedResourceType.values()) {
|
||||
if (type.toString().equalsIgnoreCase(resourceTypeStr)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
throw new InvalidParameterValueException("Invalid resource type " + resourceTypeStr);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@DB
|
||||
@ActionEvent(eventType = EventTypes.EVENT_RESOURCE_DETAILS_CREATE, eventDescription = "creating resource meta data")
|
||||
public boolean addResourceMetaData(final String resourceId, final TaggedResourceType resourceType, final Map<String, String> details){
|
||||
public boolean addResourceMetaData(final String resourceId, final ResourceObjectType resourceType, final Map<String, String> details){
|
||||
return Transaction.execute(new TransactionCallback<Boolean>() {
|
||||
@Override
|
||||
public Boolean doInTransaction(TransactionStatus status) {
|
||||
for (String key : details.keySet()) {
|
||||
Long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
|
||||
//check if object exists
|
||||
if (_daoMap.get(resourceType).findById(id) == null) {
|
||||
throw new InvalidParameterValueException("Unable to find resource by id " + resourceId +
|
||||
" and type " + resourceType);
|
||||
}
|
||||
|
||||
String value = details.get(key);
|
||||
|
||||
if (value == null || value.isEmpty()) {
|
||||
throw new InvalidParameterValueException("Value for the key " + key + " is either null or empty");
|
||||
}
|
||||
|
||||
// TODO - Have a better design here.
|
||||
if(resourceType == TaggedResourceType.Volume){
|
||||
VolumeDetailVO v = new VolumeDetailVO(id, key, value);
|
||||
_volumeDetailDao.persist(v);
|
||||
} else if (resourceType == TaggedResourceType.Nic){
|
||||
NicDetailVO n = new NicDetailVO(id, key, value);
|
||||
_nicDetailDao.persist(n);
|
||||
} else if (resourceType == TaggedResourceType.Zone){
|
||||
DcDetailVO dataCenterDetail = new DcDetailVO(id, key, value);
|
||||
_dcDetailsDao.persist(dataCenterDetail);
|
||||
} else if (resourceType == TaggedResourceType.Network){
|
||||
NetworkDetailVO networkDetail = new NetworkDetailVO(id, key, value);
|
||||
_networkDetailsDao.persist(networkDetail);
|
||||
} else if (resourceType == TaggedResourceType.UserVm) {
|
||||
_userVmDetailsDao.addVmDetail(id, key, value);
|
||||
} else if (resourceType == TaggedResourceType.Template) {
|
||||
_templateDetailsDao.addTemplateDetail(id, key, value);
|
||||
} else{
|
||||
throw new InvalidParameterValueException("The resource type " + resourceType + " is not supported by the API yet");
|
||||
|
||||
if (!resourceType.resourceMetadataSupport()) {
|
||||
throw new InvalidParameterValueException("The resource type " + resourceType + " doesn't support metadata (resource details)");
|
||||
}
|
||||
|
||||
long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
// TODO - Have a better design here.
|
||||
if(resourceType == ResourceObjectType.Volume){
|
||||
VolumeDetailVO v = new VolumeDetailVO(id, key, value);
|
||||
_volumeDetailDao.persist(v);
|
||||
} else if (resourceType == ResourceObjectType.Nic){
|
||||
NicDetailVO n = new NicDetailVO(id, key, value);
|
||||
_nicDetailDao.persist(n);
|
||||
} else if (resourceType == ResourceObjectType.Zone){
|
||||
DcDetailVO dataCenterDetail = new DcDetailVO(id, key, value);
|
||||
_dcDetailsDao.persist(dataCenterDetail);
|
||||
} else if (resourceType == ResourceObjectType.Network){
|
||||
NetworkDetailVO networkDetail = new NetworkDetailVO(id, key, value);
|
||||
_networkDetailsDao.persist(networkDetail);
|
||||
} else if (resourceType == ResourceObjectType.UserVm) {
|
||||
_userVmDetailsDao.addVmDetail(id, key, value);
|
||||
} else if (resourceType == ResourceObjectType.Template) {
|
||||
_templateDetailsDao.addTemplateDetail(id, key, value);
|
||||
} else if (resourceType == ResourceObjectType.ServiceOffering) {
|
||||
ServiceOfferingDetailsVO entity = new ServiceOfferingDetailsVO(id, key, value);
|
||||
_serviceOfferingDetailsDao.persist(entity);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
@ -245,23 +143,26 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
@Override
|
||||
@DB
|
||||
@ActionEvent(eventType = EventTypes.EVENT_RESOURCE_DETAILS_DELETE, eventDescription = "deleting resource meta data")
|
||||
public boolean deleteResourceMetaData(String resourceId, TaggedResourceType resourceType, String key){
|
||||
public boolean deleteResourceMetaData(String resourceId, ResourceObjectType resourceType, String key){
|
||||
|
||||
Long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
// TODO - Have a better design here.
|
||||
if(resourceType == TaggedResourceType.Volume){
|
||||
_volumeDetailDao.removeDetails(id, key);
|
||||
} else if(resourceType == TaggedResourceType.Nic){
|
||||
_nicDetailDao.removeDetails(id, key);
|
||||
} else if(resourceType == TaggedResourceType.UserVm){
|
||||
_userVmDetailDao.removeDetails(id, key);
|
||||
} else if (resourceType == TaggedResourceType.Zone){
|
||||
_dcDetailsDao.removeDetails(id, key);
|
||||
} else if (resourceType == TaggedResourceType.Network){
|
||||
_networkDetailsDao.removeDetails(id, key);
|
||||
} else{
|
||||
long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
|
||||
if (!resourceType.resourceMetadataSupport()) {
|
||||
throw new InvalidParameterValueException("The resource type " + resourceType + " is not supported by the API yet");
|
||||
}
|
||||
|
||||
// TODO - Have a better design here.
|
||||
if(resourceType == ResourceObjectType.Volume){
|
||||
_volumeDetailDao.removeDetails(id, key);
|
||||
} else if(resourceType == ResourceObjectType.Nic){
|
||||
_nicDetailDao.removeDetails(id, key);
|
||||
} else if(resourceType == ResourceObjectType.UserVm){
|
||||
_userVmDetailDao.removeDetails(id, key);
|
||||
} else if (resourceType == ResourceObjectType.Zone){
|
||||
_dcDetailsDao.removeDetails(id, key);
|
||||
} else if (resourceType == ResourceObjectType.Network){
|
||||
_networkDetailsDao.removeDetails(id, key);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -136,7 +136,7 @@ import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
||||
import com.cloud.org.Grouping;
|
||||
import com.cloud.projects.Project;
|
||||
import com.cloud.projects.ProjectManager;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.Account;
|
||||
@ -1671,7 +1671,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.Network.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.Network.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -74,7 +74,7 @@ import com.cloud.network.rules.StaticNat;
|
||||
import com.cloud.network.rules.dao.PortForwardingRulesDao;
|
||||
import com.cloud.network.vpc.VpcManager;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.Account;
|
||||
@ -308,7 +308,7 @@ public class FirewallManagerImpl extends ManagerBase implements FirewallService,
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.FirewallRule.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.FirewallRule.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -130,7 +130,7 @@ import com.cloud.network.rules.StickinessPolicy;
|
||||
import com.cloud.network.vpc.VpcManager;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.service.dao.ServiceOfferingDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
@ -2055,7 +2055,7 @@ public class LoadBalancingRulesManagerImpl<Type> extends ManagerBase implements
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.LoadBalancer.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.LoadBalancer.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -59,7 +59,7 @@ import com.cloud.network.vpc.VpcManager;
|
||||
import com.cloud.network.vpc.VpcService;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.Account;
|
||||
@ -831,7 +831,7 @@ public class RulesManagerImpl extends ManagerBase implements RulesManager, Rules
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.PortForwardingRule.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.PortForwardingRule.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -43,7 +43,7 @@ import com.cloud.network.dao.NetworkVO;
|
||||
import com.cloud.network.vpc.dao.NetworkACLDao;
|
||||
import com.cloud.network.vpc.dao.VpcGatewayDao;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.Account;
|
||||
@ -484,7 +484,7 @@ public class NetworkACLServiceImpl extends ManagerBase implements NetworkACLServ
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.NetworkACL.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.NetworkACL.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -99,7 +99,7 @@ import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
||||
import com.cloud.org.Grouping;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.server.ConfigurationServer;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.Account;
|
||||
@ -875,7 +875,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.Vpc.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.Vpc.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
@ -1918,7 +1918,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.StaticRoute.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.StaticRoute.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -518,7 +518,7 @@ import com.cloud.projects.Project;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.projects.ProjectManager;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.server.auth.UserAuthenticator;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
import com.cloud.storage.GuestOS;
|
||||
@ -1998,7 +1998,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.PublicIpAddress.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.PublicIpAddress.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -81,7 +81,7 @@ import com.cloud.host.HostVO;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.storage.CreateSnapshotPayload;
|
||||
import com.cloud.storage.DataStoreRole;
|
||||
import com.cloud.storage.ScopeType;
|
||||
@ -609,7 +609,7 @@ public class SnapshotManagerImpl extends ManagerBase implements SnapshotManager,
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.Snapshot.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.Snapshot.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -48,7 +48,7 @@ import com.cloud.network.vpc.dao.StaticRouteDao;
|
||||
import com.cloud.network.vpc.dao.VpcDao;
|
||||
import com.cloud.projects.dao.ProjectDao;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.server.TaggedResourceService;
|
||||
import com.cloud.service.dao.ServiceOfferingDao;
|
||||
import com.cloud.storage.dao.SnapshotDao;
|
||||
@ -80,8 +80,8 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDao;
|
||||
public class TaggedResourceManagerImpl extends ManagerBase implements TaggedResourceService {
|
||||
public static final Logger s_logger = Logger.getLogger(TaggedResourceManagerImpl.class);
|
||||
|
||||
private static Map<TaggedResourceType, GenericDao<?, Long>> _daoMap=
|
||||
new HashMap<TaggedResourceType, GenericDao<?, Long>>();
|
||||
private static Map<ResourceObjectType, GenericDao<?, Long>> _daoMap=
|
||||
new HashMap<ResourceObjectType, GenericDao<?, Long>>();
|
||||
|
||||
@Inject
|
||||
AccountManager _accountMgr;
|
||||
@ -135,26 +135,26 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
|
||||
@Override
|
||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||
_daoMap.put(TaggedResourceType.UserVm, _userVmDao);
|
||||
_daoMap.put(TaggedResourceType.Volume, _volumeDao);
|
||||
_daoMap.put(TaggedResourceType.Template, _templateDao);
|
||||
_daoMap.put(TaggedResourceType.ISO, _templateDao);
|
||||
_daoMap.put(TaggedResourceType.Snapshot, _snapshotDao);
|
||||
_daoMap.put(TaggedResourceType.Network, _networkDao);
|
||||
_daoMap.put(TaggedResourceType.LoadBalancer, _lbDao);
|
||||
_daoMap.put(TaggedResourceType.PortForwardingRule, _pfDao);
|
||||
_daoMap.put(TaggedResourceType.FirewallRule, _firewallDao);
|
||||
_daoMap.put(TaggedResourceType.SecurityGroup, _securityGroupDao);
|
||||
_daoMap.put(TaggedResourceType.PublicIpAddress, _publicIpDao);
|
||||
_daoMap.put(TaggedResourceType.Project, _projectDao);
|
||||
_daoMap.put(TaggedResourceType.Vpc, _vpcDao);
|
||||
_daoMap.put(TaggedResourceType.Nic, _nicDao);
|
||||
_daoMap.put(TaggedResourceType.NetworkACL, _networkACLItemDao);
|
||||
_daoMap.put(TaggedResourceType.StaticRoute, _staticRouteDao);
|
||||
_daoMap.put(TaggedResourceType.VMSnapshot, _vmSnapshotDao);
|
||||
_daoMap.put(TaggedResourceType.RemoteAccessVpn, _vpnDao);
|
||||
_daoMap.put(TaggedResourceType.Zone, _dataCenterDao);
|
||||
_daoMap.put(TaggedResourceType.ServiceOffering, _serviceOffDao);
|
||||
_daoMap.put(ResourceObjectType.UserVm, _userVmDao);
|
||||
_daoMap.put(ResourceObjectType.Volume, _volumeDao);
|
||||
_daoMap.put(ResourceObjectType.Template, _templateDao);
|
||||
_daoMap.put(ResourceObjectType.ISO, _templateDao);
|
||||
_daoMap.put(ResourceObjectType.Snapshot, _snapshotDao);
|
||||
_daoMap.put(ResourceObjectType.Network, _networkDao);
|
||||
_daoMap.put(ResourceObjectType.LoadBalancer, _lbDao);
|
||||
_daoMap.put(ResourceObjectType.PortForwardingRule, _pfDao);
|
||||
_daoMap.put(ResourceObjectType.FirewallRule, _firewallDao);
|
||||
_daoMap.put(ResourceObjectType.SecurityGroup, _securityGroupDao);
|
||||
_daoMap.put(ResourceObjectType.PublicIpAddress, _publicIpDao);
|
||||
_daoMap.put(ResourceObjectType.Project, _projectDao);
|
||||
_daoMap.put(ResourceObjectType.Vpc, _vpcDao);
|
||||
_daoMap.put(ResourceObjectType.Nic, _nicDao);
|
||||
_daoMap.put(ResourceObjectType.NetworkACL, _networkACLItemDao);
|
||||
_daoMap.put(ResourceObjectType.StaticRoute, _staticRouteDao);
|
||||
_daoMap.put(ResourceObjectType.VMSnapshot, _vmSnapshotDao);
|
||||
_daoMap.put(ResourceObjectType.RemoteAccessVpn, _vpnDao);
|
||||
_daoMap.put(ResourceObjectType.Zone, _dataCenterDao);
|
||||
_daoMap.put(ResourceObjectType.ServiceOffering, _serviceOffDao);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -170,7 +170,7 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getResourceId(String resourceId, TaggedResourceType resourceType) {
|
||||
public long getResourceId(String resourceId, ResourceObjectType resourceType) {
|
||||
GenericDao<?, Long> dao = _daoMap.get(resourceType);
|
||||
if (dao == null) {
|
||||
throw new CloudRuntimeException("Dao is not loaded for the resource type " + resourceType);
|
||||
@ -200,14 +200,9 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
}
|
||||
return identityId;
|
||||
}
|
||||
|
||||
protected String getTableName(TaggedResourceType resourceType) {
|
||||
GenericDao<?, Long> dao = _daoMap.get(resourceType);
|
||||
Class<?> claz = DbUtil.getEntityBeanType(dao);
|
||||
return DbUtil.getTableName(claz);
|
||||
}
|
||||
|
||||
private Pair<Long, Long> getAccountDomain(long resourceId, TaggedResourceType resourceType) {
|
||||
|
||||
private Pair<Long, Long> getAccountDomain(long resourceId, ResourceObjectType resourceType) {
|
||||
|
||||
Pair<Long, Long> pair = null;
|
||||
GenericDao<?, Long> dao = _daoMap.get(resourceType);
|
||||
@ -243,9 +238,9 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaggedResourceType getResourceType(String resourceTypeStr) {
|
||||
public ResourceObjectType getResourceType(String resourceTypeStr) {
|
||||
|
||||
for (TaggedResourceType type : ResourceTag.TaggedResourceType.values()) {
|
||||
for (ResourceObjectType type : ResourceTag.ResourceObjectType.values()) {
|
||||
if (type.toString().equalsIgnoreCase(resourceTypeStr)) {
|
||||
return type;
|
||||
}
|
||||
@ -256,7 +251,7 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
@Override
|
||||
@DB
|
||||
@ActionEvent(eventType = EventTypes.EVENT_TAGS_CREATE, eventDescription = "creating resource tags")
|
||||
public List<ResourceTag> createTags(final List<String> resourceIds, final TaggedResourceType resourceType,
|
||||
public List<ResourceTag> createTags(final List<String> resourceIds, final ResourceObjectType resourceType,
|
||||
final Map<String, String> tags, final String customer) {
|
||||
final Account caller = CallContext.current().getCallingAccount();
|
||||
|
||||
@ -267,15 +262,13 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
for (String key : tags.keySet()) {
|
||||
for (String resourceId : resourceIds) {
|
||||
Long id = getResourceId(resourceId, resourceType);
|
||||
String resourceUuid = getUuid(resourceId, resourceType);
|
||||
|
||||
//check if object exists
|
||||
if (_daoMap.get(resourceType).findById(id) == null) {
|
||||
throw new InvalidParameterValueException("Unable to find resource by id " + resourceId +
|
||||
" and type " + resourceType);
|
||||
if (!resourceType.resourceTagsSupport()) {
|
||||
throw new InvalidParameterValueException("The resource type " + resourceType + " doesn't support resource tags");
|
||||
}
|
||||
|
||||
long id = getResourceId(resourceId, resourceType);
|
||||
String resourceUuid = getUuid(resourceId, resourceType);
|
||||
|
||||
Pair<Long, Long> accountDomainPair = getAccountDomain(id, resourceType);
|
||||
Long domainId = accountDomainPair.second();
|
||||
Long accountId = accountDomainPair.first();
|
||||
@ -307,9 +300,10 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
|
||||
return resourceTags;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getUuid(String resourceId, TaggedResourceType resourceType) {
|
||||
public String getUuid(String resourceId, ResourceObjectType resourceType) {
|
||||
GenericDao<?, Long> dao = _daoMap.get(resourceType);
|
||||
Class<?> claz = DbUtil.getEntityBeanType(dao);
|
||||
|
||||
@ -341,7 +335,7 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
@Override
|
||||
@DB
|
||||
@ActionEvent(eventType = EventTypes.EVENT_TAGS_DELETE, eventDescription = "deleting resource tags")
|
||||
public boolean deleteTags(List<String> resourceIds, TaggedResourceType resourceType, Map<String, String> tags) {
|
||||
public boolean deleteTags(List<String> resourceIds, ResourceObjectType resourceType, Map<String, String> tags) {
|
||||
Account caller = CallContext.current().getCallingAccount();
|
||||
|
||||
SearchBuilder<ResourceTagVO> sb = _resourceTagDao.createSearchBuilder();
|
||||
@ -407,7 +401,7 @@ public class TaggedResourceManagerImpl extends ManagerBase implements TaggedReso
|
||||
|
||||
|
||||
@Override
|
||||
public List<? extends ResourceTag> listByResourceTypeAndId(TaggedResourceType type, long resourceId) {
|
||||
public List<? extends ResourceTag> listByResourceTypeAndId(ResourceObjectType type, long resourceId) {
|
||||
return _resourceTagDao.listBy(resourceId, type);
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
package com.cloud.uuididentity.dao;
|
||||
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
@ -31,5 +31,5 @@ public interface IdentityDao extends GenericDao<IdentityVO, Long> {
|
||||
* @param resourceType TODO
|
||||
* @return
|
||||
*/
|
||||
Pair<Long, Long> getAccountDomainInfo(String tableName, Long identityId, TaggedResourceType resourceType);
|
||||
Pair<Long, Long> getAccountDomainInfo(String tableName, Long identityId, ResourceObjectType resourceType);
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
@ -97,7 +97,7 @@ public class IdentityDaoImpl extends GenericDaoBase<IdentityVO, Long> implements
|
||||
|
||||
@DB
|
||||
@Override
|
||||
public Pair<Long, Long> getAccountDomainInfo(String tableName, Long identityId, TaggedResourceType resourceType) {
|
||||
public Pair<Long, Long> getAccountDomainInfo(String tableName, Long identityId, ResourceObjectType resourceType) {
|
||||
assert(tableName != null);
|
||||
|
||||
PreparedStatement pstmt = null;
|
||||
@ -121,7 +121,7 @@ public class IdentityDaoImpl extends GenericDaoBase<IdentityVO, Long> implements
|
||||
//get accountId
|
||||
try {
|
||||
String account = "account_id";
|
||||
if (resourceType == TaggedResourceType.Project) {
|
||||
if (resourceType == ResourceObjectType.Project) {
|
||||
account = "project_account_id";
|
||||
}
|
||||
pstmt = txn.prepareAutoCloseStatement(String.format("SELECT " + account + " FROM `%s` WHERE id=?", tableName));
|
||||
|
||||
@ -57,7 +57,7 @@ import com.cloud.network.lb.LoadBalancingRulesService;
|
||||
import com.cloud.network.rules.FirewallRule.State;
|
||||
import com.cloud.network.rules.LoadBalancerContainer.Scheme;
|
||||
import com.cloud.projects.Project.ListProjectResourcesCriteria;
|
||||
import com.cloud.server.ResourceTag.TaggedResourceType;
|
||||
import com.cloud.server.ResourceTag.ResourceObjectType;
|
||||
import com.cloud.tags.ResourceTagVO;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
import com.cloud.user.Account;
|
||||
@ -459,7 +459,7 @@ public class ApplicationLoadBalancerManagerImpl extends ManagerBase implements A
|
||||
|
||||
if (tags != null && !tags.isEmpty()) {
|
||||
int count = 0;
|
||||
sc.setJoinParameters("tagSearch", "resourceType", TaggedResourceType.LoadBalancer.toString());
|
||||
sc.setJoinParameters("tagSearch", "resourceType", ResourceObjectType.LoadBalancer.toString());
|
||||
for (String key : tags.keySet()) {
|
||||
sc.setJoinParameters("tagSearch", "key" + String.valueOf(count), key);
|
||||
sc.setJoinParameters("tagSearch", "value" + String.valueOf(count), tags.get(key));
|
||||
|
||||
@ -17,42 +17,27 @@
|
||||
|
||||
package com.cloud.metadata;
|
||||
|
||||
import static org.mockito.Matchers.anyBoolean;
|
||||
import static org.mockito.Matchers.anyFloat;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.anyLong;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.server.TaggedResourceService;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.vm.dao.NicDetailDao;
|
||||
import org.apache.cloudstack.api.ServerApiException;
|
||||
import org.apache.cloudstack.api.command.user.vm.RestoreVMCmd;
|
||||
import org.apache.cloudstack.api.command.user.vm.ScaleVMCmd;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import org.apache.commons.collections.map.HashedMap;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.mockito.Spy;
|
||||
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.metadata.ResourceMetaDataManager;
|
||||
import com.cloud.metadata.ResourceMetaDataManagerImpl;
|
||||
import com.cloud.server.ResourceTag;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.server.TaggedResourceService;
|
||||
import com.cloud.storage.dao.VolumeDetailsDao;
|
||||
import com.cloud.user.dao.UserDao;
|
||||
|
||||
import javax.naming.ConfigurationException;
|
||||
import com.cloud.vm.dao.NicDetailDao;
|
||||
|
||||
|
||||
public class ResourceMetaDataManagerTest {
|
||||
@ -88,12 +73,12 @@ public class ResourceMetaDataManagerTest {
|
||||
|
||||
|
||||
//when(_resourceMetaDataMgr.getResourceId(anyString(), eq(ResourceTag.TaggedResourceType.Volume))).thenReturn(1L);
|
||||
doReturn(1L).when(_taggedResourceMgr).getResourceId(anyString(), eq(ResourceTag.TaggedResourceType.Volume));
|
||||
doReturn(1L).when(_taggedResourceMgr).getResourceId(anyString(), eq(ResourceTag.ResourceObjectType.Volume));
|
||||
// _volumeDetailDao.removeDetails(id, key);
|
||||
|
||||
doNothing().when(_volumeDetailDao).removeDetails(anyLong(), anyString());
|
||||
doNothing().when(_nicDetailDao).removeDetails(anyLong(), anyString());
|
||||
_resourceMetaDataMgr.deleteResourceMetaData(anyString(), eq(ResourceTag.TaggedResourceType.Volume), anyString());
|
||||
_resourceMetaDataMgr.deleteResourceMetaData(anyString(), eq(ResourceTag.ResourceObjectType.Volume), anyString());
|
||||
|
||||
}
|
||||
|
||||
@ -103,14 +88,14 @@ public class ResourceMetaDataManagerTest {
|
||||
|
||||
|
||||
|
||||
doReturn(1L).when(_taggedResourceMgr).getResourceId("1", ResourceTag.TaggedResourceType.Volume);
|
||||
doReturn(1L).when(_taggedResourceMgr).getResourceId("1", ResourceTag.ResourceObjectType.Volume);
|
||||
// _volumeDetailDao.removeDetails(id, key);
|
||||
|
||||
doNothing().when(_volumeDetailDao).removeDetails(anyLong(), anyString());
|
||||
doNothing().when(_nicDetailDao).removeDetails(anyLong(), anyString());
|
||||
Map<String, String> map = new HashedMap();
|
||||
map.put("key","value");
|
||||
_resourceMetaDataMgr.addResourceMetaData("1", ResourceTag.TaggedResourceType.Volume, map);
|
||||
_resourceMetaDataMgr.addResourceMetaData("1", ResourceTag.ResourceObjectType.Volume, map);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user