anmolbabu has uploaded a new change for review. Change subject: webadmin : Geo-Replication action confirmation popup ......................................................................
webadmin : Geo-Replication action confirmation popup Geo-Replication action confirmation popup Change-Id: Ib9bf8f15ca617de36b149b17b6ded7a81e52ab4b Signed-off-by: Anmol Babu <anb...@redhat.com> --- A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/GlusterVolumeGeoRepActionConfirmationModel.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/gin/PresenterModule.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.ui.xml 6 files changed, 305 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/32/39632/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/GlusterVolumeGeoRepActionConfirmationModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/GlusterVolumeGeoRepActionConfirmationModel.java new file mode 100644 index 0000000..963113e --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/GlusterVolumeGeoRepActionConfirmationModel.java @@ -0,0 +1,85 @@ +package org.ovirt.engine.ui.uicommonweb.models.gluster; + +import org.ovirt.engine.core.common.businessentities.gluster.GlusterGeoRepSession; +import org.ovirt.engine.ui.uicommonweb.models.EntityModel; +import org.ovirt.engine.ui.uicommonweb.models.Model; +import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; + + +public class GlusterVolumeGeoRepActionConfirmationModel extends Model { + private EntityModel<String> masterVolume; + private EntityModel<String> slaveVolume; + private EntityModel<String> slaveHost; + private EntityModel<Boolean> force; + private String forceLabel; + private String forceHelp; + + public GlusterVolumeGeoRepActionConfirmationModel() { + init(); + } + + private void init() { + setMasterVolume(new EntityModel<String>()); + setSlaveVolume(new EntityModel<String>()); + setSlaveHost(new EntityModel<String>()); + setForce(new EntityModel<Boolean>()); + + } + + protected void initWindow(GlusterGeoRepSession selectedSession) { + getForce().setEntity(false); + getMasterVolume().setEntity(selectedSession.getMasterVolumeName()); + getSlaveVolume().setEntity(selectedSession.getSlaveVolumeName()); + getSlaveHost().setEntity(selectedSession.getSlaveHostName()); + } + + public EntityModel<String> getMasterVolume() { + return masterVolume; + } + + public void setMasterVolume(EntityModel<String> masterVolume) { + this.masterVolume = masterVolume; + } + + public EntityModel<String> getSlaveVolume() { + return slaveVolume; + } + + public void setSlaveVolume(EntityModel<String> slaveVolume) { + this.slaveVolume = slaveVolume; + } + + public EntityModel<String> getSlaveHost() { + return slaveHost; + } + + public void setSlaveHost(EntityModel<String> slaveHost) { + this.slaveHost = slaveHost; + } + + public EntityModel<Boolean> getForce() { + return force; + } + + public void setForce(EntityModel<Boolean> force) { + this.force = force; + } + + public String getForceLabel() { + return forceLabel; + } + + public String getForceHelp() { + return forceHelp; + } + + public void setForceHelp(String forceHelp) { + this.forceHelp = forceHelp; + onPropertyChanged(new PropertyChangedEventArgs("forceHelp"));//$NON-NLS-1$ + } + + public void setForceLabel(String forceLabel) { + this.forceLabel = forceLabel; + onPropertyChanged(new PropertyChangedEventArgs("forceLabel"));//$NON-NLS-1$ + } +} 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 302f510..0a7a791 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 @@ -3900,4 +3900,14 @@ @DefaultStringValue("It is suggested to optimise a Volume for virt store if the volume is of replica-3 type") String newVolumeOptimiseForVirtStoreWarning(); + + @DefaultStringValue("Master Volume") + String geoRepMasterVolume(); + + @DefaultStringValue("Host name (or) IP") + String geoRepSlaveHostIp(); + + @DefaultStringValue("Slave Volume") + String geoRepSlaveVolume(); + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java index f003ee4..2af7153 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java @@ -42,6 +42,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.AddBrickPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.BrickAdvancedDetailsPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.DetachGlusterHostsPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.RemoveBrickPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.RemoveBrickStatusPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.ReplaceBrickPopupPresenterWidget; @@ -277,6 +278,7 @@ import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.AddBrickPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.BrickAdvancedDetailsPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.DetachGlusterHostsPopupView; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.GeoRepActionConfirmPopUpView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.RemoveBrickPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.RemoveBrickStatusPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.ReplaceBrickPopupView; @@ -1155,6 +1157,10 @@ VolumeRebalanceStatusPopupPresenterWidget.ViewDef.class, VolumeRebalanceStatusPopupView.class); + bindPresenterWidget(GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.class, + GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.ViewDef.class, + GeoRepActionConfirmPopUpView.class); + bindPresenterWidget(RemoveBrickStatusPopupPresenterWidget.class, RemoveBrickStatusPopupPresenterWidget.ViewDef.class, RemoveBrickStatusPopupView.class); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.java new file mode 100644 index 0000000..a2205ac --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.java @@ -0,0 +1,43 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster; + +import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; +import org.ovirt.engine.ui.uicommonweb.models.gluster.GlusterVolumeGeoRepActionConfirmationModel; +import org.ovirt.engine.ui.uicompat.Event; +import org.ovirt.engine.ui.uicompat.EventArgs; +import org.ovirt.engine.ui.uicompat.IEventListener; +import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget extends AbstractModelBoundPopupPresenterWidget<GlusterVolumeGeoRepActionConfirmationModel, GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.ViewDef> { + + @Inject + public GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget(EventBus eventBus, ViewDef view) { + super(eventBus, view); + } + + @Override + public void init(final GlusterVolumeGeoRepActionConfirmationModel model) { + super.init(model); + + model.getPropertyChangedEvent().addListener(new IEventListener() { + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + if(((PropertyChangedEventArgs)args).propertyName.equalsIgnoreCase("forceLabel")) {//$NON-NLS-1$ + if(model.getForceLabel() != null) { + getView().setForceLabelMessage(model); + } + } else if(((PropertyChangedEventArgs)args).propertyName.equalsIgnoreCase("forceHelp")) {//$NON-NLS-1$ + getView().setForceHelp(model); + } + } + }); + } + + public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<GlusterVolumeGeoRepActionConfirmationModel> { + public void setForceLabelMessage(GlusterVolumeGeoRepActionConfirmationModel object); + public void setForceHelp(GlusterVolumeGeoRepActionConfirmationModel object); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.java new file mode 100644 index 0000000..f980688 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.java @@ -0,0 +1,125 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster; + +import org.ovirt.engine.ui.common.CommonApplicationTemplates; +import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; +import org.ovirt.engine.ui.common.idhandler.WithElementId; +import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView; +import org.ovirt.engine.ui.common.widget.Align; +import org.ovirt.engine.ui.common.widget.dialog.InfoIcon; +import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel; +import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor; +import org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelLabelEditor; +import org.ovirt.engine.ui.uicommonweb.models.gluster.GlusterVolumeGeoRepActionConfirmationModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationResources; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.editor.client.SimpleBeanEditorDriver; +import com.google.gwt.editor.client.Editor.Ignore; +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.resources.client.CssResource; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.inject.Inject; + +public class GeoRepActionConfirmPopUpView extends AbstractModelBoundPopupView<GlusterVolumeGeoRepActionConfirmationModel> implements GlusterVolumeGeoRepActionConfirmPopUpViewPresenterWidget.ViewDef { + + interface Driver extends SimpleBeanEditorDriver<GlusterVolumeGeoRepActionConfirmationModel, GeoRepActionConfirmPopUpView> { + } + + interface ViewUiBinder extends UiBinder<SimpleDialogPanel, GeoRepActionConfirmPopUpView> { + ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); + } + + interface ViewIdHandler extends ElementIdHandler<GeoRepActionConfirmPopUpView> { + ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); + } + + @UiField + WidgetStyle style; + + @UiField + @Path("masterVolume.entity") + @WithElementId + StringEntityModelLabelEditor masterVolumeEditor; + + @UiField + @Path("slaveVolume.entity") + @WithElementId + StringEntityModelLabelEditor slaveVolumeEditor; + + @UiField + @Path("slaveHost.entity") + @WithElementId + StringEntityModelLabelEditor slaveHostEditor; + + @UiField(provided = true) + @Path("force.entity") + @WithElementId + EntityModelCheckBoxEditor forceEditor; + + @UiField(provided = true) + @Ignore + InfoIcon geoRepForceHelpIcon; + + private ApplicationConstants constants; + private ApplicationResources resources; + private CommonApplicationTemplates templates; + + private final Driver driver = GWT.create(Driver.class); + + @Inject + public GeoRepActionConfirmPopUpView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants, CommonApplicationTemplates applicationTemplates) { + super(eventBus, resources); + this.constants = constants; + this.resources = resources; + this.templates = applicationTemplates; + initEditors(); + initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); + ViewIdHandler.idHandler.generateAndSetIds(this); + localize(); + addStyles(); + driver.initialize(this); + } + + private void addStyles() { + forceEditor.addContentWidgetStyleName(style.checkBoxEditorWidget()); + } + + private void localize() { + masterVolumeEditor.setLabel(constants.geoRepMasterVolume()); + slaveVolumeEditor.setLabel(constants.geoRepSlaveVolume()); + slaveHostEditor.setLabel(constants.geoRepSlaveHostIp()); + } + + @Override + public void setForceLabelMessage(GlusterVolumeGeoRepActionConfirmationModel object) { + forceEditor.setLabel(object.getForceLabel() == null ? constants.notAvailableLabel() : object.getForceLabel()); + forceEditor.setVisible(object.getForceLabel() != null); + } + + private void initEditors() { + forceEditor = new EntityModelCheckBoxEditor(Align.RIGHT); + geoRepForceHelpIcon = new InfoIcon(templates.italicText(constants.notAvailableLabel()), resources); + } + + @Override + public void edit(final GlusterVolumeGeoRepActionConfirmationModel object) { + driver.edit(object); + } + + @Override + public void setForceHelp(GlusterVolumeGeoRepActionConfirmationModel object) { + geoRepForceHelpIcon.setText(templates.italicText(object.getForceHelp())); + } + + @Override + public GlusterVolumeGeoRepActionConfirmationModel flush() { + return driver.flush(); + } + + interface WidgetStyle extends CssResource { + String checkBoxEditorWidget(); + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.ui.xml new file mode 100644 index 0000000..673c2f1 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/GeoRepActionConfirmPopUpView.ui.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" + xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" + xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor" xmlns:w="urn:import:org.ovirt.engine.ui.common.widget" + xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic"> + <ui:style + type="org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster.GeoRepActionConfirmPopUpView.WidgetStyle"> + .labelStyle { + font-size: 20px; + } + + .checkBoxEditorWidget { + width: 150px; + } + + .geoRepForceHelpIcon { + display: inline-block; + } + + </ui:style> + + <d:SimpleDialogPanel width="480px" height="300px"> + <d:content> + <g:FlowPanel> + <ge:StringEntityModelLabelEditor ui:field="masterVolumeEditor" /> + <ge:StringEntityModelLabelEditor ui:field="slaveVolumeEditor" /> + <ge:StringEntityModelLabelEditor ui:field="slaveHostEditor" /> + <g:HorizontalPanel> + <ge:EntityModelCheckBoxEditor ui:field="forceEditor" /> + <d:InfoIcon ui:field="geoRepForceHelpIcon" /> + </g:HorizontalPanel> + </g:FlowPanel> + </d:content> + </d:SimpleDialogPanel> +</ui:UiBinder> -- To view, visit https://gerrit.ovirt.org/39632 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib9bf8f15ca617de36b149b17b6ded7a81e52ab4b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5-gluster Gerrit-Owner: anmolbabu <anb...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches