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