diff --git a/api/src/org/apache/cloudstack/api/BaseCmd.java b/api/src/org/apache/cloudstack/api/BaseCmd.java index 22918ab3ce8..fbbee50b578 100644 --- a/api/src/org/apache/cloudstack/api/BaseCmd.java +++ b/api/src/org/apache/cloudstack/api/BaseCmd.java @@ -165,7 +165,6 @@ public abstract class BaseCmd { _autoScaleService = locator.getManager(AutoScaleService.class); _ravService = locator.getManager(RemoteAccessVpnService.class); _responseGenerator = generator; -<<<<<<< HEAD _bareMetalVmService = locator.getManager(BareMetalVmService.class); _projectService = locator.getManager(ProjectService.class); _firewallService = locator.getManager(FirewallService.class); @@ -178,19 +177,6 @@ public abstract class BaseCmd { _networkACLService = locator.getManager(NetworkACLService.class); _s2sVpnService = locator.getManager(Site2SiteVpnService.class); _queryService = locator.getManager(QueryService.class); -======= - //_bareMetalVmService = ComponentContext.getCompanent(BareMetalVmService.class); - _projectService = ComponentContext.getCompanent(ProjectService.class); - _firewallService = ComponentContext.getCompanent(FirewallService.class); - _domainService = ComponentContext.getCompanent(DomainService.class); - _resourceLimitService = ComponentContext.getCompanent(ResourceLimitService.class); - _identityService = ComponentContext.getCompanent(IdentityService.class); - _storageNetworkService = ComponentContext.getCompanent(StorageNetworkService.class); - _taggedResourceService = ComponentContext.getCompanent(TaggedResourceService.class); - _vpcService = ComponentContext.getCompanent(VpcService.class); - _networkACLService = ComponentContext.getCompanent(NetworkACLService.class); - _s2sVpnService = ComponentContext.getCompanent(Site2SiteVpnService.class); ->>>>>>> Seperate configurable components out and let them be loaded from Spring configuration file } public abstract void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException; diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index ea671643a0d..aabf9636d95 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -13,7 +13,6 @@ http://www.springframework.org/schema/context/spring-context-3.0.xsd"> - - - - - - - - diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/dao/NiciraNvpRouterMappingDaoImpl.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/dao/NiciraNvpRouterMappingDaoImpl.java index 091207c8896..d3192ec723f 100644 --- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/dao/NiciraNvpRouterMappingDaoImpl.java +++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/dao/NiciraNvpRouterMappingDaoImpl.java @@ -18,12 +18,15 @@ package com.cloud.network.dao; import javax.ejb.Local; +import org.springframework.stereotype.Component; + import com.cloud.network.NiciraNvpRouterMappingVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Op; +@Component @Local(value=NiciraNvpRouterMappingDao.class) public class NiciraNvpRouterMappingDaoImpl extends GenericDaoBase implements NiciraNvpRouterMappingDao { diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java index 4c1bee17c17..fa0667b02d3 100644 --- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java +++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java @@ -24,6 +24,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.CreateLogicalSwitchAnswer; @@ -66,6 +67,7 @@ import com.cloud.vm.ReservationContext; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; +@Component @Local(value=NetworkGuru.class) public class NiciraNvpGuestNetworkGuru extends GuestNetworkGuru { private static final Logger s_logger = Logger.getLogger(NiciraNvpGuestNetworkGuru.class); diff --git a/server/src/com/cloud/acl/DomainChecker.java b/server/src/com/cloud/acl/DomainChecker.java index 40564fe2904..6166c1155ff 100755 --- a/server/src/com/cloud/acl/DomainChecker.java +++ b/server/src/com/cloud/acl/DomainChecker.java @@ -42,6 +42,7 @@ import com.cloud.user.User; import com.cloud.user.dao.AccountDao; import com.cloud.utils.component.AdapterBase; +@Component @Local(value = SecurityChecker.class) public class DomainChecker extends AdapterBase implements SecurityChecker { diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 8b458955b1b..ee5971f51c7 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -139,6 +139,7 @@ import edu.emory.mathcs.backport.java.util.Collections; * ping.interval before announcing an agent has timed out | float | 2.0x || || router.stats.interval | interval to * report router statistics | seconds | 300s || * } **/ +@Component @Local(value = { AgentManager.class }) public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { private static final Logger s_logger = Logger.getLogger(AgentManagerImpl.class); diff --git a/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index 35aa8843ea8..6753b280961 100755 --- a/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -91,6 +91,8 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.nio.Link; import com.cloud.utils.nio.Task; +@Component +@Primary @Local(value = { AgentManager.class, ClusteredAgentRebalanceService.class }) public class ClusteredAgentManagerImpl extends AgentManagerImpl implements ClusterManagerListener, ClusteredAgentRebalanceService { final static Logger s_logger = Logger.getLogger(ClusteredAgentManagerImpl.class); diff --git a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java index 626872447e7..22b807c9d40 100644 --- a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java @@ -29,12 +29,14 @@ import com.cloud.api.query.vo.UserAccountJoinVO; import com.cloud.configuration.Resource.ResourceType; import org.apache.cloudstack.api.response.AccountResponse; import org.apache.cloudstack.api.response.UserResponse; +import org.springframework.stereotype.Component; + import com.cloud.user.Account; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; - +@Component @Local(value={AccountJoinDao.class}) public class AccountJoinDaoImpl extends GenericDaoBase implements AccountJoinDao { public static final Logger s_logger = Logger.getLogger(AccountJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/AsyncJobJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/AsyncJobJoinDaoImpl.java index bf1d15c4205..fb5695bebbb 100644 --- a/server/src/com/cloud/api/query/dao/AsyncJobJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/AsyncJobJoinDaoImpl.java @@ -29,11 +29,13 @@ import com.cloud.api.query.vo.AsyncJobJoinVO; import com.cloud.async.AsyncJob; import org.apache.cloudstack.api.ResponseObject; import org.apache.cloudstack.api.response.AsyncJobResponse; +import org.springframework.stereotype.Component; + import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; - +@Component @Local(value={AsyncJobJoinDao.class}) public class AsyncJobJoinDaoImpl extends GenericDaoBase implements AsyncJobJoinDao { public static final Logger s_logger = Logger.getLogger(AsyncJobJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java index 94736cd7f90..cdfac3a8247 100644 --- a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java @@ -29,6 +29,8 @@ import com.cloud.configuration.dao.ConfigurationDao; import org.apache.cloudstack.api.response.DomainRouterResponse; import org.apache.cloudstack.api.response.NicResponse; +import org.springframework.stereotype.Component; + import com.cloud.network.Networks.TrafficType; import com.cloud.network.router.VirtualRouter; import com.cloud.user.Account; @@ -37,7 +39,7 @@ import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; - +@Component @Local(value={DomainRouterJoinDao.class}) public class DomainRouterJoinDaoImpl extends GenericDaoBase implements DomainRouterJoinDao { public static final Logger s_logger = Logger.getLogger(DomainRouterJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java index e8423836004..9a7ba468227 100644 --- a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java @@ -36,13 +36,15 @@ import com.cloud.host.HostStats; import org.apache.cloudstack.api.ApiConstants.HostDetails; import org.apache.cloudstack.api.response.HostResponse; +import org.springframework.stereotype.Component; + import com.cloud.storage.StorageStats; import com.cloud.utils.component.Inject; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; - +@Component @Local(value={HostJoinDao.class}) public class HostJoinDaoImpl extends GenericDaoBase implements HostJoinDao { public static final Logger s_logger = Logger.getLogger(HostJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java index f83ef6cd8fd..b8404591581 100644 --- a/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java @@ -26,6 +26,7 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.InstanceGroupJoinVO; import org.apache.cloudstack.api.response.InstanceGroupResponse; +import org.springframework.stereotype.Component; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; @@ -33,6 +34,7 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.vm.InstanceGroup; +@Component @Local(value={InstanceGroupJoinDao.class}) public class InstanceGroupJoinDaoImpl extends GenericDaoBase implements InstanceGroupJoinDao { public static final Logger s_logger = Logger.getLogger(InstanceGroupJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java index f808da0c5f1..1fb92236e24 100644 --- a/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java @@ -23,6 +23,7 @@ import javax.ejb.Local; import org.apache.log4j.Logger; import org.apache.cloudstack.api.response.ProjectAccountResponse; +import org.springframework.stereotype.Component; import com.cloud.api.query.vo.ProjectAccountJoinVO; import com.cloud.projects.ProjectAccount; @@ -30,6 +31,7 @@ import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; +@Component @Local(value={ProjectAccountJoinDao.class}) public class ProjectAccountJoinDaoImpl extends GenericDaoBase implements ProjectAccountJoinDao { public static final Logger s_logger = Logger.getLogger(ProjectAccountJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java index ebf64d1ce55..ca0f171dd1a 100644 --- a/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java @@ -23,6 +23,7 @@ import javax.ejb.Local; import org.apache.log4j.Logger; import org.apache.cloudstack.api.response.ProjectInvitationResponse; +import org.springframework.stereotype.Component; import com.cloud.api.query.vo.ProjectInvitationJoinVO; import com.cloud.projects.ProjectInvitation; @@ -30,6 +31,7 @@ import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; +@Component @Local(value={ProjectInvitationJoinDao.class}) public class ProjectInvitationJoinDaoImpl extends GenericDaoBase implements ProjectInvitationJoinDao { public static final Logger s_logger = Logger.getLogger(ProjectInvitationJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java index 15bff3677fe..77f930343bf 100644 --- a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java @@ -29,12 +29,15 @@ import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.configuration.dao.ConfigurationDao; import org.apache.cloudstack.api.response.ProjectResponse; +import org.springframework.stereotype.Component; + import com.cloud.projects.Project; import com.cloud.utils.component.Inject; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; +@Component @Local(value={ProjectJoinDao.class}) public class ProjectJoinDaoImpl extends GenericDaoBase implements ProjectJoinDao { public static final Logger s_logger = Logger.getLogger(ProjectJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java index 5adee9ee170..2d86ca03d7c 100644 --- a/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java @@ -28,13 +28,15 @@ import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.configuration.dao.ConfigurationDao; import org.apache.cloudstack.api.response.ResourceTagResponse; +import org.springframework.stereotype.Component; + import com.cloud.server.ResourceTag; import com.cloud.utils.component.Inject; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; - +@Component @Local(value={ResourceTagJoinDao.class}) public class ResourceTagJoinDaoImpl extends GenericDaoBase implements ResourceTagJoinDao { public static final Logger s_logger = Logger.getLogger(ResourceTagJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java index c35c4aae297..f6847aa9d2b 100644 --- a/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java @@ -31,6 +31,8 @@ import com.cloud.configuration.dao.ConfigurationDao; import org.apache.cloudstack.api.response.SecurityGroupResponse; import org.apache.cloudstack.api.response.SecurityGroupRuleResponse; +import org.springframework.stereotype.Component; + import com.cloud.network.security.SecurityGroup; import com.cloud.network.security.SecurityRule.SecurityRuleType; import com.cloud.user.Account; @@ -39,6 +41,7 @@ import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; +@Component @Local(value={SecurityGroupJoinDao.class}) public class SecurityGroupJoinDaoImpl extends GenericDaoBase implements SecurityGroupJoinDao { public static final Logger s_logger = Logger.getLogger(SecurityGroupJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java index 44ed1303af5..53a0ffed445 100644 --- a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java @@ -26,6 +26,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.StoragePoolJoinVO; import com.cloud.configuration.dao.ConfigurationDao; import org.apache.cloudstack.api.response.StoragePoolResponse; +import org.springframework.stereotype.Component; import com.cloud.storage.StoragePool; import com.cloud.storage.StorageStats; @@ -35,6 +36,7 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; +@Component @Local(value={StoragePoolJoinDao.class}) public class StoragePoolJoinDaoImpl extends GenericDaoBase implements StoragePoolJoinDao { public static final Logger s_logger = Logger.getLogger(StoragePoolJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java index b1f5dcafeb3..1bb3981cd72 100644 --- a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java @@ -29,6 +29,7 @@ import com.cloud.api.query.vo.UserAccountJoinVO; import org.apache.cloudstack.api.response.InstanceGroupResponse; import org.apache.cloudstack.api.response.UserResponse; +import org.springframework.stereotype.Component; import com.cloud.user.Account; import com.cloud.user.User; @@ -39,6 +40,7 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.vm.InstanceGroup; +@Component @Local(value={UserAccountJoinDao.class}) public class UserAccountJoinDaoImpl extends GenericDaoBase implements UserAccountJoinDao { public static final Logger s_logger = Logger.getLogger(UserAccountJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java index 3310518ee79..ce3d8083767 100644 --- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java @@ -36,9 +36,10 @@ import org.apache.cloudstack.api.ApiConstants.VMDetails; import org.apache.cloudstack.api.response.NicResponse; import org.apache.cloudstack.api.response.SecurityGroupResponse; import org.apache.cloudstack.api.response.UserVmResponse; +import org.springframework.stereotype.Component; + import com.cloud.user.Account; import com.cloud.uservm.UserVm; -import com.cloud.utils.component.ComponentLocator; import com.cloud.utils.component.Inject; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; @@ -46,6 +47,7 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.vm.VmStats; +@Component @Local(value={UserVmJoinDao.class}) public class UserVmJoinDaoImpl extends GenericDaoBase implements UserVmJoinDao { public static final Logger s_logger = Logger.getLogger(UserVmJoinDaoImpl.class); diff --git a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java index 35ba2eb4537..65ecd1bc57e 100644 --- a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java @@ -30,6 +30,7 @@ import com.cloud.api.query.vo.VolumeJoinVO; import com.cloud.configuration.dao.ConfigurationDao; import org.apache.cloudstack.api.response.VolumeResponse; +import org.springframework.stereotype.Component; import com.cloud.offering.ServiceOffering; import com.cloud.storage.Storage; @@ -44,6 +45,7 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; +@Component @Local(value={VolumeJoinDao.class}) public class VolumeJoinDaoImpl extends GenericDaoBase implements VolumeJoinDao { public static final Logger s_logger = Logger.getLogger(VolumeJoinDaoImpl.class); diff --git a/server/src/com/cloud/async/SyncQueueManagerImpl.java b/server/src/com/cloud/async/SyncQueueManagerImpl.java index 5246e46c7b7..97ce8a6ccad 100644 --- a/server/src/com/cloud/async/SyncQueueManagerImpl.java +++ b/server/src/com/cloud/async/SyncQueueManagerImpl.java @@ -36,7 +36,7 @@ import com.cloud.utils.db.DB; import com.cloud.utils.db.Transaction; import com.cloud.utils.exception.CloudRuntimeException; - +@Component @Local(value={SyncQueueManager.class}) public class SyncQueueManagerImpl implements SyncQueueManager { public static final Logger s_logger = Logger.getLogger(SyncQueueManagerImpl.class.getName()); diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java index 116f6114c03..09e65a02812 100644 --- a/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java @@ -24,11 +24,16 @@ import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + import com.cloud.alert.AlertManager; import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.usage.dao.UsageJobDao; import com.cloud.utils.db.Transaction; +@Component +@Primary @Local(value={HighAvailabilityManager.class}) public class HighAvailabilityManagerExtImpl extends HighAvailabilityManagerImpl { diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java index 58f428b7795..6df08229830 100755 --- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java @@ -31,6 +31,7 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.apache.log4j.NDC; +import org.springframework.stereotype.Component; import com.cloud.agent.AgentManager; import com.cloud.alert.AlertManager; @@ -95,6 +96,7 @@ import com.cloud.vm.dao.VMInstanceDao; * ha.retry.wait | time to wait before retrying the work item | seconds | 120 || || stop.retry.wait | time to wait * before retrying the stop | seconds | 120 || * } **/ +@Component @Local(value = { HighAvailabilityManager.class }) public class HighAvailabilityManagerImpl implements HighAvailabilityManager, ClusterManagerListener { protected static final Logger s_logger = Logger.getLogger(HighAvailabilityManagerImpl.class); diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 68ddbc0b89f..84fcd329218 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -57,18 +57,15 @@ import com.cloud.alert.AlertManager; import com.cloud.api.ApiDBUtils; import org.apache.cloudstack.api.command.user.network.ListNetworksCmd; +import org.springframework.stereotype.Component; + import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.*; import com.cloud.dc.DataCenter.NetworkType; -import com.cloud.dc.DataCenterVO; -import com.cloud.dc.Pod; -import com.cloud.dc.PodVlanMapVO; -import com.cloud.dc.Vlan; import com.cloud.dc.Vlan.VlanType; -import com.cloud.dc.VlanVO; import com.cloud.dc.dao.AccountVlanMapDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.PodVlanMapDao; @@ -111,13 +108,6 @@ import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy; import com.cloud.network.lb.LoadBalancingRulesManager; import com.cloud.network.rules.*; import com.cloud.network.rules.FirewallRule.Purpose; -import com.cloud.network.rules.FirewallRuleVO; -import com.cloud.network.rules.PortForwardingRule; -import com.cloud.network.rules.PortForwardingRuleVO; -import com.cloud.network.rules.RulesManager; -import com.cloud.network.rules.StaticNat; -import com.cloud.network.rules.StaticNatRule; -import com.cloud.network.rules.StaticNatRuleImpl; import com.cloud.network.rules.dao.PortForwardingRulesDao; import com.cloud.network.vpc.NetworkACLManager; import com.cloud.network.vpc.PrivateIpVO; @@ -173,6 +163,7 @@ import java.util.*; /** * NetworkManagerImpl implements NetworkManager. */ +@Component @Local(value = { NetworkManager.class, NetworkService.class }) public class NetworkManagerImpl implements NetworkManager, NetworkService, Manager, Listener { private static final Logger s_logger = Logger.getLogger(NetworkManagerImpl.class); diff --git a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java index 4c49914f11c..d49f4aa168e 100644 --- a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java +++ b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java @@ -42,6 +42,8 @@ import org.apache.cloudstack.api.command.user.autoscale.ListAutoScaleVmGroupsCmd import org.apache.cloudstack.api.command.user.autoscale.ListConditionsCmd; import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScalePolicyCmd; import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmProfileCmd; +import org.springframework.stereotype.Component; + import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.dao.ConfigurationDao; @@ -93,6 +95,7 @@ import com.cloud.utils.net.NetUtils; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +@Component @Local(value = { AutoScaleService.class, AutoScaleManager.class }) public class AutoScaleManagerImpl implements AutoScaleManager, AutoScaleService, Manager { private static final Logger s_logger = Logger.getLogger(AutoScaleManagerImpl.class); diff --git a/server/src/com/cloud/network/as/dao/AutoScalePolicyConditionMapDaoImpl.java b/server/src/com/cloud/network/as/dao/AutoScalePolicyConditionMapDaoImpl.java index 84dd191b072..cacebf05f5f 100644 --- a/server/src/com/cloud/network/as/dao/AutoScalePolicyConditionMapDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/AutoScalePolicyConditionMapDaoImpl.java @@ -19,11 +19,14 @@ package com.cloud.network.as.dao; import java.util.List; import javax.ejb.Local; + +import org.springframework.stereotype.Component; import com.cloud.network.as.AutoScalePolicyConditionMapVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchCriteria; - + +@Component @Local(value={AutoScalePolicyConditionMapDao.class}) public class AutoScalePolicyConditionMapDaoImpl extends GenericDaoBase implements AutoScalePolicyConditionMapDao { diff --git a/server/src/com/cloud/network/as/dao/AutoScalePolicyDaoImpl.java b/server/src/com/cloud/network/as/dao/AutoScalePolicyDaoImpl.java index f8f54915534..05dbf310418 100644 --- a/server/src/com/cloud/network/as/dao/AutoScalePolicyDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/AutoScalePolicyDaoImpl.java @@ -17,11 +17,14 @@ package com.cloud.network.as.dao; import javax.ejb.Local; + +import org.springframework.stereotype.Component; import com.cloud.network.as.AutoScalePolicyVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchCriteria; - + +@Component @Local(value = { AutoScalePolicyDao.class }) public class AutoScalePolicyDaoImpl extends GenericDaoBase implements AutoScalePolicyDao { diff --git a/server/src/com/cloud/network/as/dao/AutoScaleVmGroupDaoImpl.java b/server/src/com/cloud/network/as/dao/AutoScaleVmGroupDaoImpl.java index 80f2bee7cbb..ae4ab2c7db9 100644 --- a/server/src/com/cloud/network/as/dao/AutoScaleVmGroupDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/AutoScaleVmGroupDaoImpl.java @@ -19,13 +19,16 @@ package com.cloud.network.as.dao; import java.util.List; import javax.ejb.Local; + +import org.springframework.stereotype.Component; import com.cloud.network.as.AutoScaleVmGroupVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.GenericSearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Func; - + +@Component @Local(value = { AutoScaleVmGroupDao.class }) public class AutoScaleVmGroupDaoImpl extends GenericDaoBase implements AutoScaleVmGroupDao { diff --git a/server/src/com/cloud/network/as/dao/AutoScaleVmGroupPolicyMapDaoImpl.java b/server/src/com/cloud/network/as/dao/AutoScaleVmGroupPolicyMapDaoImpl.java index c33a55fe549..b0d064e1d20 100644 --- a/server/src/com/cloud/network/as/dao/AutoScaleVmGroupPolicyMapDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/AutoScaleVmGroupPolicyMapDaoImpl.java @@ -19,13 +19,16 @@ package com.cloud.network.as.dao; import java.util.List; import javax.ejb.Local; + +import org.springframework.stereotype.Component; import com.cloud.network.as.AutoScaleVmGroupPolicyMapVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Op; - + +@Component @Local(value={AutoScaleVmGroupPolicyMapDao.class}) public class AutoScaleVmGroupPolicyMapDaoImpl extends GenericDaoBase implements AutoScaleVmGroupPolicyMapDao { diff --git a/server/src/com/cloud/network/as/dao/AutoScaleVmProfileDaoImpl.java b/server/src/com/cloud/network/as/dao/AutoScaleVmProfileDaoImpl.java index d2b162b5915..99c3cc2b70a 100644 --- a/server/src/com/cloud/network/as/dao/AutoScaleVmProfileDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/AutoScaleVmProfileDaoImpl.java @@ -17,11 +17,14 @@ package com.cloud.network.as.dao; import javax.ejb.Local; + +import org.springframework.stereotype.Component; import com.cloud.network.as.AutoScaleVmProfileVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchCriteria; - + +@Component @Local(value = { AutoScaleVmProfileDao.class }) public class AutoScaleVmProfileDaoImpl extends GenericDaoBase implements AutoScaleVmProfileDao { diff --git a/server/src/com/cloud/network/as/dao/ConditionDaoImpl.java b/server/src/com/cloud/network/as/dao/ConditionDaoImpl.java index 4f71d451512..8235823dcfc 100644 --- a/server/src/com/cloud/network/as/dao/ConditionDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/ConditionDaoImpl.java @@ -19,12 +19,15 @@ package com.cloud.network.as.dao; import javax.ejb.Local; +import org.springframework.stereotype.Component; + import com.cloud.network.as.ConditionVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Op; +@Component @Local(value = ConditionDao.class) public class ConditionDaoImpl extends GenericDaoBase implements ConditionDao { final SearchBuilder AllFieldsSearch; diff --git a/server/src/com/cloud/network/as/dao/CounterDaoImpl.java b/server/src/com/cloud/network/as/dao/CounterDaoImpl.java index 829d538140e..0abc3a003a4 100644 --- a/server/src/com/cloud/network/as/dao/CounterDaoImpl.java +++ b/server/src/com/cloud/network/as/dao/CounterDaoImpl.java @@ -21,6 +21,8 @@ import java.util.List; import javax.ejb.Local; +import org.springframework.stereotype.Component; + import com.cloud.network.as.CounterVO; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; @@ -28,6 +30,7 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Op; +@Component @Local(value = CounterDao.class) public class CounterDaoImpl extends GenericDaoBase implements CounterDao { final SearchBuilder AllFieldsSearch; diff --git a/server/src/com/cloud/network/dao/NetworkDaoImpl.java b/server/src/com/cloud/network/dao/NetworkDaoImpl.java index c3559b6c67f..c6a65dd604f 100644 --- a/server/src/com/cloud/network/dao/NetworkDaoImpl.java +++ b/server/src/com/cloud/network/dao/NetworkDaoImpl.java @@ -22,6 +22,7 @@ import java.util.Random; import javax.annotation.PostConstruct; import javax.ejb.Local; +import javax.inject.Inject; import javax.persistence.TableGenerator; import org.apache.cloudstack.acl.ControlledEntity.ACLType; @@ -78,12 +79,12 @@ public class NetworkDaoImpl extends GenericDaoBase implements N GenericSearchBuilder VpcNetworksCount; SearchBuilder OfferingAccountNetworkSearch; - ResourceTagsDaoImpl _tagsDao = ComponentLocator.inject(ResourceTagsDaoImpl.class); - NetworkAccountDaoImpl _accountsDao = ComponentLocator.inject(NetworkAccountDaoImpl.class); - NetworkDomainDaoImpl _domainsDao = ComponentLocator.inject(NetworkDomainDaoImpl.class); - NetworkOpDaoImpl _opDao = ComponentLocator.inject(NetworkOpDaoImpl.class); - NetworkServiceMapDaoImpl _ntwkSvcMap = ComponentLocator.inject(NetworkServiceMapDaoImpl.class); - NetworkOfferingDaoImpl _ntwkOffDao = ComponentLocator.inject(NetworkOfferingDaoImpl.class); + @Inject ResourceTagsDaoImpl _tagsDao; + @Inject NetworkAccountDaoImpl _accountsDao; + @Inject NetworkDomainDaoImpl _domainsDao; + @Inject NetworkOpDaoImpl _opDao; + @Inject NetworkServiceMapDaoImpl _ntwkSvcMap; + @Inject NetworkOfferingDaoImpl _ntwkOffDao; TableGenerator _tgMacAddress; diff --git a/server/src/com/cloud/secstorage/PremiumSecondaryStorageManagerImpl.java b/server/src/com/cloud/secstorage/PremiumSecondaryStorageManagerImpl.java index 73015c11464..d4f44541c85 100755 --- a/server/src/com/cloud/secstorage/PremiumSecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/secstorage/PremiumSecondaryStorageManagerImpl.java @@ -49,6 +49,8 @@ import com.cloud.vm.SystemVmLoadScanner.AfterScanAction; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.SecondaryStorageVmDao; +@Component +@Primary @Local(value = { SecondaryStorageVmManager.class }) public class PremiumSecondaryStorageManagerImpl extends SecondaryStorageManagerImpl { private static final Logger s_logger = Logger.getLogger(PremiumSecondaryStorageManagerImpl.class); diff --git a/server/src/com/cloud/server/ManagementServerExtImpl.java b/server/src/com/cloud/server/ManagementServerExtImpl.java index 5ec75f193fb..03e50ebbe69 100644 --- a/server/src/com/cloud/server/ManagementServerExtImpl.java +++ b/server/src/com/cloud/server/ManagementServerExtImpl.java @@ -33,6 +33,8 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; import com.cloud.projects.Project; import org.apache.cloudstack.api.response.UsageTypeResponse; +import org.springframework.stereotype.Component; + import com.cloud.usage.UsageJobVO; import com.cloud.usage.UsageTypes; import com.cloud.usage.UsageVO; @@ -46,6 +48,7 @@ import com.cloud.utils.db.Filter; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.Transaction; +@Component public class ManagementServerExtImpl extends ManagementServerImpl implements ManagementServerExt { @Inject private AccountDao _accountDao; @Inject private DomainDao _domainDao; diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 95d96d09cc2..60bab003d9e 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -381,8 +381,8 @@ public class ManagementServerImpl implements ManagementServer { S3Manager _s3Mgr; @Inject - ComponentContext _placeholder; - + ComponentContext _placeholder; // create a dependency to ComponentContext so that it can be loaded beforehead + private final ScheduledExecutorService _eventExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("EventChecker")); private KeystoreManager _ksMgr; diff --git a/server/src/com/cloud/storage/dao/S3DaoImpl.java b/server/src/com/cloud/storage/dao/S3DaoImpl.java index 6162e6ebf73..f0dd078d224 100644 --- a/server/src/com/cloud/storage/dao/S3DaoImpl.java +++ b/server/src/com/cloud/storage/dao/S3DaoImpl.java @@ -24,6 +24,9 @@ import com.cloud.utils.db.GenericDaoBase; import javax.ejb.Local; +import org.springframework.stereotype.Component; + +@Component @Local(S3Dao.class) public class S3DaoImpl extends GenericDaoBase implements S3Dao { diff --git a/server/src/com/cloud/storage/dao/VMTemplateS3DaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateS3DaoImpl.java index f23b803bf68..7cfd3b5937c 100644 --- a/server/src/com/cloud/storage/dao/VMTemplateS3DaoImpl.java +++ b/server/src/com/cloud/storage/dao/VMTemplateS3DaoImpl.java @@ -27,8 +27,12 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import javax.ejb.Local; + +import org.springframework.stereotype.Component; + import java.util.List; +@Component @Local(VMTemplateS3Dao.class) public class VMTemplateS3DaoImpl extends GenericDaoBase implements VMTemplateS3Dao { diff --git a/server/src/com/cloud/storage/s3/S3ManagerImpl.java b/server/src/com/cloud/storage/s3/S3ManagerImpl.java index 1db809b07b2..069edf37612 100644 --- a/server/src/com/cloud/storage/s3/S3ManagerImpl.java +++ b/server/src/com/cloud/storage/s3/S3ManagerImpl.java @@ -54,6 +54,8 @@ import com.cloud.agent.api.DownloadTemplateFromS3ToSecondaryStorageCommand; import com.cloud.agent.api.UploadTemplateToS3FromSecondaryStorageCommand; import com.cloud.agent.api.to.S3TO; import org.apache.cloudstack.api.command.admin.storage.ListS3sCmd; +import org.springframework.stereotype.Component; + import com.cloud.configuration.Config; import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenterVO; @@ -80,6 +82,7 @@ import com.cloud.utils.db.Filter; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.exception.CloudRuntimeException; +@Component @Local(value = { S3Manager.class }) public class S3ManagerImpl implements S3Manager { diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index 8638cf40932..81d8396bafa 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -30,6 +30,8 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.log4j.Logger; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; @@ -153,6 +155,7 @@ import com.cloud.vm.dao.VMInstanceDao; // Starting, HA, Migrating, Creating and Running state are all counted as "Open" for available capacity calculation // because sooner or later, it will be driven into Running state // +@Component @Local(value = { SecondaryStorageVmManager.class }) public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, VirtualMachineGuru, SystemVmLoadScanHandler, ResourceStateAdapter { private static final Logger s_logger = Logger.getLogger(SecondaryStorageManagerImpl.class); @@ -217,7 +220,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V UserVmDetailsDao _vmDetailsDao; @Inject protected ResourceManager _resourceMgr; - @Inject + //@Inject // TODO this is a very strange usage, a singleton class need to inject itself? protected SecondaryStorageVmManager _ssvmMgr; @Inject NetworkDao _networkDao; @@ -245,6 +248,10 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V private final GlobalLock _allocLock = GlobalLock.getInternLock(getAllocLockName()); + public SecondaryStorageManagerImpl() { + _ssvmMgr = this; + } + @Override public SecondaryStorageVmVO startSecStorageVm(long secStorageVmId) { try { @@ -888,9 +895,6 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V return true; } - protected SecondaryStorageManagerImpl() { - } - @Override public Long convertToId(String vmName) { if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, "s")) { diff --git a/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java b/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java index dc51eab4fc7..96c7446f8fd 100644 --- a/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java @@ -22,9 +22,14 @@ import java.util.Map; import javax.ejb.Local; import javax.naming.ConfigurationException; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + import com.cloud.cluster.ClusterManagerListener; import com.cloud.cluster.ManagementServerHostVO; +@Component +@Primary @Local(value=VirtualMachineManager.class) public class ClusteredVirtualMachineManagerImpl extends VirtualMachineManagerImpl implements ClusterManagerListener { diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index d4fff18c847..55d0d4fe756 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -54,6 +54,7 @@ import org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntity; import org.apache.cloudstack.engine.service.api.OrchestrationService; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; @@ -236,6 +237,7 @@ import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; +@Component @Local(value = { UserVmManager.class, UserVmService.class }) public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager { private static final Logger s_logger = Logger diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index 0b1e2da27da..2897a63afed 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -158,6 +158,7 @@ import com.cloud.vm.dao.SecondaryStorageVmDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; +@Component @Local(value = VirtualMachineManager.class) public class VirtualMachineManagerImpl implements VirtualMachineManager, Listener { private static final Logger s_logger = Logger.getLogger(VirtualMachineManagerImpl.class);