Kanagaraj M has uploaded a new change for review. Change subject: webadmin: Optimize for virt store while creating volume ......................................................................
webadmin: Optimize for virt store while creating volume 'Optimize for Virt Store' checkbox is added to the Create Volume dialog. Change-Id: I98e2e636a67e0b7f204e45a3e3d39bdec96eeeb0 Bug-Url: https://bugzilla.redhat.com/891493 Signed-off-by: Kanagaraj M <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.ui.xml 5 files changed, 53 insertions(+), 13 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/90/12490/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeModel.java index ed13e58..0624775 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeModel.java @@ -44,6 +44,7 @@ EntityModel nfs_accecssProtocol; EntityModel cifs_accecssProtocol; EntityModel allowAccess; + EntityModel optimizeForVirtStore; private UICommand addBricksCommand; @@ -166,6 +167,9 @@ setAllowAccess(new EntityModel()); getAllowAccess().setEntity("*"); //$NON-NLS-1$ + + setOptimizeForVirtStore(new EntityModel()); + getOptimizeForVirtStore().setEntity(false); } public EntityModel getName() { @@ -280,6 +284,14 @@ this.allowAccess = allowAccess; } + public EntityModel getOptimizeForVirtStore() { + return optimizeForVirtStore; + } + + public void setOptimizeForVirtStore(EntityModel optimizeForVirtStore) { + this.optimizeForVirtStore = optimizeForVirtStore; + } + public void addBricks(){ if (getWindow() != null || getCluster().getSelectedItem() == null) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java index cad6183..e4a8a73 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; @@ -410,9 +411,17 @@ } private void optimizeForVirtStore() { - if (getSelectedItems() == null) { + if (getSelectedItems() == null || getSelectedItems().size() == 0) { return; } + ArrayList<Guid> volumeIds = new ArrayList<Guid>(); + for (Object item : getSelectedItems()) { + volumeIds.add(((GlusterVolumeEntity) item).getId()); + } + optimizeVolumesForVirtStore(volumeIds); + } + + private void optimizeVolumesForVirtStore(final List<Guid> volumeList) { AsyncQuery aQuery = new AsyncQuery(); aQuery.setModel(this); aQuery.asyncCallback = new INewAsyncCallback() { @@ -437,24 +446,22 @@ String optionOwnerGroupVirt = (String) resultInner1; ArrayList<VdcActionParametersBase> list = new ArrayList<VdcActionParametersBase>(); - for (Object item : getSelectedItems()) + for (Guid volumeId : volumeList) { - GlusterVolumeEntity volume = (GlusterVolumeEntity) item; - GlusterVolumeOptionEntity optionGroup = new GlusterVolumeOptionEntity(); - optionGroup.setVolumeId(volume.getId()); + optionGroup.setVolumeId(volumeId); optionGroup.setKey("group"); //$NON-NLS-1$ optionGroup.setValue(optionGroupVirt); list.add(new GlusterVolumeOptionParameters(optionGroup)); GlusterVolumeOptionEntity optionOwnerUser = new GlusterVolumeOptionEntity(); - optionOwnerUser.setVolumeId(volume.getId()); + optionOwnerUser.setVolumeId(volumeId); optionOwnerUser.setKey("storage.owner-uid"); //$NON-NLS-1$ optionOwnerUser.setValue(optionOwnerUserVirt); list.add(new GlusterVolumeOptionParameters(optionOwnerUser)); GlusterVolumeOptionEntity optionOwnerGroup = new GlusterVolumeOptionEntity(); - optionOwnerGroup.setVolumeId(volume.getId()); + optionOwnerGroup.setVolumeId(volumeId); optionOwnerGroup.setKey("storage.owner-gid"); //$NON-NLS-1$ optionOwnerGroup.setValue(optionOwnerGroupVirt); list.add(new GlusterVolumeOptionParameters(optionOwnerGroup)); @@ -641,6 +648,10 @@ if (returnValue != null && returnValue.getSucceeded()) { cancel(); + Guid volumeId = (Guid) returnValue.getActionReturnValue(); + if ((Boolean) model.getOptimizeForVirtStore().getEntity()) { + optimizeVolumesForVirtStore(Arrays.asList(volumeId)); + } } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index 2be4c22..3baf34e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -2163,6 +2163,9 @@ @DefaultStringValue("(Comma separated list of IP addresses/hostnames)") String allowAccessFromLabelVolume(); + @DefaultStringValue("Optimize for Virt Store") + String optimizeForVirtStoreVolume(); + @DefaultStringValue("Name") String NameVolume(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.java index ba89933..1744c4d 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.java @@ -137,6 +137,11 @@ @Ignore Label messageLabel; + @UiField + @Path(value = "optimizeForVirtStore.entity") + @WithElementId + EntityModelCheckBoxEditor optmizeForVirtEditor; + @Inject public VolumePopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants) { super(eventBus, resources); @@ -205,6 +210,7 @@ cifs_accecssProtocolEditor.setLabel(constants.cifsVolume()); allowAccessEditor.setLabel(constants.allowAccessFromVolume()); allowAccessLabel.setText(constants.allowAccessFromLabelVolume()); + optmizeForVirtEditor.setLabel(constants.optimizeForVirtStoreVolume()); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.ui.xml index b7b544d..b60ba26 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumePopupView.ui.xml @@ -15,19 +15,20 @@ padding-top: 6px; padding-bottom: 6px; } + .label { font-size: 13px; padding: 0 5px; font-family: Verdana,sans-serif; line-height: 30px; } - + .sectionLabel { font-weight: bold; margin-top: 10px; margin-bottom: 5px; } - + .bricksLabel { font-size: 13px; padding: 0 5px; @@ -35,13 +36,13 @@ line-height: 30px; width: 190px; } - + .bricksCountLabel { font-size: 13px; padding-top:5px; color: #0000FF; } - + .transTypeLabel { font-size: 13px; padding: 0 5px; @@ -49,6 +50,11 @@ width: 175px; padding-top: 5px; } + + .explanationLabel { + font-style: italic; + padding-bottom: 10px; + } .messageLabel { color: #FF0000; @@ -59,7 +65,7 @@ </ui:style> - <d:SimpleDialogPanel width="450px" height="510px"> + <d:SimpleDialogPanel width="450px" height="550px"> <d:content> <g:VerticalPanel> <g:FlowPanel addStyleNames="{style.generalTabTopDecorator}"> @@ -89,7 +95,9 @@ <e:EntityModelCheckBoxEditor ui:field="nfs_accecssProtocolEditor"/> <e:EntityModelCheckBoxEditor ui:field="cifs_accecssProtocolEditor"/> <e:EntityModelTextBoxEditor ui:field="allowAccessEditor" /> - <g:Label ui:field="allowAccessLabel"></g:Label> + <g:Label ui:field="allowAccessLabel" addStyleNames="{style.explanationLabel}"/> + + <e:EntityModelCheckBoxEditor ui:field="optmizeForVirtEditor"/> <g:Label ui:field="messageLabel" addStyleNames="{style.messageLabel}" /> </g:VerticalPanel> -- To view, visit http://gerrit.ovirt.org/12490 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I98e2e636a67e0b7f204e45a3e3d39bdec96eeeb0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Kanagaraj M <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
