Martin Mucha has uploaded a new change for review. Change subject: core: allowed to add network label even if Vm using this network is running. ......................................................................
core: allowed to add network label even if Vm using this network is running. Network label was checked to be unchanged in method 'onlyPermittedFieldsChanged'. This is extracted out into new method 'allowedNetworkLabelManipulation' which returns true if network label was not changed, or if former label was not specified (null) and new one is specified (!=null). Change-Id: I57a658a4e2d4648917a265493cde4749ad15e3ad Bug-Url: https://bugzilla.redhat.com/?????? Signed-off-by: Martin Mucha <mmu...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java 1 file changed, 13 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/32688/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 cab3fb5..83b12ac 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 @@ -81,7 +81,7 @@ if (!getNetwork().isExternal()) { if (NetworkHelper.setupNetworkSupported(getStoragePool().getcompatibility_version())) { applyNetworkChangesToHosts(); - } else if (!onlyPermittedFieldsChanged()) { + } else if (!onlyPermittedFieldsChanged() || !allowedNetworkLabelManipulation()) { List<VdsNetworkInterface> nics = getDbFacade().getInterfaceDao().getVdsInterfacesByNetworkId(getNetwork().getId()); if (!nics.isEmpty()) { @@ -115,7 +115,7 @@ @Override protected boolean canDoAction() { - if (onlyPermittedFieldsChanged()) { + if (onlyPermittedFieldsChanged() && allowedNetworkLabelManipulation()) { return true; } @@ -140,6 +140,16 @@ || validate(validatorOld.externalNetworkDetailsUnchanged(getNetwork()))); } + private boolean allowedNetworkLabelManipulation() { + Network oldNetwork = getOldNetwork(); + Network newNetwork = getNetwork(); + + boolean labelNotChanged = Objects.equals(oldNetwork.getLabel(), newNetwork.getLabel()); + boolean newLabelAssigned = oldNetwork.getLabel() == null && newNetwork.getLabel() != null; + + return labelNotChanged || newLabelAssigned; + } + /** * @return <code>true</code> iff only the description or comment field were changed, otherwise <code>false</code>. */ @@ -159,8 +169,7 @@ Objects.equals(oldNetwork.getProvidedBy(), newNetwork.getProvidedBy()) && Objects.equals(oldNetwork.getStp(), newNetwork.getStp()) && Objects.equals(oldNetwork.getVlanId(), newNetwork.getVlanId()) && - Objects.equals(oldNetwork.isVmNetwork(), newNetwork.isVmNetwork()) && - Objects.equals(oldNetwork.getLabel(), newNetwork.getLabel()); + Objects.equals(oldNetwork.isVmNetwork(), newNetwork.isVmNetwork()); } private boolean oldAndNewNetworkIsNotExternal() { -- To view, visit http://gerrit.ovirt.org/32688 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I57a658a4e2d4648917a265493cde4749ad15e3ad Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Mucha <mmu...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches