Moti Asayag has uploaded a new change for review.

Change subject: engine: Modify UpdateNetworkCommand to non-transactive
......................................................................

engine: Modify UpdateNetworkCommand to non-transactive

As a preparation for a multiple network configuration
on hosts action (Edit Provision Networks feature),
there is a need to modify the UpdateNetworkCommand
to be non-transactive, and to scope the transaction
scope to the relevant portions only.

Change-Id: I6fe59c2652334b80afcc51a47916f3b7f23b8950
Signed-off-by: Moti Asayag <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
1 file changed, 19 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/47/22047/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
index 202eb75..0ae2b94 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
@@ -4,6 +4,7 @@
 import java.util.Objects;
 
 import org.apache.commons.lang.ObjectUtils;
+import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
 import org.ovirt.engine.core.bll.RenamedEntityInfoProvider;
 import org.ovirt.engine.core.bll.ValidationResult;
 import org.ovirt.engine.core.bll.network.cluster.NetworkClusterHelper;
@@ -17,7 +18,10 @@
 import org.ovirt.engine.core.common.validation.group.UpdateEntity;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 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 UpdateNetworkCommand<T extends AddNetworkStoragePoolParameters> 
extends NetworkCommon<T> implements RenamedEntityInfoProvider{
     private Network oldNetwork;
 
@@ -27,15 +31,23 @@
 
     @Override
     protected void executeCommand() {
-        getNetworkDAO().update(getNetwork());
+        TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
 
-        for (NetworkCluster clusterAttachment : 
getNetworkClusterDAO().getAllForNetwork(getNetwork().getId())) {
-            NetworkClusterHelper.setStatus(clusterAttachment.getClusterId(), 
getNetwork());
-        }
+            @Override
+            public Void runInTransaction() {
+                getNetworkDAO().update(getNetwork());
 
-        if (networkChangedToNonVmNetwork()) {
-            removeVnicProfiles();
-        }
+                for (NetworkCluster clusterAttachment : 
getNetworkClusterDAO().getAllForNetwork(getNetwork().getId())) {
+                    
NetworkClusterHelper.setStatus(clusterAttachment.getClusterId(), getNetwork());
+                }
+
+                if (networkChangedToNonVmNetwork()) {
+                    removeVnicProfiles();
+                }
+
+                return null;
+            }
+        });
 
         setSucceeded(true);
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6fe59c2652334b80afcc51a47916f3b7f23b8950
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to