Another round of fixes after merge
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/53da5420 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/53da5420 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/53da5420 Branch: refs/heads/javelin Commit: 53da542001592a7457e03856d8db4775e6a9c7f1 Parents: 757e1a9 Author: Kelven Yang <[email protected]> Authored: Thu Jan 10 17:08:17 2013 -0800 Committer: Kelven Yang <[email protected]> Committed: Fri Jan 11 15:21:04 2013 -0800 ---------------------------------------------------------------------- .../storage/image/db/ImageDataDaoImpl.java | 14 ++++---- .../datastore/db/PrimaryDataStoreDaoImpl.java | 7 ++-- server/src/com/cloud/api/ApiServer.java | 8 ++-- .../src/com/cloud/api/query/QueryManagerImpl.java | 2 + .../com/cloud/async/dao/SyncQueueItemDaoImpl.java | 2 + .../cloud/baremetal/BareMetalVmManagerImpl.java | 6 +++- server/src/com/cloud/event/EventUtils.java | 5 +++ .../src/com/cloud/server/ManagementServerImpl.java | 28 +++++++------- 8 files changed, 42 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java ---------------------------------------------------------------------- diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java index f710a2d..4c37c9d 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java @@ -29,6 +29,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.cloudstack.storage.image.format.ISO; @@ -73,18 +74,18 @@ public class ImageDataDaoImpl extends GenericDaoBase<ImageDataVO, Long> implemen private static final Logger s_logger = Logger.getLogger(VMTemplateDaoImpl.class); - VMTemplateZoneDao _templateZoneDao = null; + @Inject VMTemplateZoneDao _templateZoneDao = null; - VMTemplateDetailsDao _templateDetailsDao = null; + @Inject VMTemplateDetailsDao _templateDetailsDao = null; - ConfigurationDao _configDao = null; + @Inject ConfigurationDao _configDao = null; - HostDao _hostDao = null; + @Inject HostDao _hostDao = null; - DomainDao _domainDao = null; + @Inject DomainDao _domainDao = null; - DataCenterDao _dcDao = null; + @Inject DataCenterDao _dcDao = null; private final String SELECT_TEMPLATE_HOST_REF = "SELECT t.id, h.data_center_id, t.unique_name, t.name, t.public, t.featured, t.type, t.hvm, t.bits, t.url, t.format, t.created, t.account_id, " + "t.checksum, t.display_text, t.enable_password, t.guest_os_id, t.bootable, t.prepopulate, t.cross_zones, t.hypervisor_type FROM vm_template t"; @@ -923,5 +924,4 @@ public class ImageDataDaoImpl extends GenericDaoBase<ImageDataVO, Long> implemen private boolean isAdmin(short accountType) { return ((accountType == Account.ACCOUNT_TYPE_ADMIN) || (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) || (accountType == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) || (accountType == Account.ACCOUNT_TYPE_READ_ONLY_ADMIN)); } - } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java ---------------------------------------------------------------------- diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java index 99cb001..ef42208 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java @@ -26,6 +26,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.cloudstack.storage.datastore.DataStoreStatus; @@ -49,7 +50,7 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<PrimaryDataStoreVO, protected final SearchBuilder<PrimaryDataStoreVO> DeleteLvmSearch; protected final GenericSearchBuilder<PrimaryDataStoreVO, Long> StatusCountSearch; - protected final PrimaryDataStoreDetailsDao _detailsDao = null; + @Inject protected PrimaryDataStoreDetailsDao _detailsDao; private final String DetailsSqlPrefix = "SELECT storage_pool.* from storage_pool LEFT JOIN storage_pool_details ON storage_pool.id = storage_pool_details.pool_id WHERE storage_pool.removed is null and storage_pool.data_center_id = ? and (storage_pool.pod_id = ? or storage_pool.pod_id is null) and ("; private final String DetailsSqlSuffix = ") GROUP BY storage_pool_details.pool_id HAVING COUNT(storage_pool_details.name) >= ?"; @@ -95,9 +96,7 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<PrimaryDataStoreVO, StatusCountSearch.and("status", StatusCountSearch.entity().getStatus(), SearchCriteria.Op.IN); StatusCountSearch.select(null, Func.COUNT, null); StatusCountSearch.done(); - - // _detailsDao = ComponentInject.inject(PrimaryDataStoreDetailsDaoImpl.class); - } + } @Override public List<PrimaryDataStoreVO> findPoolByName(String name) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/server/src/com/cloud/api/ApiServer.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index 0c64e58..b4c0e27 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -147,10 +147,10 @@ public class ApiServer implements HttpRequestHandler { public static String jsonContentType = "text/javascript"; @Inject ApiDispatcher _dispatcher; - @Inject AccountManager _accountMgr; - @Inject DomainManager _domainMgr; - @Inject AsyncJobManager _asyncMgr; - @Inject ConfigurationDao _configDao; + @Inject private AccountManager _accountMgr; + @Inject private DomainManager _domainMgr = null; + @Inject private AsyncJobManager _asyncMgr = null; + @Inject private ConfigurationDao _configDao; @Inject List<PluggableService> _pluggableServices; @Inject IdentityDao _identityDao; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/server/src/com/cloud/api/query/QueryManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 4e2355e..116e711 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -58,6 +58,7 @@ import org.apache.cloudstack.api.response.UserVmResponse; import org.apache.cloudstack.api.response.VolumeResponse; import org.apache.cloudstack.query.QueryService; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.api.query.dao.AccountJoinDao; import com.cloud.api.query.dao.AsyncJobJoinDao; @@ -128,6 +129,7 @@ import com.cloud.vm.dao.UserVmDao; * @author minc * */ +@Component @Local(value = {QueryService.class }) public class QueryManagerImpl implements QueryService, Manager { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java b/server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java index 8ee21f3..d2d2929 100644 --- a/server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java +++ b/server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java @@ -33,6 +33,7 @@ import org.springframework.stereotype.Component; import com.cloud.async.SyncQueueItemVO; import com.cloud.utils.DateUtil; +import com.cloud.utils.db.DB; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.GenericSearchBuilder; @@ -43,6 +44,7 @@ import com.cloud.utils.db.Transaction; @Component @Local(value = { SyncQueueItemDao.class }) +@DB public class SyncQueueItemDaoImpl extends GenericDaoBase<SyncQueueItemVO, Long> implements SyncQueueItemDao { private static final Logger s_logger = Logger.getLogger(SyncQueueItemDaoImpl.class); final GenericSearchBuilder<SyncQueueItemVO, Long> queueIdSearch; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java index 54c276d..35983fa 100755 --- a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java +++ b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java @@ -40,6 +40,9 @@ import com.cloud.agent.api.baremetal.IpmISetBootDevCommand; import com.cloud.agent.api.baremetal.IpmiBootorResetCommand; import com.cloud.agent.manager.Commands; import org.apache.cloudstack.api.command.user.vm.StartVMCmd; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + import com.cloud.baremetal.PxeServerManager.PxeServerType; import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.dao.ConfigurationDao; @@ -102,6 +105,8 @@ import com.cloud.vm.VirtualMachineName; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VirtualMachineProfile.Param; +@Component +@Primary @Local(value={BareMetalVmManager.class, BareMetalVmService.class}) public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMetalVmManager, BareMetalVmService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> { @@ -110,7 +115,6 @@ public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMet @Inject PxeServerManager _pxeMgr; @Inject ResourceManager _resourceMgr; - // @com.cloud.utils.component.Inject (adapter=TemplateAdapter.class) @Inject protected List<TemplateAdapter> _adapters; @PostConstruct http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/server/src/com/cloud/event/EventUtils.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/event/EventUtils.java b/server/src/com/cloud/event/EventUtils.java index 68317bf..53d224e 100755 --- a/server/src/com/cloud/event/EventUtils.java +++ b/server/src/com/cloud/event/EventUtils.java @@ -16,6 +16,7 @@ // under the License. package com.cloud.event; +import javax.annotation.PostConstruct; import javax.inject.Inject; import org.springframework.stereotype.Component; @@ -33,6 +34,10 @@ public class EventUtils { @Inject AccountDao _placeHoderAccountDao; public EventUtils() { + } + + @PostConstruct + void init() { _eventDao = _placeHoderEventDao; _accountDao = _placeHoderAccountDao; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/53da5420/server/src/com/cloud/server/ManagementServerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index d8525d6..c9a5904 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -58,7 +58,6 @@ import org.apache.cloudstack.api.command.admin.pod.ListPodsByCmd; import org.apache.cloudstack.api.command.admin.resource.ListAlertsCmd; import org.apache.cloudstack.api.command.admin.resource.ListCapacityCmd; import org.apache.cloudstack.api.command.admin.resource.UploadCustomCertificateCmd; -import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd; import org.apache.cloudstack.api.command.admin.systemvm.DestroySystemVmCmd; import org.apache.cloudstack.api.command.admin.systemvm.ListSystemVMsCmd; import org.apache.cloudstack.api.command.admin.systemvm.RebootSystemVmCmd; @@ -93,6 +92,7 @@ import com.cloud.agent.api.GetVncPortAnswer; import com.cloud.agent.api.GetVncPortCommand; import com.cloud.agent.api.storage.CopyVolumeAnswer; import com.cloud.agent.api.storage.CopyVolumeCommand; +import com.cloud.agent.manager.ClusteredAgentManagerImpl; import com.cloud.agent.manager.allocator.HostAllocator; import com.cloud.alert.Alert; import com.cloud.alert.AlertManager; @@ -186,7 +186,6 @@ import com.cloud.storage.GuestOsCategory; import com.cloud.storage.Storage; import com.cloud.storage.Storage.ImageFormat; import com.cloud.storage.StorageManager; -import com.cloud.storage.StoragePool; import com.cloud.storage.StoragePoolVO; import com.cloud.storage.Upload; import com.cloud.storage.Upload.Mode; @@ -382,8 +381,14 @@ public class ManagementServerImpl implements ManagementServer { S3Manager _s3Mgr; @Inject - ComponentContext _placeholder; // create a dependency to ComponentContext so that it can be loaded beforehead - + ComponentContext _forceContextRef; // create a dependency to ComponentContext so that it can be loaded beforehead + + @Inject + EventUtils _forceEventUtilsRef; + + @Inject + CloudStackComponentComposer _componentRegistry; + private final ScheduledExecutorService _eventExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("EventChecker")); private KeystoreManager _ksMgr; @@ -394,7 +399,7 @@ public class ManagementServerImpl implements ManagementServer { @Inject List<UserAuthenticator> _userAuthenticators; private String _hashKey = null; - + public ManagementServerImpl() { } @@ -449,12 +454,11 @@ public class ManagementServerImpl implements ManagementServer { Map<String, GenericDaoBase> daos = ComponentContext.getApplicationContext().getBeansOfType( GenericDaoBase.class); + Map<String, Object> params = new HashMap<String, Object>(); for (GenericDaoBase dao : daos.values()) { try { s_logger.info("Starting dao " + ComponentContext.getTargetClass(dao).getName()); - - // TODO - // dao.configure(dao.getClass().getSimpleName(), params); + dao.configure(dao.getClass().getSimpleName(), params); } catch (Exception e) { s_logger.error("Problems with running checker:" + ComponentContext.getTargetClass(dao).getName(), e); System.exit(1); @@ -463,12 +467,8 @@ public class ManagementServerImpl implements ManagementServer { } private void startManagers() { - @SuppressWarnings("rawtypes") - Map<String, Manager> managers = ComponentContext.getApplicationContext().getBeansOfType( - Manager.class); - - Map<String, Object> params = new HashMap<String, Object>(); - for(Manager manager : managers.values()) { + Map<String, Object> params = new HashMap<String, Object>(); + for(Manager manager : _componentRegistry.getManagers()) { s_logger.info("Start manager: " + ComponentContext.getTargetClass(manager).getName() + "..."); try { if(!manager.configure(manager.getClass().getSimpleName(), params)) {
