http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/259e6d5f/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java b/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java index 4e88765..c07d03f 100755 --- a/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java +++ b/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java @@ -31,6 +31,7 @@ import java.util.List; import java.util.TreeMap; import javax.ejb.Local; +import javax.inject.Inject; import org.apache.log4j.Logger; @@ -75,10 +76,9 @@ public class DatabaseUpgradeChecker implements SystemIntegrityChecker { protected HashMap<String, DbUpgrade[]> _upgradeMap = new HashMap<String, DbUpgrade[]>(); - VersionDao _dao; + @Inject VersionDao _dao; public DatabaseUpgradeChecker() { - _dao = ComponentLocator.inject(VersionDaoImpl.class); _upgradeMap.put("2.1.7", new DbUpgrade[] { new Upgrade217to218(), new Upgrade218to22(), new Upgrade221to222(), new UpgradeSnapshot217to224(), new Upgrade222to224(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228(), new Upgrade228to229(), new Upgrade229to2210(), new Upgrade2210to2211(),
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/259e6d5f/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java b/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java index 193214b..43d025a 100755 --- a/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java +++ b/server/src/com/cloud/upgrade/PremiumDatabaseUpgradeChecker.java @@ -18,6 +18,7 @@ package com.cloud.upgrade; import javax.ejb.Local; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import com.cloud.upgrade.dao.DbUpgrade; @@ -46,10 +47,10 @@ import com.cloud.utils.component.ComponentLocator; import com.cloud.utils.component.SystemIntegrityChecker; @Component +@Primary @Local(value = { SystemIntegrityChecker.class }) public class PremiumDatabaseUpgradeChecker extends DatabaseUpgradeChecker { public PremiumDatabaseUpgradeChecker() { - _dao = ComponentLocator.inject(VersionDaoImpl.class); _upgradeMap.put("2.1.7", new DbUpgrade[] { new Upgrade217to218(), new Upgrade218to22Premium(), new Upgrade221to222Premium(), new UpgradeSnapshot217to224(), new Upgrade222to224Premium(), new Upgrade224to225(), new Upgrade225to226(), new Upgrade227to228Premium(), new Upgrade228to229(), http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/259e6d5f/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java b/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java index d63c5b4..e1e748e 100755 --- a/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java +++ b/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java @@ -19,6 +19,7 @@ package com.cloud.vm.dao; import java.util.List; import javax.ejb.Local; +import javax.inject.Inject; import org.springframework.stereotype.Component; @@ -54,10 +55,10 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im protected final SearchBuilder<DomainRouterVO> HostUpSearch; protected final SearchBuilder<DomainRouterVO> StateNetworkTypeSearch; protected final SearchBuilder<DomainRouterVO> OutsidePodSearch; - HostDaoImpl _hostsDao = ComponentLocator.inject(HostDaoImpl.class); - RouterNetworkDaoImpl _routerNetworkDao = ComponentLocator.inject(RouterNetworkDaoImpl.class); - UserStatisticsDaoImpl _userStatsDao = ComponentLocator.inject(UserStatisticsDaoImpl.class); - NetworkOfferingDaoImpl _offDao = ComponentLocator.inject(NetworkOfferingDaoImpl.class); + @Inject HostDaoImpl _hostsDao; + @Inject RouterNetworkDaoImpl _routerNetworkDao; + @Inject UserStatisticsDaoImpl _userStatsDao; + @Inject NetworkOfferingDaoImpl _offDao; protected final SearchBuilder<DomainRouterVO> VpcSearch; protected DomainRouterDaoImpl() { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/259e6d5f/server/src/com/cloud/vm/dao/RandomlyIncreasingVMInstanceDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/dao/RandomlyIncreasingVMInstanceDaoImpl.java b/server/src/com/cloud/vm/dao/RandomlyIncreasingVMInstanceDaoImpl.java index dedf077..1e31667 100644 --- a/server/src/com/cloud/vm/dao/RandomlyIncreasingVMInstanceDaoImpl.java +++ b/server/src/com/cloud/vm/dao/RandomlyIncreasingVMInstanceDaoImpl.java @@ -20,9 +20,11 @@ package com.cloud.vm.dao; import javax.ejb.Local; import org.apache.log4j.Logger; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; @Component +@Primary @Local(value = { UserVmDao.class }) public class RandomlyIncreasingVMInstanceDaoImpl extends UserVmDaoImpl { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/259e6d5f/server/src/com/cloud/vm/dao/UserVmDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/dao/UserVmDaoImpl.java b/server/src/com/cloud/vm/dao/UserVmDaoImpl.java index ebe67be..1284408 100755 --- a/server/src/com/cloud/vm/dao/UserVmDaoImpl.java +++ b/server/src/com/cloud/vm/dao/UserVmDaoImpl.java @@ -26,7 +26,9 @@ import java.util.Hashtable; import java.util.List; import java.util.Map; +import javax.annotation.PostConstruct; import javax.ejb.Local; +import javax.inject.Inject; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -58,26 +60,26 @@ import com.cloud.vm.dao.UserVmData.SecurityGroupData; public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements UserVmDao { public static final Logger s_logger = Logger.getLogger(UserVmDaoImpl.class); - protected final SearchBuilder<UserVmVO> AccountPodSearch; - protected final SearchBuilder<UserVmVO> AccountDataCenterSearch; - protected final SearchBuilder<UserVmVO> AccountSearch; - protected final SearchBuilder<UserVmVO> HostSearch; - protected final SearchBuilder<UserVmVO> LastHostSearch; - protected final SearchBuilder<UserVmVO> HostUpSearch; - protected final SearchBuilder<UserVmVO> HostRunningSearch; - protected final SearchBuilder<UserVmVO> StateChangeSearch; - protected final SearchBuilder<UserVmVO> AccountHostSearch; + protected SearchBuilder<UserVmVO> AccountPodSearch; + protected SearchBuilder<UserVmVO> AccountDataCenterSearch; + protected SearchBuilder<UserVmVO> AccountSearch; + protected SearchBuilder<UserVmVO> HostSearch; + protected SearchBuilder<UserVmVO> LastHostSearch; + protected SearchBuilder<UserVmVO> HostUpSearch; + protected SearchBuilder<UserVmVO> HostRunningSearch; + protected SearchBuilder<UserVmVO> StateChangeSearch; + protected SearchBuilder<UserVmVO> AccountHostSearch; - protected final SearchBuilder<UserVmVO> DestroySearch; + protected SearchBuilder<UserVmVO> DestroySearch; protected SearchBuilder<UserVmVO> AccountDataCenterVirtualSearch; protected GenericSearchBuilder<UserVmVO, Long> CountByAccountPod; protected GenericSearchBuilder<UserVmVO, Long> CountByAccount; protected GenericSearchBuilder<UserVmVO, Long> PodsHavingVmsForAccount; protected SearchBuilder<UserVmVO> UserVmSearch; - protected final Attribute _updateTimeAttr; - ResourceTagsDaoImpl _tagsDao = ComponentLocator.inject(ResourceTagsDaoImpl.class); - + protected Attribute _updateTimeAttr; + // ResourceTagsDaoImpl _tagsDao = ComponentLocator.inject(ResourceTagsDaoImpl.class); + @Inject ResourceTagsDaoImpl _tagsDao; private static final String LIST_PODS_HAVING_VMS_FOR_ACCOUNT = "SELECT pod_id FROM cloud.vm_instance WHERE data_center_id = ? AND account_id = ? AND pod_id IS NOT NULL AND (state = 'Running' OR state = 'Stopped') " + "GROUP BY pod_id HAVING count(id) > 0 ORDER BY count(id) DESC"; @@ -112,87 +114,91 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use private static final int VM_DETAILS_BATCH_SIZE=100; - protected final UserVmDetailsDaoImpl _detailsDao = ComponentLocator.inject(UserVmDetailsDaoImpl.class); - protected final NicDaoImpl _nicDao = ComponentLocator.inject(NicDaoImpl.class); + @Inject protected UserVmDetailsDao _detailsDao; + @Inject protected NicDao _nicDao; protected UserVmDaoImpl() { - AccountSearch = createSearchBuilder(); - AccountSearch.and("account", AccountSearch.entity().getAccountId(), SearchCriteria.Op.EQ); - AccountSearch.done(); - - HostSearch = createSearchBuilder(); - HostSearch.and("host", HostSearch.entity().getHostId(), SearchCriteria.Op.EQ); - HostSearch.done(); - - LastHostSearch = createSearchBuilder(); - LastHostSearch.and("lastHost", LastHostSearch.entity().getLastHostId(), SearchCriteria.Op.EQ); - LastHostSearch.and("state", LastHostSearch.entity().getState(), SearchCriteria.Op.EQ); - LastHostSearch.done(); - - HostUpSearch = createSearchBuilder(); - HostUpSearch.and("host", HostUpSearch.entity().getHostId(), SearchCriteria.Op.EQ); - HostUpSearch.and("states", HostUpSearch.entity().getState(), SearchCriteria.Op.NIN); - HostUpSearch.done(); - - HostRunningSearch = createSearchBuilder(); - HostRunningSearch.and("host", HostRunningSearch.entity().getHostId(), SearchCriteria.Op.EQ); - HostRunningSearch.and("state", HostRunningSearch.entity().getState(), SearchCriteria.Op.EQ); - HostRunningSearch.done(); - - AccountPodSearch = createSearchBuilder(); - AccountPodSearch.and("account", AccountPodSearch.entity().getAccountId(), SearchCriteria.Op.EQ); - AccountPodSearch.and("pod", AccountPodSearch.entity().getPodIdToDeployIn(), SearchCriteria.Op.EQ); - AccountPodSearch.done(); - - AccountDataCenterSearch = createSearchBuilder(); - AccountDataCenterSearch.and("account", AccountDataCenterSearch.entity().getAccountId(), SearchCriteria.Op.EQ); - AccountDataCenterSearch.and("dc", AccountDataCenterSearch.entity().getDataCenterIdToDeployIn(), SearchCriteria.Op.EQ); - AccountDataCenterSearch.done(); - - StateChangeSearch = createSearchBuilder(); - StateChangeSearch.and("id", StateChangeSearch.entity().getId(), SearchCriteria.Op.EQ); - StateChangeSearch.and("states", StateChangeSearch.entity().getState(), SearchCriteria.Op.EQ); - StateChangeSearch.and("host", StateChangeSearch.entity().getHostId(), SearchCriteria.Op.EQ); - StateChangeSearch.and("update", StateChangeSearch.entity().getUpdated(), SearchCriteria.Op.EQ); - StateChangeSearch.done(); - - DestroySearch = createSearchBuilder(); - DestroySearch.and("state", DestroySearch.entity().getState(), SearchCriteria.Op.IN); - DestroySearch.and("updateTime", DestroySearch.entity().getUpdateTime(), SearchCriteria.Op.LT); - DestroySearch.done(); - - AccountHostSearch = createSearchBuilder(); - AccountHostSearch.and("accountId", AccountHostSearch.entity().getAccountId(), SearchCriteria.Op.EQ); - AccountHostSearch.and("hostId", AccountHostSearch.entity().getHostId(), SearchCriteria.Op.EQ); - AccountHostSearch.done(); - - CountByAccountPod = createSearchBuilder(Long.class); - CountByAccountPod.select(null, Func.COUNT, null); - CountByAccountPod.and("account", CountByAccountPod.entity().getAccountId(), SearchCriteria.Op.EQ); - CountByAccountPod.and("pod", CountByAccountPod.entity().getPodIdToDeployIn(), SearchCriteria.Op.EQ); - CountByAccountPod.done(); - - CountByAccount = createSearchBuilder(Long.class); - CountByAccount.select(null, Func.COUNT, null); - CountByAccount.and("account", CountByAccount.entity().getAccountId(), SearchCriteria.Op.EQ); - CountByAccount.and("type", CountByAccount.entity().getType(), SearchCriteria.Op.EQ); - CountByAccount.and("state", CountByAccount.entity().getState(), SearchCriteria.Op.NIN); - CountByAccount.done(); - - - SearchBuilder<NicVO> nicSearch = _nicDao.createSearchBuilder(); - nicSearch.and("networkId", nicSearch.entity().getNetworkId(), SearchCriteria.Op.EQ); - nicSearch.and("ip4Address", nicSearch.entity().getIp4Address(), SearchCriteria.Op.NNULL); - - AccountDataCenterVirtualSearch = createSearchBuilder(); - AccountDataCenterVirtualSearch.and("account", AccountDataCenterVirtualSearch.entity().getAccountId(), SearchCriteria.Op.EQ); - AccountDataCenterVirtualSearch.and("dc", AccountDataCenterVirtualSearch.entity().getDataCenterIdToDeployIn(), SearchCriteria.Op.EQ); - AccountDataCenterVirtualSearch.join("nicSearch", nicSearch, AccountDataCenterVirtualSearch.entity().getId(), nicSearch.entity().getInstanceId(), JoinBuilder.JoinType.INNER); - AccountDataCenterVirtualSearch.done(); - - - _updateTimeAttr = _allAttributes.get("updateTime"); - assert _updateTimeAttr != null : "Couldn't get this updateTime attribute"; + } + + @PostConstruct + void init() { + AccountSearch = createSearchBuilder(); + AccountSearch.and("account", AccountSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + AccountSearch.done(); + + HostSearch = createSearchBuilder(); + HostSearch.and("host", HostSearch.entity().getHostId(), SearchCriteria.Op.EQ); + HostSearch.done(); + + LastHostSearch = createSearchBuilder(); + LastHostSearch.and("lastHost", LastHostSearch.entity().getLastHostId(), SearchCriteria.Op.EQ); + LastHostSearch.and("state", LastHostSearch.entity().getState(), SearchCriteria.Op.EQ); + LastHostSearch.done(); + + HostUpSearch = createSearchBuilder(); + HostUpSearch.and("host", HostUpSearch.entity().getHostId(), SearchCriteria.Op.EQ); + HostUpSearch.and("states", HostUpSearch.entity().getState(), SearchCriteria.Op.NIN); + HostUpSearch.done(); + + HostRunningSearch = createSearchBuilder(); + HostRunningSearch.and("host", HostRunningSearch.entity().getHostId(), SearchCriteria.Op.EQ); + HostRunningSearch.and("state", HostRunningSearch.entity().getState(), SearchCriteria.Op.EQ); + HostRunningSearch.done(); + + AccountPodSearch = createSearchBuilder(); + AccountPodSearch.and("account", AccountPodSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + AccountPodSearch.and("pod", AccountPodSearch.entity().getPodIdToDeployIn(), SearchCriteria.Op.EQ); + AccountPodSearch.done(); + + AccountDataCenterSearch = createSearchBuilder(); + AccountDataCenterSearch.and("account", AccountDataCenterSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + AccountDataCenterSearch.and("dc", AccountDataCenterSearch.entity().getDataCenterIdToDeployIn(), SearchCriteria.Op.EQ); + AccountDataCenterSearch.done(); + + StateChangeSearch = createSearchBuilder(); + StateChangeSearch.and("id", StateChangeSearch.entity().getId(), SearchCriteria.Op.EQ); + StateChangeSearch.and("states", StateChangeSearch.entity().getState(), SearchCriteria.Op.EQ); + StateChangeSearch.and("host", StateChangeSearch.entity().getHostId(), SearchCriteria.Op.EQ); + StateChangeSearch.and("update", StateChangeSearch.entity().getUpdated(), SearchCriteria.Op.EQ); + StateChangeSearch.done(); + + DestroySearch = createSearchBuilder(); + DestroySearch.and("state", DestroySearch.entity().getState(), SearchCriteria.Op.IN); + DestroySearch.and("updateTime", DestroySearch.entity().getUpdateTime(), SearchCriteria.Op.LT); + DestroySearch.done(); + + AccountHostSearch = createSearchBuilder(); + AccountHostSearch.and("accountId", AccountHostSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + AccountHostSearch.and("hostId", AccountHostSearch.entity().getHostId(), SearchCriteria.Op.EQ); + AccountHostSearch.done(); + + CountByAccountPod = createSearchBuilder(Long.class); + CountByAccountPod.select(null, Func.COUNT, null); + CountByAccountPod.and("account", CountByAccountPod.entity().getAccountId(), SearchCriteria.Op.EQ); + CountByAccountPod.and("pod", CountByAccountPod.entity().getPodIdToDeployIn(), SearchCriteria.Op.EQ); + CountByAccountPod.done(); + + CountByAccount = createSearchBuilder(Long.class); + CountByAccount.select(null, Func.COUNT, null); + CountByAccount.and("account", CountByAccount.entity().getAccountId(), SearchCriteria.Op.EQ); + CountByAccount.and("type", CountByAccount.entity().getType(), SearchCriteria.Op.EQ); + CountByAccount.and("state", CountByAccount.entity().getState(), SearchCriteria.Op.NIN); + CountByAccount.done(); + + + SearchBuilder<NicVO> nicSearch = _nicDao.createSearchBuilder(); + nicSearch.and("networkId", nicSearch.entity().getNetworkId(), SearchCriteria.Op.EQ); + nicSearch.and("ip4Address", nicSearch.entity().getIp4Address(), SearchCriteria.Op.NNULL); + + AccountDataCenterVirtualSearch = createSearchBuilder(); + AccountDataCenterVirtualSearch.and("account", AccountDataCenterVirtualSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + AccountDataCenterVirtualSearch.and("dc", AccountDataCenterVirtualSearch.entity().getDataCenterIdToDeployIn(), SearchCriteria.Op.EQ); + AccountDataCenterVirtualSearch.join("nicSearch", nicSearch, AccountDataCenterVirtualSearch.entity().getId(), nicSearch.entity().getInstanceId(), JoinBuilder.JoinType.INNER); + AccountDataCenterVirtualSearch.done(); + + + _updateTimeAttr = _allAttributes.get("updateTime"); + assert _updateTimeAttr != null : "Couldn't get this updateTime attribute"; } @Override http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/259e6d5f/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java index c6748ec..8484004 100644 --- a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java +++ b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java @@ -84,8 +84,8 @@ public class VMInstanceDaoImpl extends GenericDaoBase<VMInstanceVO, Long> implem protected SearchBuilder<VMInstanceVO> NetworkTypeSearch; protected GenericSearchBuilder<VMInstanceVO, String> DistinctHostNameSearch; - ResourceTagsDaoImpl _tagsDao = ComponentLocator.inject(ResourceTagsDaoImpl.class); - NicDao _nicDao = ComponentLocator.inject(NicDaoImpl.class); + @Inject ResourceTagsDaoImpl _tagsDao; + @Inject NicDao _nicDao; protected final Attribute _updateTimeAttr;
