mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
ResourceDetails:
1) Added support for Zone resource details 2) Renamed DcDetailsDao to DataCenterDetailsDao to follow the CS name convention for DataCenter related classes
This commit is contained in:
parent
3734af1402
commit
24725f8e21
@ -521,7 +521,7 @@ public class ApiConstants {
|
||||
public static final String ROUTING = "isrouting";
|
||||
public static final String MAX_CONNECTIONS = "maxconnections";
|
||||
public static final String SERVICE_STATE = "servicestate";
|
||||
public static final String RESOURCE_DETAIL = "resourcedetail";
|
||||
public static final String RESOURCE_DETAILS = "resourcedetails";
|
||||
public static final String EXPUNGE = "expunge";
|
||||
|
||||
public enum HostDetails {
|
||||
|
||||
@ -18,6 +18,7 @@ package org.apache.cloudstack.api.response;
|
||||
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.cloudstack.api.ApiConstants;
|
||||
@ -105,6 +106,10 @@ public class ZoneResponse extends BaseResponse {
|
||||
responseObject = ResourceTagResponse.class, since="4.3")
|
||||
private Set<ResourceTagResponse> tags;
|
||||
|
||||
@SerializedName(ApiConstants.RESOURCE_DETAILS)
|
||||
@Param(description = "Meta data associated with the zone (key/value pairs)", since = "4.3.0")
|
||||
private Map<String, String> resourceDetails;
|
||||
|
||||
|
||||
public ZoneResponse(){
|
||||
tags = new LinkedHashSet<ResourceTagResponse>();
|
||||
@ -213,4 +218,8 @@ public class ZoneResponse extends BaseResponse {
|
||||
public void addTag(ResourceTagResponse tag){
|
||||
this.tags.add(tag);
|
||||
}
|
||||
|
||||
public void setResourceDetails(Map<String, String> details) {
|
||||
this.resourceDetails = details;
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,7 +138,7 @@
|
||||
<bean id="dataCenterJoinDaoImpl" class="com.cloud.api.query.dao.DataCenterJoinDaoImpl" />
|
||||
<bean id="dataCenterLinkLocalIpAddressDaoImpl" class="com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl" />
|
||||
<bean id="dataCenterVnetDaoImpl" class="com.cloud.dc.dao.DataCenterVnetDaoImpl" />
|
||||
<bean id="dcDetailsDaoImpl" class="com.cloud.dc.dao.DcDetailsDaoImpl" />
|
||||
<bean id="dataCenterDetailsDaoImpl" class="com.cloud.dc.dao.DataCenterDetailsDaoImpl" />
|
||||
<bean id="engineDcDetailsDaoImpl" class="org.apache.cloudstack.engine.datacenter.entity.api.db.dao.DcDetailsDaoImpl" />
|
||||
<bean id="diskOfferingJoinDaoImpl" class="com.cloud.api.query.dao.DiskOfferingJoinDaoImpl" />
|
||||
<bean id="domainDaoImpl" class="com.cloud.domain.dao.DomainDaoImpl" />
|
||||
|
||||
@ -28,7 +28,7 @@ import org.apache.cloudstack.api.ResourceDetail;
|
||||
|
||||
@Entity
|
||||
@Table(name="data_center_details")
|
||||
public class DcDetailVO implements InternalIdentity, ResourceDetail {
|
||||
public class DataCenterDetailVO implements InternalIdentity, ResourceDetail {
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.IDENTITY)
|
||||
@Column(name="id")
|
||||
@ -43,10 +43,10 @@ public class DcDetailVO implements InternalIdentity, ResourceDetail {
|
||||
@Column(name="value")
|
||||
private String value;
|
||||
|
||||
protected DcDetailVO() {
|
||||
protected DataCenterDetailVO() {
|
||||
}
|
||||
|
||||
public DcDetailVO(long dcId, String name, String value) {
|
||||
public DataCenterDetailVO(long dcId, String name, String value) {
|
||||
this.dcId = dcId;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
@ -70,7 +70,7 @@ public class DataCenterDaoImpl extends GenericDaoBase<DataCenterVO, Long> implem
|
||||
@Inject protected DataCenterLinkLocalIpAddressDao _LinkLocalIpAllocDao = null;
|
||||
@Inject protected DataCenterVnetDao _vnetAllocDao = null;
|
||||
@Inject protected PodVlanDao _podVlanAllocDao = null;
|
||||
@Inject protected DcDetailsDao _detailsDao = null;
|
||||
@Inject protected DataCenterDetailsDao _detailsDao = null;
|
||||
@Inject protected AccountGuestVlanMapDao _accountGuestVlanMapDao = null;
|
||||
|
||||
protected long _prefix;
|
||||
|
||||
@ -19,19 +19,19 @@ package com.cloud.dc.dao;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.dc.DcDetailVO;
|
||||
import com.cloud.dc.DataCenterDetailVO;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
public interface DcDetailsDao extends GenericDao<DcDetailVO, Long> {
|
||||
public interface DataCenterDetailsDao extends GenericDao<DataCenterDetailVO, Long> {
|
||||
Map<String, String> findDetails(long dcId);
|
||||
|
||||
void persist(long dcId, Map<String, String> details);
|
||||
|
||||
DcDetailVO findDetail(long dcId, String name);
|
||||
DataCenterDetailVO findDetail(long dcId, String name);
|
||||
|
||||
void deleteDetails(long dcId);
|
||||
|
||||
void removeDetails(Long id, String key);
|
||||
void removeDetails(long id, String key);
|
||||
|
||||
List<DcDetailVO> findDetailsList(long dcId);
|
||||
List<DataCenterDetailVO> findDetailsList(long dcId);
|
||||
}
|
||||
@ -27,18 +27,18 @@ import org.apache.cloudstack.framework.config.ConfigKey;
|
||||
import org.apache.cloudstack.framework.config.ConfigKey.Scope;
|
||||
import org.apache.cloudstack.framework.config.ScopedConfigStorage;
|
||||
|
||||
import com.cloud.dc.DcDetailVO;
|
||||
import com.cloud.dc.DataCenterDetailVO;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.TransactionLegacy;
|
||||
|
||||
@Local(value=DcDetailsDao.class)
|
||||
public class DcDetailsDaoImpl extends GenericDaoBase<DcDetailVO, Long> implements DcDetailsDao, ScopedConfigStorage {
|
||||
protected final SearchBuilder<DcDetailVO> DcSearch;
|
||||
protected final SearchBuilder<DcDetailVO> DetailSearch;
|
||||
@Local(value=DataCenterDetailsDao.class)
|
||||
public class DataCenterDetailsDaoImpl extends GenericDaoBase<DataCenterDetailVO, Long> implements DataCenterDetailsDao, ScopedConfigStorage {
|
||||
protected final SearchBuilder<DataCenterDetailVO> DcSearch;
|
||||
protected final SearchBuilder<DataCenterDetailVO> DetailSearch;
|
||||
|
||||
public DcDetailsDaoImpl() {
|
||||
public DataCenterDetailsDaoImpl() {
|
||||
DcSearch = createSearchBuilder();
|
||||
DcSearch.and("dcId", DcSearch.entity().getDcId(), SearchCriteria.Op.EQ);
|
||||
DcSearch.done();
|
||||
@ -50,8 +50,8 @@ public class DcDetailsDaoImpl extends GenericDaoBase<DcDetailVO, Long> implement
|
||||
}
|
||||
|
||||
@Override
|
||||
public DcDetailVO findDetail(long dcId, String name) {
|
||||
SearchCriteria<DcDetailVO> sc = DetailSearch.create();
|
||||
public DataCenterDetailVO findDetail(long dcId, String name) {
|
||||
SearchCriteria<DataCenterDetailVO> sc = DetailSearch.create();
|
||||
sc.setParameters("dcId", dcId);
|
||||
sc.setParameters("name", name);
|
||||
|
||||
@ -60,42 +60,42 @@ public class DcDetailsDaoImpl extends GenericDaoBase<DcDetailVO, Long> implement
|
||||
|
||||
@Override
|
||||
public Map<String, String> findDetails(long dcId) {
|
||||
SearchCriteria<DcDetailVO> sc = DcSearch.create();
|
||||
SearchCriteria<DataCenterDetailVO> sc = DcSearch.create();
|
||||
sc.setParameters("dcId", dcId);
|
||||
|
||||
List<DcDetailVO> results = search(sc, null);
|
||||
List<DataCenterDetailVO> results = search(sc, null);
|
||||
Map<String, String> details = new HashMap<String, String>(results.size());
|
||||
for (DcDetailVO result : results) {
|
||||
for (DataCenterDetailVO result : results) {
|
||||
details.put(result.getName(), result.getValue());
|
||||
}
|
||||
return details;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DcDetailVO> findDetailsList(long dcId) {
|
||||
SearchCriteria<DcDetailVO> sc = DcSearch.create();
|
||||
public List<DataCenterDetailVO> findDetailsList(long dcId) {
|
||||
SearchCriteria<DataCenterDetailVO> sc = DcSearch.create();
|
||||
sc.setParameters("dcId", dcId);
|
||||
|
||||
List<DcDetailVO> results = search(sc, null);
|
||||
List<DataCenterDetailVO> results = search(sc, null);
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void deleteDetails(long dcId) {
|
||||
SearchCriteria<DcDetailVO> sc = DcSearch.create();
|
||||
SearchCriteria<DataCenterDetailVO> sc = DcSearch.create();
|
||||
sc.setParameters("dcId", dcId);
|
||||
|
||||
List<DcDetailVO> results = search(sc, null);
|
||||
for (DcDetailVO result : results) {
|
||||
List<DataCenterDetailVO> results = search(sc, null);
|
||||
for (DataCenterDetailVO result : results) {
|
||||
remove(result.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeDetails(Long id, String key) {
|
||||
public void removeDetails(long id, String key) {
|
||||
if(key != null){
|
||||
DcDetailVO detail = findDetail(id, key);
|
||||
DataCenterDetailVO detail = findDetail(id, key);
|
||||
if(detail != null){
|
||||
remove(detail.getId());
|
||||
}
|
||||
@ -108,12 +108,12 @@ public class DcDetailsDaoImpl extends GenericDaoBase<DcDetailVO, Long> implement
|
||||
public void persist(long dcId, Map<String, String> details) {
|
||||
TransactionLegacy txn = TransactionLegacy.currentTxn();
|
||||
txn.start();
|
||||
SearchCriteria<DcDetailVO> sc = DcSearch.create();
|
||||
SearchCriteria<DataCenterDetailVO> sc = DcSearch.create();
|
||||
sc.setParameters("dcId", dcId);
|
||||
expunge(sc);
|
||||
|
||||
for (Map.Entry<String, String> detail : details.entrySet()) {
|
||||
DcDetailVO vo = new DcDetailVO(dcId, detail.getKey(), detail.getValue());
|
||||
DataCenterDetailVO vo = new DataCenterDetailVO(dcId, detail.getKey(), detail.getValue());
|
||||
persist(vo);
|
||||
}
|
||||
txn.commit();
|
||||
@ -126,7 +126,7 @@ public class DcDetailsDaoImpl extends GenericDaoBase<DcDetailVO, Long> implement
|
||||
|
||||
@Override
|
||||
public String getConfigValue(long id, ConfigKey<?> key) {
|
||||
DcDetailVO vo = findDetail(id, key.key());
|
||||
DataCenterDetailVO vo = findDetail(id, key.key());
|
||||
return vo == null ? null : vo.getValue();
|
||||
}
|
||||
|
||||
@ -30,6 +30,6 @@ public interface NetworkDetailsDao extends GenericDao<NetworkDetailVO, Long> {
|
||||
|
||||
void deleteDetails(long networkId);
|
||||
|
||||
public void removeDetails(Long networkId, String key);
|
||||
public void removeDetails(long networkId, String key);
|
||||
|
||||
}
|
||||
@ -80,7 +80,7 @@ public class NetworkDetailsDaoImpl extends GenericDaoBase<NetworkDetailVO, Long>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeDetails(Long networkId, String key) {
|
||||
public void removeDetails(long networkId, String key) {
|
||||
if(key != null){
|
||||
NetworkDetailVO detail = findDetail(networkId, key);
|
||||
if(detail != null){
|
||||
|
||||
@ -26,4 +26,5 @@ public interface ServiceOfferingDetailsDao extends GenericDao<ServiceOfferingDet
|
||||
void persist(long serviceOfferingId, Map<String, String> details);
|
||||
ServiceOfferingDetailsVO findDetail(long serviceOfferingId, String name);
|
||||
void deleteDetails(long serviceOfferingId);
|
||||
void removeDetails(long offId, String key);
|
||||
}
|
||||
@ -95,4 +95,17 @@ public class ServiceOfferingDetailsDaoImpl extends GenericDaoBase<ServiceOfferin
|
||||
}
|
||||
txn.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeDetails(long offId, String key) {
|
||||
if(key != null){
|
||||
ServiceOfferingDetailsVO detail = findDetail(offId, key);
|
||||
if(detail != null){
|
||||
remove(detail.getId());
|
||||
}
|
||||
}else {
|
||||
deleteDetails(offId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ import com.cloud.dc.dao.DataCenterDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterVnetDaoImpl;
|
||||
import com.cloud.dc.dao.DcDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.HostPodDaoImpl;
|
||||
import com.cloud.dc.dao.PodVlanDaoImpl;
|
||||
import com.cloud.domain.dao.DomainDaoImpl;
|
||||
@ -104,7 +104,7 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDaoImpl;
|
||||
HostPodDaoImpl.class, VMTemplateZoneDaoImpl.class, VMTemplateDetailsDaoImpl.class, HostDetailsDaoImpl.class,
|
||||
HostTagsDaoImpl.class, HostTransferMapDaoImpl.class, DataCenterIpAddressDaoImpl.class,
|
||||
DataCenterLinkLocalIpAddressDaoImpl.class, DataCenterVnetDaoImpl.class, PodVlanDaoImpl.class,
|
||||
DcDetailsDaoImpl.class, DiskOfferingDaoImpl.class, StoragePoolHostDaoImpl.class, UserVmDaoImpl.class,
|
||||
DataCenterDetailsDaoImpl.class, DiskOfferingDaoImpl.class, StoragePoolHostDaoImpl.class, UserVmDaoImpl.class,
|
||||
UserVmDetailsDaoImpl.class, ServiceOfferingDaoImpl.class, CapacityDaoImpl.class, SnapshotDaoImpl.class,
|
||||
VMSnapshotDaoImpl.class, OCFS2ManagerImpl.class, ClusterDetailsDaoImpl.class, SecondaryStorageVmDaoImpl.class,
|
||||
ConsoleProxyDaoImpl.class, StoragePoolWorkDaoImpl.class, StorageCacheManagerImpl.class, UserDaoImpl.class,
|
||||
|
||||
@ -123,6 +123,7 @@ import com.cloud.dc.VlanVO;
|
||||
import com.cloud.dc.dao.AccountVlanMapDao;
|
||||
import com.cloud.dc.dao.ClusterDao;
|
||||
import com.cloud.dc.dao.DataCenterDao;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDao;
|
||||
import com.cloud.dc.dao.HostPodDao;
|
||||
import com.cloud.dc.dao.VlanDao;
|
||||
import com.cloud.domain.DomainVO;
|
||||
@ -400,6 +401,8 @@ public class ApiDBUtils {
|
||||
static NetworkACLDao _networkACLDao;
|
||||
static ServiceOfferingDetailsDao _serviceOfferingDetailsDao;
|
||||
static AccountService _accountService;
|
||||
static DataCenterDetailsDao _zoneDetailsDao;
|
||||
|
||||
|
||||
|
||||
@Inject
|
||||
@ -513,8 +516,8 @@ public class ApiDBUtils {
|
||||
@Inject private NetworkACLDao networkACLDao;
|
||||
@Inject private ServiceOfferingDetailsDao serviceOfferingDetailsDao;
|
||||
@Inject private AccountService accountService;
|
||||
@Inject
|
||||
private ConfigurationManager configMgr;
|
||||
@Inject private ConfigurationManager configMgr;
|
||||
@Inject private DataCenterDetailsDao zoneDetailsDao;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
@ -626,6 +629,8 @@ public class ApiDBUtils {
|
||||
_networkACLDao = networkACLDao;
|
||||
_serviceOfferingDetailsDao = serviceOfferingDetailsDao;
|
||||
_accountService = accountService;
|
||||
_zoneDetailsDao = zoneDetailsDao;
|
||||
|
||||
}
|
||||
|
||||
// ///////////////////////////////////////////////////////////
|
||||
@ -1692,4 +1697,9 @@ public class ApiDBUtils {
|
||||
public static List<ResourceTagJoinVO> listResourceTagViewByResourceUUID(String resourceUUID, ResourceObjectType resourceType){
|
||||
return _tagJoinDao.listBy(resourceUUID, resourceType);
|
||||
}
|
||||
|
||||
public static Map<String, String> getZoneDetails(long zoneId) {
|
||||
Map<String, String> details = _zoneDetailsDao.findDetails(zoneId);
|
||||
return details.isEmpty() ? null : details;
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ import com.cloud.api.query.vo.UserAccountJoinVO;
|
||||
import com.cloud.api.query.vo.UserVmJoinVO;
|
||||
import com.cloud.api.query.vo.VolumeJoinVO;
|
||||
import com.cloud.dc.DedicatedResourceVO;
|
||||
import com.cloud.dc.dao.DcDetailsDao;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDao;
|
||||
import com.cloud.dc.dao.DedicatedResourceDao;
|
||||
import com.cloud.domain.Domain;
|
||||
import com.cloud.domain.DomainVO;
|
||||
@ -328,7 +328,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
|
||||
private DedicatedResourceDao _dedicatedDao;
|
||||
|
||||
@Inject
|
||||
DcDetailsDao _dcDetailsDao;
|
||||
DataCenterDetailsDao _dcDetailsDao;
|
||||
|
||||
@Inject
|
||||
DomainManager _domainMgr;
|
||||
|
||||
@ -105,6 +105,8 @@ public class DataCenterJoinDaoImpl extends GenericDaoBase<DataCenterJoinVO, Long
|
||||
zoneResponse.addTag(tagResponse);
|
||||
}
|
||||
|
||||
zoneResponse.setResourceDetails(ApiDBUtils.getZoneDetails(dataCenter.getId()));
|
||||
|
||||
zoneResponse.setObjectName("zone");
|
||||
return zoneResponse;
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ import com.cloud.dc.DataCenter.NetworkType;
|
||||
import com.cloud.dc.DataCenterIpAddressVO;
|
||||
import com.cloud.dc.DataCenterLinkLocalIpAddressVO;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.DcDetailVO;
|
||||
import com.cloud.dc.DataCenterDetailVO;
|
||||
import com.cloud.dc.DedicatedResourceVO;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
import com.cloud.dc.Pod;
|
||||
@ -111,7 +111,7 @@ import com.cloud.dc.dao.ClusterDao;
|
||||
import com.cloud.dc.dao.DataCenterDao;
|
||||
import com.cloud.dc.dao.DataCenterIpAddressDao;
|
||||
import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDao;
|
||||
import com.cloud.dc.dao.DcDetailsDao;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDao;
|
||||
import com.cloud.dc.dao.DedicatedResourceDao;
|
||||
import com.cloud.dc.dao.HostPodDao;
|
||||
import com.cloud.dc.dao.PodVlanMapDao;
|
||||
@ -284,7 +284,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
||||
@Inject
|
||||
ConfigurationServer _configServer;
|
||||
@Inject
|
||||
DcDetailsDao _dcDetailsDao;
|
||||
DataCenterDetailsDao _dcDetailsDao;
|
||||
@Inject
|
||||
ClusterDetailsDao _clusterDetailsDao;
|
||||
@Inject
|
||||
@ -450,9 +450,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
||||
if (zone == null) {
|
||||
throw new InvalidParameterValueException("unable to find zone by id " + resourceId);
|
||||
}
|
||||
DcDetailVO dcDetailVO = _dcDetailsDao.findDetail(resourceId, name.toLowerCase());
|
||||
DataCenterDetailVO dcDetailVO = _dcDetailsDao.findDetail(resourceId, name.toLowerCase());
|
||||
if (dcDetailVO == null) {
|
||||
dcDetailVO = new DcDetailVO(resourceId, name, value);
|
||||
dcDetailVO = new DataCenterDetailVO(resourceId, name, value);
|
||||
_dcDetailsDao.persist(dcDetailVO);
|
||||
} else {
|
||||
dcDetailVO.setValue(value);
|
||||
|
||||
@ -38,11 +38,11 @@ import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.configuration.ZoneConfig;
|
||||
import com.cloud.dc.ClusterVO;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.DcDetailVO;
|
||||
import com.cloud.dc.DataCenterDetailVO;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
import com.cloud.dc.dao.ClusterDao;
|
||||
import com.cloud.dc.dao.DataCenterDao;
|
||||
import com.cloud.dc.dao.DcDetailsDao;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDao;
|
||||
import com.cloud.dc.dao.HostPodDao;
|
||||
import com.cloud.exception.ConnectionException;
|
||||
import com.cloud.host.Host;
|
||||
@ -69,7 +69,7 @@ public class CloudZonesStartupProcessor extends AdapterBase implements StartupCo
|
||||
@Inject DataCenterDao _zoneDao = null;
|
||||
@Inject HostDao _hostDao = null;
|
||||
@Inject HostPodDao _podDao = null;
|
||||
@Inject DcDetailsDao _zoneDetailsDao = null;
|
||||
@Inject DataCenterDetailsDao _zoneDetailsDao = null;
|
||||
|
||||
@Inject AgentManager _agentManager = null;
|
||||
@Inject ConfigurationManager _configurationManager = null;
|
||||
@ -175,7 +175,7 @@ public class CloudZonesStartupProcessor extends AdapterBase implements StartupCo
|
||||
}
|
||||
|
||||
long zoneId = zone.getId();
|
||||
DcDetailVO maxHostsInZone = _zoneDetailsDao.findDetail(zoneId, ZoneConfig.MaxHosts.key());
|
||||
DataCenterDetailVO maxHostsInZone = _zoneDetailsDao.findDetail(zoneId, ZoneConfig.MaxHosts.key());
|
||||
if(maxHostsInZone != null){
|
||||
long maxHosts = new Long(maxHostsInZone.getValue()).longValue();
|
||||
long currentCountOfHosts = _hostDao.countRoutingHostsByDataCenter(zoneId);
|
||||
|
||||
@ -25,8 +25,8 @@ import javax.naming.ConfigurationException;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.dc.DcDetailVO;
|
||||
import com.cloud.dc.dao.DcDetailsDao;
|
||||
import com.cloud.dc.DataCenterDetailVO;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDao;
|
||||
import com.cloud.event.ActionEvent;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
@ -45,7 +45,6 @@ import com.cloud.utils.db.DB;
|
||||
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.NicDetailDao;
|
||||
import com.cloud.vm.dao.UserVmDetailsDao;
|
||||
@ -62,7 +61,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
@Inject
|
||||
UserVmDetailsDao _userVmDetailDao;
|
||||
@Inject
|
||||
DcDetailsDao _dcDetailsDao;
|
||||
DataCenterDetailsDao _dcDetailsDao;
|
||||
@Inject
|
||||
NetworkDetailsDao _networkDetailsDao;
|
||||
@Inject
|
||||
@ -110,7 +109,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
}
|
||||
|
||||
long id = _taggedResourceMgr.getResourceId(resourceId, resourceType);
|
||||
// TODO - Have a better design here.
|
||||
// TODO - Have a better design here for getting the DAO.
|
||||
if(resourceType == ResourceObjectType.Volume){
|
||||
VolumeDetailVO v = new VolumeDetailVO(id, key, value);
|
||||
_volumeDetailDao.persist(v);
|
||||
@ -118,7 +117,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
NicDetailVO n = new NicDetailVO(id, key, value);
|
||||
_nicDetailDao.persist(n);
|
||||
} else if (resourceType == ResourceObjectType.Zone){
|
||||
DcDetailVO dataCenterDetail = new DcDetailVO(id, key, value);
|
||||
DataCenterDetailVO dataCenterDetail = new DataCenterDetailVO(id, key, value);
|
||||
_dcDetailsDao.persist(dataCenterDetail);
|
||||
} else if (resourceType == ResourceObjectType.Network){
|
||||
NetworkDetailVO networkDetail = new NetworkDetailVO(id, key, value);
|
||||
@ -151,7 +150,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
throw new InvalidParameterValueException("The resource type " + resourceType + " is not supported by the API yet");
|
||||
}
|
||||
|
||||
// TODO - Have a better design here.
|
||||
// TODO - Have a better design here for getting the DAO.
|
||||
if (resourceType == ResourceObjectType.Volume){
|
||||
_volumeDetailDao.removeDetails(id, key);
|
||||
} else if (resourceType == ResourceObjectType.Nic){
|
||||
@ -162,6 +161,10 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
||||
_templateDetailsDao.removeDetails(id, key);
|
||||
} else if (resourceType == ResourceObjectType.Zone){
|
||||
_dcDetailsDao.removeDetails(id, key);
|
||||
} else if (resourceType == ResourceObjectType.ServiceOffering) {
|
||||
_serviceOfferingDetailsDao.removeDetails(id, key);
|
||||
} else if (resourceType == ResourceObjectType.Network) {
|
||||
_networkDetailsDao.removeDetails(id, key);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@ -41,7 +41,7 @@ import com.cloud.dc.dao.DataCenterDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterVnetDaoImpl;
|
||||
import com.cloud.dc.dao.DcDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.HostPodDaoImpl;
|
||||
import com.cloud.dc.dao.PodVlanDaoImpl;
|
||||
import com.cloud.domain.dao.DomainDaoImpl;
|
||||
@ -97,7 +97,7 @@ import com.cloud.vm.dao.VMInstanceDaoImpl;
|
||||
DataCenterLinkLocalIpAddressDaoImpl.class,
|
||||
DataCenterVnetDaoImpl.class,
|
||||
PodVlanDaoImpl.class,
|
||||
DcDetailsDaoImpl.class,
|
||||
DataCenterDetailsDaoImpl.class,
|
||||
SecurityGroupRuleDaoImpl.class,
|
||||
NicDaoImpl.class,
|
||||
SecurityGroupJoinDaoImpl.class},
|
||||
|
||||
@ -43,7 +43,7 @@ import com.cloud.dc.dao.DataCenterDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterVnetDaoImpl;
|
||||
import com.cloud.dc.dao.DcDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.HostPodDaoImpl;
|
||||
import com.cloud.dc.dao.PodVlanDaoImpl;
|
||||
import com.cloud.dc.dao.PodVlanMapDaoImpl;
|
||||
@ -153,7 +153,7 @@ import com.cloud.vpc.dao.MockVpcOfferingServiceMapDaoImpl;
|
||||
VMTemplateHostDaoImpl.class,
|
||||
MockVpcDaoImpl.class,
|
||||
VMTemplateDaoImpl.class,VMTemplateZoneDaoImpl.class,VMTemplateDetailsDaoImpl.class,DataCenterDaoImpl.class,DataCenterIpAddressDaoImpl.class,DataCenterLinkLocalIpAddressDaoImpl.class,DataCenterVnetDaoImpl.class,PodVlanDaoImpl.class,
|
||||
DcDetailsDaoImpl.class,MockNetworkManagerImpl.class,MockVpcVirtualNetworkApplianceManager.class,
|
||||
DataCenterDetailsDaoImpl.class,MockNetworkManagerImpl.class,MockVpcVirtualNetworkApplianceManager.class,
|
||||
EntityManagerImpl.class,LoadBalancerDaoImpl.class,FirewallRulesCidrsDaoImpl.class,VirtualRouterProviderDaoImpl.class,
|
||||
ProjectDaoImpl.class,ProjectAccountDaoImpl.class,MockVpcOfferingDaoImpl.class,
|
||||
MockConfigurationManagerImpl.class, MockNetworkOfferingServiceMapDaoImpl.class,
|
||||
|
||||
@ -61,7 +61,7 @@ import com.cloud.dc.dao.DataCenterDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDao;
|
||||
import com.cloud.dc.dao.DataCenterVnetDaoImpl;
|
||||
import com.cloud.dc.dao.DcDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.DataCenterDetailsDaoImpl;
|
||||
import com.cloud.dc.dao.DedicatedResourceDao;
|
||||
import com.cloud.dc.dao.HostPodDaoImpl;
|
||||
import com.cloud.dc.dao.PodVlanDaoImpl;
|
||||
@ -154,7 +154,7 @@ import com.cloud.vm.dao.VMInstanceDaoImpl;
|
||||
DataCenterIpAddressDaoImpl.class,
|
||||
DataCenterVnetDaoImpl.class,
|
||||
PodVlanDaoImpl.class,
|
||||
DcDetailsDaoImpl.class,
|
||||
DataCenterDetailsDaoImpl.class,
|
||||
NicSecondaryIpDaoImpl.class,
|
||||
UserIpv6AddressDaoImpl.class,
|
||||
UserDaoImpl.class,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user