You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ke...@apache.org on 2012/12/28 02:47:02 UTC
[1/2] Fix a few Spring bootstrap issues
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;