Hello Freddy Rolland,

I'd like you to do a code review.  Please visit

    http://gerrit.ovirt.org/37088

to review the following change.

Change subject: webadmin: When creating LUN disk populate the description with 
the LUN id
......................................................................

webadmin: When creating LUN disk populate the description with the LUN id

When creating a new LUN disk, populate the disk description with the last
four digits of the LUN id

Change-Id: Ife497d61e4799dec5db6b8fc5007cac743969b2b
Signed-off-by: Tal Nisan <tni...@redhat.com>
Signed-off-by: Fred Rolland <froll...@redhat.com>
Bug-Url: https://bugzilla.redhat.com/1064474
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/SanStorageModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
3 files changed, 49 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/37088/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/SanStorageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/SanStorageModel.java
index 41f2588..5af0a4a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/SanStorageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/SanStorageModel.java
@@ -18,8 +18,10 @@
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
 import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.models.Model;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.ValueEventArgs;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.Event;
+import org.ovirt.engine.ui.uicompat.EventDefinition;
 import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.ObservableCollection;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
@@ -444,6 +446,13 @@
         }
     }
 
+    private EventDefinition lunSelectionChangedEventDefinition = new 
EventDefinition("lunSelectionChanged", SanStorageModel.class); //$NON-NLS-1$
+    private Event lunSelectionChangedEvent = new 
Event(lunSelectionChangedEventDefinition);
+
+    public Event getLunSelectionChangedEvent() {
+        return lunSelectionChangedEvent;
+    }
+
     final IEventListener<PropertyChangedEventArgs> lunModelEventListener = new 
IEventListener<PropertyChangedEventArgs>() {
         @Override
         public void eventRaised(Event<? extends PropertyChangedEventArgs> ev, 
Object sender, PropertyChangedEventArgs args) {
@@ -454,7 +463,6 @@
                 if (!selectedLunModel.getIsSelected() || 
!getItems().iterator().hasNext()) {
                     return;
                 }
-
                 // Clear LUNs selection
                 for (Model model : (List<Model>) getItems()) {
                     if (model instanceof LunModel) {
@@ -481,6 +489,7 @@
                         }
                     }
                 }
+                lunSelectionChangedEvent.raise(this, new 
ValueEventArgs<LunModel>(selectedLunModel));
             }
         }
     };
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
index eb0589b..4dce09c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
@@ -609,7 +609,7 @@
         return isStatusUp;
     }
 
-    private void diskStorageType_EntityChanged() {
+    protected void diskStorageType_EntityChanged() {
         boolean isInVm = getVm() != null;
         boolean isDiskImage = getDiskStorageType().getEntity() == 
DiskStorageType.IMAGE;
         boolean isLunDisk = getDiskStorageType().getEntity() == 
DiskStorageType.LUN;
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
index 2910679..bcd2703 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
@@ -21,10 +21,16 @@
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemType;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.ValueEventArgs;
+import org.ovirt.engine.ui.uicommonweb.models.storage.LunModel;
+import org.ovirt.engine.ui.uicommonweb.models.storage.SanStorageModel;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation;
+import org.ovirt.engine.ui.uicompat.Event;
+import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult;
+import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback;
 
 public class NewDiskModel extends AbstractDiskModel
@@ -181,4 +187,36 @@
         getVolumeType().setSelectedItem(storageType.isBlockDomain() ? 
VolumeType.Preallocated : VolumeType.Sparse);
         volumeType_SelectedItemChanged();
     }
+
+    private boolean descriptionDerivedFromLunId;
+
+    @Override
+    public void setSanStorageModel(SanStorageModel sanStorageModel) {
+        super.setSanStorageModel(sanStorageModel);
+        sanStorageModel.getLunSelectionChangedEvent().getListeners().clear();
+        sanStorageModel.getLunSelectionChangedEvent().addListener(new 
IEventListener() {
+            @Override
+            public void eventRaised(Event ev, Object sender, EventArgs args) {
+                String description = getDescription().getEntity();
+                if (description == null || description.isEmpty() ||
+                    (!description.isEmpty() && descriptionDerivedFromLunId)) {
+                        LunModel selectedLunModel = 
((ValueEventArgs<LunModel>) args).getValue();
+                        if (selectedLunModel.getLunId() != null) {
+                            String newDescription = 
selectedLunModel.getLunId().substring(selectedLunModel.getLunId().length() - 4);
+                            getDescription().setEntity(newDescription);
+                            descriptionDerivedFromLunId = true;
+                        }
+                    }
+                }
+            });
+    }
+
+    @Override
+    protected void diskStorageType_EntityChanged() {
+        super.diskStorageType_EntityChanged();
+        if (descriptionDerivedFromLunId) {
+            getDescription().setEntity(null);
+        }
+        descriptionDerivedFromLunId = false;
+    }
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ife497d61e4799dec5db6b8fc5007cac743969b2b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tal Nisan <tni...@redhat.com>
Gerrit-Reviewer: Freddy Rolland <froll...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to