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