Moti Asayag has uploaded a new change for review.

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

engine: Change AddNetworkCommand to non-transactive

The AddNetworkCommand will be used also for configuring
the network on the hosts by its label. For that purpose
the class should be managed as a non-transactive, as
changes should be kept into the database prior to setup
networks and also the network update shouldn't be part
of a wider transaction.

Change-Id: I696601506a76db8fe9d0bef790b9cd7c2b434449
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java
1 file changed, 18 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/37/22637/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java
index 7b0286b..ce9c194 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java
@@ -6,6 +6,7 @@
 
 import org.ovirt.engine.core.bll.LockIdNameAttribute;
 import org.ovirt.engine.core.bll.LockMessagesMatchUtil;
+import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
 import org.ovirt.engine.core.bll.ValidationResult;
 import org.ovirt.engine.core.bll.network.cluster.NetworkHelper;
 import org.ovirt.engine.core.bll.provider.ProviderValidator;
@@ -21,7 +22,10 @@
 import org.ovirt.engine.core.common.validation.group.CreateEntity;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.utils.transaction.TransactionMethod;
+import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
+@NonTransactiveCommandAttribute
 @LockIdNameAttribute
 public class AddNetworkCommand<T extends AddNetworkStoragePoolParameters> 
extends NetworkCommon<T> {
     public AddNetworkCommand(T parameters) {
@@ -31,13 +35,22 @@
     @Override
     protected void executeCommand() {
         getNetwork().setId(Guid.newGuid());
-        getNetworkDAO().save(getNetwork());
 
-        if (getNetwork().isVmNetwork() && 
getParameters().isVnicProfileRequired()) {
-            
getVnicProfileDao().save(NetworkHelper.createVnicProfile(getNetwork()));
-        }
+        TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
 
-        NetworkHelper.addPermissionsOnNetwork(getCurrentUser().getId(), 
getNetwork().getId());
+            @Override
+            public Void runInTransaction() {
+                getNetworkDAO().save(getNetwork());
+
+                if (getNetwork().isVmNetwork() && 
getParameters().isVnicProfileRequired()) {
+                    
getVnicProfileDao().save(NetworkHelper.createVnicProfile(getNetwork()));
+                }
+
+                
NetworkHelper.addPermissionsOnNetwork(getCurrentUser().getId(), 
getNetwork().getId());
+                return null;
+            }
+        });
+
         getReturnValue().setActionReturnValue(getNetwork().getId());
         setSucceeded(true);
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I696601506a76db8fe9d0bef790b9cd7c2b434449
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