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/07/31 03:20:46 UTC

git commit: updated refs/heads/4.2 to 065ae7a

Updated Branches:
  refs/heads/4.2 a9efec640 -> 065ae7a49


Correct DAO usage in VmwareDatacenterVO, relax assertion conditions to work with stack calling frame that is not wrapped with @DB injection


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

Branch: refs/heads/4.2
Commit: 065ae7a497086cdc1a81e024dd61117c41e55cc0
Parents: a9efec6
Author: Kelven Yang <ke...@gmail.com>
Authored: Tue Jul 30 18:05:01 2013 -0700
Committer: Kelven Yang <ke...@gmail.com>
Committed: Tue Jul 30 18:05:38 2013 -0700

----------------------------------------------------------------------
 .../src/com/cloud/upgrade/dao/VersionDaoImpl.java   |  1 +
 .../cloud/hypervisor/vmware/VmwareDatacenterVO.java | 16 ++++++++--------
 .../src/com/cloud/servlet/CloudStartupServlet.java  |  9 ++++++++-
 utils/src/com/cloud/utils/db/Transaction.java       |  8 +++++++-
 4 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065ae7a4/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java b/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java
index 7c5c9cc..3b2ed7e 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java
@@ -73,6 +73,7 @@ public class VersionDaoImpl extends GenericDaoBase<VersionVO, Long> implements V
     }
 
     @Override
+    @DB
     public String getCurrentVersion() {
         Connection conn = null;
         try {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065ae7a4/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
index a13e59e..b615012 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
@@ -46,10 +46,10 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
     private String guid;
 
     @Column(name = "name")
-    private String name;
+    private String vmwareDatacenterName;
 
     @Column(name = "vcenter_host")
-    private String vCenterHost;
+    private String vcenterHost;
 
     @Column(name = "uuid")
     private String uuid;
@@ -73,7 +73,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
 
     @Override
     public String getVmwareDatacenterName() {
-        return name;
+        return vmwareDatacenterName;
     }
 
     @Override
@@ -93,7 +93,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
 
     @Override
     public String getVcenterHost() {
-        return vCenterHost;
+        return vcenterHost;
     }
 
     public void setUuid(String uuid) {
@@ -105,11 +105,11 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
     }
 
     public void setVmwareDatacenterName(String name) {
-        this.name = name;
+        this.vmwareDatacenterName = name;
     }
 
     public void setVcenterHost(String vCenterHost) {
-        this.vCenterHost = vCenterHost;
+        this.vcenterHost = vCenterHost;
     }
 
     public void setUser(String user) {
@@ -141,9 +141,9 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
 
     public VmwareDatacenterVO(String guid, String name, String vCenterHost, String user, String password) {
         this.uuid = UUID.randomUUID().toString();
-        this.name = name;
+        this.vmwareDatacenterName = name;
         this.guid = guid;
-        this.vCenterHost = vCenterHost;
+        this.vcenterHost = vCenterHost;
         this.user = user;
         this.password = password;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065ae7a4/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 2cabe15..8fbae92 100755
--- a/server/src/com/cloud/servlet/CloudStartupServlet.java
+++ b/server/src/com/cloud/servlet/CloudStartupServlet.java
@@ -29,6 +29,7 @@ import org.springframework.web.context.support.SpringBeanAutowiringSupport;
 import com.cloud.utils.LogUtils;
 import com.cloud.utils.SerialVersionUID;
 import com.cloud.utils.component.ComponentContext;
+import com.cloud.utils.db.Transaction;
 
 public class CloudStartupServlet extends HttpServlet {
     public static final Logger s_logger = Logger.getLogger(CloudStartupServlet.class.getName());
@@ -47,7 +48,13 @@ public class CloudStartupServlet extends HttpServlet {
 			public void run() {
 				if(ComponentContext.getApplicationContext() != null) {
 					_timer.cancel();
-					ComponentContext.initComponentsLifeCycle();
+					
+					Transaction txn = Transaction.open(Transaction.CLOUD_DB);
+					try {
+						ComponentContext.initComponentsLifeCycle();
+					} finally {
+						txn.close();
+					}
 				}
 			}
     	}, 0, 1000);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065ae7a4/utils/src/com/cloud/utils/db/Transaction.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/Transaction.java b/utils/src/com/cloud/utils/db/Transaction.java
index 37ea8cf..a5da4b3 100755
--- a/utils/src/com/cloud/utils/db/Transaction.java
+++ b/utils/src/com/cloud/utils/db/Transaction.java
@@ -299,13 +299,19 @@ public class Transaction {
         if (se == null) {
             return false;
         }
+        
+        StringBuffer sb = new StringBuffer();
         for (; stack < stacks.length; stack++) {
             String methodName = stacks[stack].getMethodName();
+            sb.append(" ").append(methodName);
             if (methodName.equals(se.ref)){
                 return true;
             }
         }
-        return false;
+        
+        // relax stack structure for several places that @DB required injection is not in place
+        s_logger.warn("Non-standard stack context that Transaction context is manaully placed into the calling chain. Stack chain: " + sb);
+        return true;
     }
 
     protected static String buildName() {