Updated Branches: refs/heads/javelin 9410cd1f3 -> 2e9c55f8f
More Spring issues to bootstrape javalin server Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/2e9c55f8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/2e9c55f8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/2e9c55f8 Branch: refs/heads/javelin Commit: 2e9c55f8f60c9a4e3a975f7607450ebf1f4b17b8 Parents: 9410cd1 Author: Kelven Yang <[email protected]> Authored: Fri Jan 4 14:25:12 2013 -0800 Committer: Kelven Yang <[email protected]> Committed: Fri Jan 4 14:25:12 2013 -0800 ---------------------------------------------------------------------- .../network/lb/dao/ElasticLbVmMapDaoImpl.java | 17 ++++-- .../src/com/cloud/agent/manager/AgentMonitor.java | 2 + server/src/com/cloud/api/ApiServer.java | 2 +- .../cloud/baremetal/BareMetalTemplateAdapter.java | 2 + .../cloud/baremetal/BareMetalVmManagerImpl.java | 3 +- .../network/ExternalNetworkDeviceManagerImpl.java | 4 +- .../security/SecurityGroupManagerImpl2.java | 2 + .../com/cloud/server/ConfigurationServerImpl.java | 44 +++++---------- .../src/com/cloud/servlet/CloudStartupServlet.java | 2 +- .../src/com/cloud/storage/StorageManagerImpl.java | 3 +- .../cloud/template/HyervisorTemplateAdapter.java | 2 + .../src/com/cloud/user/AccountDetailsDaoImpl.java | 3 + .../com/cloud/vm/VirtualMachineManagerImpl.java | 16 +++-- 13 files changed, 55 insertions(+), 47 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java index b8d5533..ba8c82d 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java +++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java @@ -18,6 +18,7 @@ package com.cloud.network.lb.dao; import java.util.List; +import javax.annotation.PostConstruct; import javax.ejb.Local; import javax.inject.Inject; @@ -45,16 +46,20 @@ public class ElasticLbVmMapDaoImpl extends GenericDaoBase<ElasticLbVmMapVO, Long @Inject protected LoadBalancerDao _loadbalancerDao; - protected final SearchBuilder<ElasticLbVmMapVO> AllFieldsSearch; - protected final SearchBuilder<ElasticLbVmMapVO> UnusedVmSearch; - protected final SearchBuilder<ElasticLbVmMapVO> LoadBalancersForElbVmSearch; + protected SearchBuilder<ElasticLbVmMapVO> AllFieldsSearch; + protected SearchBuilder<ElasticLbVmMapVO> UnusedVmSearch; + protected SearchBuilder<ElasticLbVmMapVO> LoadBalancersForElbVmSearch; - protected final SearchBuilder<DomainRouterVO> ElbVmSearch; + protected SearchBuilder<DomainRouterVO> ElbVmSearch; - protected final SearchBuilder<LoadBalancerVO> LoadBalancerSearch; + protected SearchBuilder<LoadBalancerVO> LoadBalancerSearch; - protected ElasticLbVmMapDaoImpl() { + public ElasticLbVmMapDaoImpl() { + } + + @PostConstruct + protected void init() { AllFieldsSearch = createSearchBuilder(); AllFieldsSearch.and("ipId", AllFieldsSearch.entity().getIpAddressId(), SearchCriteria.Op.EQ); AllFieldsSearch.and("lbId", AllFieldsSearch.entity().getLbId(), SearchCriteria.Op.EQ); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/agent/manager/AgentMonitor.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/agent/manager/AgentMonitor.java b/server/src/com/cloud/agent/manager/AgentMonitor.java index f89c610..93dc940 100755 --- a/server/src/com/cloud/agent/manager/AgentMonitor.java +++ b/server/src/com/cloud/agent/manager/AgentMonitor.java @@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap; import javax.inject.Inject; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.agent.Listener; import com.cloud.agent.api.AgentControlAnswer; @@ -54,6 +55,7 @@ import com.cloud.utils.time.InaccurateClock; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.dao.VMInstanceDao; +@Component public class AgentMonitor extends Thread implements Listener { private static Logger s_logger = Logger.getLogger(AgentMonitor.class); private static Logger status_Logger = Logger.getLogger(Status.class); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/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 f7786f4..3800e29 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -161,7 +161,7 @@ public class ApiServer implements HttpRequestHandler { s_pluggableServiceCommands = new ArrayList<String>(); } - private ApiServer() { + public ApiServer() { } public static void initApiServer(String[] apiConfig) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java b/server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java index 997e873..e61b942 100755 --- a/server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java +++ b/server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java @@ -23,6 +23,7 @@ import javax.ejb.Local; import javax.inject.Inject; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.api.commands.DeleteIsoCmd; import com.cloud.api.commands.RegisterIsoCmd; @@ -47,6 +48,7 @@ import com.cloud.user.Account; import com.cloud.utils.db.DB; import com.cloud.utils.exception.CloudRuntimeException; +@Component @Local(value=TemplateAdapter.class) public class BareMetalTemplateAdapter extends TemplateAdapterBase implements TemplateAdapter { private final static Logger s_logger = Logger.getLogger(BareMetalTemplateAdapter.class); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/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 415b3b6..127b6e4 100755 --- a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java +++ b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java @@ -104,7 +104,8 @@ import com.cloud.vm.VirtualMachineName; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VirtualMachineProfile.Param; -@Component +// TODO +// @Component @Local(value={BareMetalVmManager.class, BareMetalVmService.class}) public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMetalVmManager, BareMetalVmService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java index bd0484b..44c2af8 100755 --- a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java +++ b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java @@ -108,7 +108,9 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa ScheduledExecutorService _executor; int _externalNetworkStatsInterval; - private final static IdentityService _identityService = (IdentityService)ComponentLocator.getLocator(ManagementServer.Name).getManager(IdentityService.class); + + // obsolete + // private final static IdentityService _identityService = (IdentityService)ComponentLocator.getLocator(ManagementServer.Name).getManager(IdentityService.class); private static final org.apache.log4j.Logger s_logger = Logger.getLogger(ExternalNetworkDeviceManagerImpl.class); protected String _name; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java index eafb9bb..0ea4394 100644 --- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java +++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java @@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentHashMap; import javax.ejb.Local; import javax.naming.ConfigurationException; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import com.cloud.agent.api.SecurityGroupRulesCmd; @@ -47,6 +48,7 @@ import com.cloud.network.security.SecurityRule.SecurityRuleType; * */ @Component +@Primary @Local(value={ SecurityGroupManager.class, SecurityGroupService.class }) public class SecurityGroupManagerImpl2 extends SecurityGroupManagerImpl{ SecurityGroupWorkQueue _workQueue = new LocalSecurityGroupWorkQueue(); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/server/ConfigurationServerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java index 7b509cd..781305b 100755 --- a/server/src/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/com/cloud/server/ConfigurationServerImpl.java @@ -41,6 +41,7 @@ import java.util.regex.Pattern; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; +import javax.inject.Inject; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; @@ -110,38 +111,23 @@ import com.cloud.uuididentity.dao.IdentityDao; public class ConfigurationServerImpl implements ConfigurationServer { public static final Logger s_logger = Logger.getLogger(ConfigurationServerImpl.class.getName()); - private final ConfigurationDao _configDao; - private final DataCenterDao _zoneDao; - private final HostPodDao _podDao; - private final DiskOfferingDao _diskOfferingDao; - private final ServiceOfferingDao _serviceOfferingDao; - private final NetworkOfferingDao _networkOfferingDao; - private final DataCenterDao _dataCenterDao; - private final NetworkDao _networkDao; - private final VlanDao _vlanDao; + @Inject private ConfigurationDao _configDao; + @Inject private DataCenterDao _zoneDao; + @Inject private HostPodDao _podDao; + @Inject private DiskOfferingDao _diskOfferingDao; + @Inject private ServiceOfferingDao _serviceOfferingDao; + @Inject private NetworkOfferingDao _networkOfferingDao; + @Inject private DataCenterDao _dataCenterDao; + @Inject private NetworkDao _networkDao; + @Inject private VlanDao _vlanDao; private String _domainSuffix; - private final DomainDao _domainDao; - private final AccountDao _accountDao; - private final ResourceCountDao _resourceCountDao; - private final NetworkOfferingServiceMapDao _ntwkOfferingServiceMapDao; - private final IdentityDao _identityDao; + @Inject private DomainDao _domainDao; + @Inject private AccountDao _accountDao; + @Inject private ResourceCountDao _resourceCountDao; + @Inject private NetworkOfferingServiceMapDao _ntwkOfferingServiceMapDao; + @Inject private IdentityDao _identityDao; public ConfigurationServerImpl() { - ComponentLocator locator = ComponentLocator.getLocator(Name); - _configDao = locator.getDao(ConfigurationDao.class); - _zoneDao = locator.getDao(DataCenterDao.class); - _podDao = locator.getDao(HostPodDao.class); - _diskOfferingDao = locator.getDao(DiskOfferingDao.class); - _serviceOfferingDao = locator.getDao(ServiceOfferingDao.class); - _networkOfferingDao = locator.getDao(NetworkOfferingDao.class); - _dataCenterDao = locator.getDao(DataCenterDao.class); - _networkDao = locator.getDao(NetworkDao.class); - _vlanDao = locator.getDao(VlanDao.class); - _domainDao = locator.getDao(DomainDao.class); - _accountDao = locator.getDao(AccountDao.class); - _resourceCountDao = locator.getDao(ResourceCountDao.class); - _ntwkOfferingServiceMapDao = locator.getDao(NetworkOfferingServiceMapDao.class); - _identityDao = locator.getDao(IdentityDao.class); } @Override http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/servlet/CloudStartupServlet.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/servlet/CloudStartupServlet.java b/server/src/com/cloud/servlet/CloudStartupServlet.java index 93b6e00..9c3b343 100755 --- a/server/src/com/cloud/servlet/CloudStartupServlet.java +++ b/server/src/com/cloud/servlet/CloudStartupServlet.java @@ -50,7 +50,7 @@ public class CloudStartupServlet extends HttpServlet implements ServletContextLi // Save Configuration Values //ComponentLocator loc = ComponentLocator.getLocator(ConfigurationServer.Name); - ConfigurationServer c = (ConfigurationServer)ComponentLocator.getComponent(ConfigurationServer.Name); + ConfigurationServer c = (ConfigurationServer)ComponentContext.getCompanent(ConfigurationServer.class); //ConfigurationServer c = new ConfigurationServerImpl(); try { c.persistDefaultValues(); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/storage/StorageManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 7cd6962..6289a7a 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -332,7 +332,8 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag @Inject protected List<StoragePoolAllocator> _storagePoolAllocators; - @Inject + // TODO : we don't have any instantiated pool discover, disable injection temporarily + // @Inject protected List<StoragePoolDiscoverer> _discoverers; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/template/HyervisorTemplateAdapter.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/template/HyervisorTemplateAdapter.java b/server/src/com/cloud/template/HyervisorTemplateAdapter.java index 53eb947..8cb6bd1 100755 --- a/server/src/com/cloud/template/HyervisorTemplateAdapter.java +++ b/server/src/com/cloud/template/HyervisorTemplateAdapter.java @@ -27,6 +27,7 @@ import javax.ejb.Local; import javax.inject.Inject; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; @@ -55,6 +56,7 @@ import com.cloud.user.Account; import com.cloud.utils.db.DB; import com.cloud.utils.exception.CloudRuntimeException; +@Component @Local(value=TemplateAdapter.class) public class HyervisorTemplateAdapter extends TemplateAdapterBase implements TemplateAdapter { private final static Logger s_logger = Logger.getLogger(HyervisorTemplateAdapter.class); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/user/AccountDetailsDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/user/AccountDetailsDaoImpl.java b/server/src/com/cloud/user/AccountDetailsDaoImpl.java index 0bba80a..c123f54 100755 --- a/server/src/com/cloud/user/AccountDetailsDaoImpl.java +++ b/server/src/com/cloud/user/AccountDetailsDaoImpl.java @@ -22,6 +22,8 @@ import java.util.Map; import javax.ejb.Local; +import org.springframework.stereotype.Component; + import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; @@ -30,6 +32,7 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.db.SearchCriteriaService; +@Component @Local(value={AccountDetailsDao.class}) public class AccountDetailsDaoImpl extends GenericDaoBase<AccountDetailVO, Long> implements AccountDetailsDao { protected final SearchBuilder<AccountDetailVO> accountSearch; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2e9c55f8/server/src/com/cloud/vm/VirtualMachineManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index 94b2116..68ad1d3 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -234,7 +234,7 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene protected List<DeploymentPlanner> _planners; @Inject - protected Adapters<HostAllocator> _hostAllocators; + protected List<HostAllocator> _hostAllocators; @Inject protected ResourceManager _resourceMgr; @@ -1560,13 +1560,15 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene @Override public boolean isVirtualMachineUpgradable(VirtualMachine vm, ServiceOffering offering) { - Enumeration<HostAllocator> en = _hostAllocators.enumeration(); - boolean isMachineUpgradable = true; - while (isMachineUpgradable && en.hasMoreElements()) { - final HostAllocator allocator = en.nextElement(); - isMachineUpgradable = allocator.isVirtualMachineUpgradable(vm, offering); + boolean isMachineUpgradable = true; + for(HostAllocator allocator : _hostAllocators) { + isMachineUpgradable = allocator.isVirtualMachineUpgradable(vm, offering); + if(isMachineUpgradable) + continue; + else + break; } - + return isMachineUpgradable; }
