Moti Asayag has uploaded a new change for review.

Change subject: engine: Change AttachNetworkToVdsGroupCommand to non-transactive
......................................................................

engine: Change AttachNetworkToVdsGroupCommand to non-transactive

The command will be used also for configuring the
network on the hostis. For that purpose the class
 should be managed as a non-transactive.

Change-Id: I673024917d5308bfdfd2030eb9a2479f7e37ee03
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
1 file changed, 31 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/22638/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
index 5e1e40c..3342417 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
 import org.ovirt.engine.core.bll.VdsGroupCommandBase;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.common.AuditLogType;
@@ -16,7 +17,10 @@
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.utils.NetworkUtils;
+import org.ovirt.engine.core.utils.transaction.TransactionMethod;
+import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
+@NonTransactiveCommandAttribute
 public class AttachNetworkToVdsGroupCommand<T extends 
AttachNetworkToVdsGroupParameter> extends
         VdsGroupCommandBase<T> {
 
@@ -50,22 +54,33 @@
 
     @Override
     protected void executeCommand() {
-        if (networkExists()) {
-            getNetworkClusterDAO().update(getNetworkCluster());
-        } else {
-            getNetworkClusterDAO().save(new NetworkCluster(getVdsGroupId(), 
getNetwork().getId(),
-                    NetworkStatus.OPERATIONAL,
-                    false,
-                    getNetworkCluster().isRequired(),
-                    getNetworkCluster().isMigration()));
-        }
-        if (getNetwork().getCluster().isDisplay()) {
-            
getNetworkClusterDAO().setNetworkExclusivelyAsDisplay(getVdsGroupId(), 
getNetwork().getId());
-        }
-        if (getNetwork().getCluster().isMigration()) {
-            
getNetworkClusterDAO().setNetworkExclusivelyAsMigration(getVdsGroupId(), 
getNetwork().getId());
-        }
-        NetworkClusterHelper.setStatus(getVdsGroupId(), getNetwork());
+        TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
+
+            @Override
+            public Void runInTransaction() {
+                if (networkExists()) {
+                    getNetworkClusterDAO().update(getNetworkCluster());
+                } else {
+                    getNetworkClusterDAO().save(new 
NetworkCluster(getVdsGroupId(), getNetwork().getId(),
+                            NetworkStatus.OPERATIONAL,
+                            false,
+                            getNetworkCluster().isRequired(),
+                            getNetworkCluster().isMigration()));
+                }
+
+                if (getNetwork().getCluster().isDisplay()) {
+                    
getNetworkClusterDAO().setNetworkExclusivelyAsDisplay(getVdsGroupId(), 
getNetwork().getId());
+                }
+
+                if (getNetwork().getCluster().isMigration()) {
+                    
getNetworkClusterDAO().setNetworkExclusivelyAsMigration(getVdsGroupId(), 
getNetwork().getId());
+                }
+
+                NetworkClusterHelper.setStatus(getVdsGroupId(), getNetwork());
+                return null;
+            }
+        });
+
         setSucceeded(true);
     }
 


-- 
To view, visit http://gerrit.ovirt.org/22638
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I673024917d5308bfdfd2030eb9a2479f7e37ee03
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <masa...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to