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 2013/01/09 03:42:36 UTC

git commit: Fix startup sequence for classes that have due Manager/Adapter interfaces

Updated Branches:
  refs/heads/javelin b274c570f -> cc23a2332


Fix startup sequence for classes that have due Manager/Adapter interfaces


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/cc23a233
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/cc23a233
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/cc23a233

Branch: refs/heads/javelin
Commit: cc23a23324f31a30ab005a4a77a8b5899e99b910
Parents: b274c57
Author: Kelven Yang <ke...@gmail.com>
Authored: Tue Jan 8 18:42:12 2013 -0800
Committer: Kelven Yang <ke...@gmail.com>
Committed: Tue Jan 8 18:42:12 2013 -0800

----------------------------------------------------------------------
 client/tomcatconf/applicationContext.xml.in        |    2 ++
 .../com/cloud/baremetal/BareMetalResourceBase.java |    2 --
 .../cloud/baremetal/BareMetalVmManagerImpl.java    |    4 ----
 .../src/com/cloud/server/ManagementServerImpl.java |    5 +++--
 server/src/com/cloud/vm/UserVmManagerImpl.java     |    2 +-
 5 files changed, 6 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/client/tomcatconf/applicationContext.xml.in
----------------------------------------------------------------------
diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in
index 34bb853..07c9aee 100644
--- a/client/tomcatconf/applicationContext.xml.in
+++ b/client/tomcatconf/applicationContext.xml.in
@@ -58,4 +58,6 @@
 
   <bean id="eventBus" class = "org.apache.cloudstack.framework.eventbus.EventBusBase" />
 
+  <bean id="userVmManager" class ="com.cloud.vm.UserVmManagerImpl" />
+
 </beans>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/server/src/com/cloud/baremetal/BareMetalResourceBase.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/baremetal/BareMetalResourceBase.java b/server/src/com/cloud/baremetal/BareMetalResourceBase.java
index 2f679e7..8c14cce 100755
--- a/server/src/com/cloud/baremetal/BareMetalResourceBase.java
+++ b/server/src/com/cloud/baremetal/BareMetalResourceBase.java
@@ -23,7 +23,6 @@ import javax.ejb.Local;
 import javax.naming.ConfigurationException;
 
 import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
 
 import com.cloud.agent.IAgentControl;
 import com.cloud.agent.api.Answer;
@@ -66,7 +65,6 @@ import com.cloud.utils.script.Script2.ParamType;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachine.State;
 
-@Component
 @Local(value = ServerResource.class)
 public class BareMetalResourceBase implements ServerResource {
 	private static final Logger s_logger = Logger.getLogger(BareMetalResourceBase.class);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/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 c76fd37..f6b6a8e 100755
--- a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java
+++ b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java
@@ -28,8 +28,6 @@ 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.api.Answer;
 import com.cloud.agent.api.StopAnswer;
@@ -104,8 +102,6 @@ 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> {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/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 374d1ab..2c24ee1 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -26,7 +26,6 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Comparator;
 import java.util.Date;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -453,7 +452,9 @@ public class ManagementServerImpl implements ManagementServer {
 		Map<String, Object> params = new HashMap<String, Object>();
 		for(Adapter adapter : adapters.values()) {
 			try {
-				if(!ComponentContext.isPrimary(adapter, Adapter.class))
+				// we also skip Adapter class that is both a manager class and a adapter class
+				if(!ComponentContext.isPrimary(adapter, Adapter.class) || 
+					Manager.class.isAssignableFrom(ComponentContext.getTargetClass(adapter)))
 					continue;
 				
 				if(!adapter.configure(adapter.getClass().getSimpleName(), params)) {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 09d5578..890c89b 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -36,6 +36,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.context.annotation.Primary;
 import org.springframework.stereotype.Component;
 
 import com.cloud.acl.ControlledEntity.ACLType;
@@ -239,7 +240,6 @@ 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