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 <[email protected]>
Signed-off-by: Fred Rolland <[email protected]>
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 <[email protected]>
Gerrit-Reviewer: Freddy Rolland <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches