Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Use "dry run" to validate NIC label
......................................................................

webadmin: Use "dry run" to validate NIC label

When labelling an interface in the Setup Networks dialog, the
validation uses a mock bonding operation, but recent changes in the
dialog caused the mock operation's text to be displayed in the status
panel. Added a "dry run" mechanism which suppresses the update of the
status panel to fix this.

Change-Id: Ic110c6dd4198a03c3274dfbb9fe39a8687a9861a
Bug-Url: https://bugzilla.redhat.com/1115109
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/OperationCadidateEventArgs.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java
3 files changed, 19 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/30581/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
index a1c41b4..737bf77 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
@@ -207,17 +207,17 @@
         NetworkItemModel<?> op1 = nic1 == null ? network1 : nic1;
         NetworkItemModel<?> op2 = nic2 == null ? network2 : nic2;
 
-        return candidateOperation(op1, op2, drop);
+        return candidateOperation(op1, op2, drop, false);
     }
 
-    private boolean candidateOperation(NetworkItemModel<?> op1, 
NetworkItemModel<?> op2, boolean drop) {
+    private boolean candidateOperation(NetworkItemModel<?> op1, 
NetworkItemModel<?> op2, boolean drop, boolean dryRun) {
         if (op1 == null) {
             throw new IllegalArgumentException("null Operands"); //$NON-NLS-1$
         }
 
         NetworkOperation candidate = NetworkOperationFactory.operationFor(op1, 
op2, true);
 
-        if (drop) {
+        if (drop && !dryRun) {
             onOperation(candidate, candidate.getCommand(op1, op2, allNics));
         }
 
@@ -226,7 +226,7 @@
             currentCandidate = candidate;
             currentOp1 = op1;
             currentOp2 = op2;
-            getOperationCandidateEvent().raise(this, new 
OperationCadidateEventArgs(candidate, op1, op2, drop));
+            getOperationCandidateEvent().raise(this, new 
OperationCadidateEventArgs(candidate, op1, op2, drop, dryRun));
         }
         return !candidate.isNullOperation();
     }
@@ -295,9 +295,9 @@
         mockDst.setEntity(new VdsNetworkInterface());
         mockDst.setItems(new 
ArrayList<LogicalNetworkModel>(potentialNetworks));
 
-        boolean res = candidateOperation(mockSrc, mockDst, false);
+        boolean res = candidateOperation(mockSrc, mockDst, false, true);
         if (!res) {
-            candidateOperation(mockSrc, mockDst, true); // trick to get a 
red-highlighted error status
+            candidateOperation(mockSrc, mockDst, true, false); // trick to get 
a red-highlighted error status
         }
         return res;
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/OperationCadidateEventArgs.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/OperationCadidateEventArgs.java
index ba07147..30a20cd 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/OperationCadidateEventArgs.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/OperationCadidateEventArgs.java
@@ -15,15 +15,19 @@
 
     private final boolean drop;
 
+    private final boolean dryRun;
+
     public OperationCadidateEventArgs(NetworkOperation candidate,
             NetworkItemModel<?> op1,
             NetworkItemModel<?> op2,
-            boolean drop) {
+            boolean drop,
+            boolean dryRun) {
 
         this.candidate = candidate;
         this.op1 = op1;
         this.op2 = op2;
         this.drop = drop;
+        this.dryRun = dryRun;
     }
 
     public NetworkOperation getCandidate() {
@@ -42,4 +46,8 @@
         return drop;
     }
 
+    public boolean isDryRun() {
+        return dryRun;
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java
index 024c141..0a8e512 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java
@@ -150,6 +150,10 @@
                 NetworkItemModel<?> op1 = evtArgs.getOp1();
                 NetworkItemModel<?> op2 = evtArgs.getOp2();
 
+                if (evtArgs.isDryRun()) {
+                    return;
+                }
+
                 if (candidate == null) {
                     setErrorStatus(constants.noValidActionSetupNetwork());
                 } else {


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

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

Reply via email to