Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Allow updating network description & comment
......................................................................

engine: Allow updating network description & comment

Always allow updating the description and comment fields, regardless of
the network state.

Change-Id: I670e862c075ec20ab6b39c63c4c140a798e19903
Bug-Url: https://bugzilla.redhat.com/1028739
Signed-off-by: Mike Kolesnik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
1 file changed, 27 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/93/21093/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 93ca3af..202eb75 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
@@ -1,6 +1,7 @@
 package org.ovirt.engine.core.bll.network.dc;
 
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.commons.lang.ObjectUtils;
 import org.ovirt.engine.core.bll.RenamedEntityInfoProvider;
@@ -51,6 +52,10 @@
 
     @Override
     protected boolean canDoAction() {
+        if (onlyPermittedFieldsChanged()) {
+            return true;
+        }
+
         NetworkValidator validatorNew = new NetworkValidator(getNetwork());
         UpdateNetworkValidator validatorOld = new 
UpdateNetworkValidator(getOldNetwork());
         return validate(validatorNew.dataCenterExists())
@@ -68,6 +73,28 @@
                 || 
validate(validatorOld.externalNetworkDetailsUnchanged(getNetwork())));
     }
 
+    /**
+     * @return <code>true</code> iff only the description or comment field 
were changed, otherwise <code>false</code>.
+     */
+    private boolean onlyPermittedFieldsChanged() {
+        Network oldNetwork = getOldNetwork();
+        Network newNetwork = getNetwork();
+
+        if (oldNetwork == null || newNetwork == null) {
+            return false;
+        }
+
+        return Objects.equals(oldNetwork.getName(), newNetwork.getName()) &&
+                Objects.equals(oldNetwork.getDataCenterId(), 
newNetwork.getDataCenterId()) &&
+                Objects.equals(oldNetwork.getId(), newNetwork.getId()) &&
+                Objects.equals(oldNetwork.getMtu(), newNetwork.getMtu()) &&
+                Objects.equals(oldNetwork.getName(), newNetwork.getName()) &&
+                Objects.equals(oldNetwork.getProvidedBy(), 
newNetwork.getProvidedBy()) &&
+                Objects.equals(oldNetwork.getStp(), newNetwork.getStp()) &&
+                Objects.equals(oldNetwork.getVlanId(), newNetwork.getVlanId()) 
&&
+                Objects.equals(oldNetwork.isVmNetwork(), 
newNetwork.isVmNetwork());
+    }
+
     private boolean oldAndNewNetworkIsNotExternal() {
         return !getOldNetwork().isExternal() && !getNetwork().isExternal();
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I670e862c075ec20ab6b39c63c4c140a798e19903
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Mike Kolesnik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to