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