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
