anmolbabu has uploaded a new change for review. Change subject: webadmin : Geo replication configuration pop up ......................................................................
webadmin : Geo replication configuration pop up Geo replication configuration pop up. Change-Id: I150946fe016d85cb378ed3d548eab5581321fbfe Signed-off-by: Anmol Babu <[email protected]> --- A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GeoRepConfigurationEntity.java A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ContextSensitiveEditTextOrTextCell.java A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EditTextORTextCell.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeGeoRepConfigurationModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/VolumeGeoRepConfigurationPopupPresenterWidget.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.xml 8 files changed, 264 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/17/34217/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GeoRepConfigurationEntity.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GeoRepConfigurationEntity.java new file mode 100644 index 0000000..0074b9d --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GeoRepConfigurationEntity.java @@ -0,0 +1,56 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + +import java.io.Serializable; + +import org.ovirt.engine.core.common.businessentities.BusinessEntity; +import org.ovirt.engine.core.common.businessentities.IVdcQueryable; + +public class GeoRepConfigurationEntity extends IVdcQueryable implements BusinessEntity{ + + private static final long serialVersionUID = 1L; + + private String configName; + private String configValue; + private boolean isEditable; + + public GeoRepConfigurationEntity() { + // TODO Auto-generated constructor stub + } + + public String getConfigName() { + return configName; + } + + public void setConfigName(String configName) { + this.configName = configName; + } + + public String getConfigValue() { + return configValue; + } + + public void setConfigValue(String configValue) { + this.configValue = configValue; + } + + public boolean isEditable() { + return isEditable; + } + + public void setEditable(boolean isEditable) { + this.isEditable = isEditable; + } + + @Override + public Serializable getId() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setId(Serializable id) { + // TODO Auto-generated method stub + + } + +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ContextSensitiveEditTextOrTextCell.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ContextSensitiveEditTextOrTextCell.java new file mode 100644 index 0000000..599dcf6 --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ContextSensitiveEditTextOrTextCell.java @@ -0,0 +1,35 @@ +package org.ovirt.engine.ui.common.widget.table.column; + +import com.google.gwt.cell.client.AbstractCell; +import com.google.gwt.core.client.GWT; +import com.google.gwt.safehtml.client.SafeHtmlTemplates; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; + +public class ContextSensitiveEditTextOrTextCell extends AbstractCell<EditTextORTextCell>{ + + interface Template extends SafeHtmlTemplates { + @Template("<input type=\"text\" value=\"{0}\" tabindex=\"-1\"></input>") + SafeHtml editableInput(String value); + + @Template("<input type=\"text\" value=\"{0}\" tabindex=\"-1\" readonly></input>") + SafeHtml nonEditableInput(String value); + } + + private static Template template; + + public ContextSensitiveEditTextOrTextCell() { + if(template == null) { + template = GWT.create(Template.class); + } + } + + @Override + public void render(Context context, EditTextORTextCell value, SafeHtmlBuilder sb) { + if(value.isEditable()) { + sb.append(template.editableInput(value.getText())); + } else { + sb.append(template.nonEditableInput(value.getText())); + } + } +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EditTextORTextCell.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EditTextORTextCell.java new file mode 100644 index 0000000..90db77a --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EditTextORTextCell.java @@ -0,0 +1,32 @@ +package org.ovirt.engine.ui.common.widget.table.column; + + +public class EditTextORTextCell { + private boolean editable; + private String text; + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public boolean isEditable() { + return editable; + } + + public void setEditable(boolean editable) { + this.editable = editable; + } + + public EditTextORTextCell(boolean editable, String text) { + this.editable = editable; + this.text = text; + } + + public EditTextORTextCell() { + + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeGeoRepConfigurationModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeGeoRepConfigurationModel.java new file mode 100644 index 0000000..7245783 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeGeoRepConfigurationModel.java @@ -0,0 +1,10 @@ +package org.ovirt.engine.ui.uicommonweb.models.gluster; + +import org.ovirt.engine.ui.uicommonweb.models.Model; + +public class VolumeGeoRepConfigurationModel extends Model { + + public VolumeGeoRepConfigurationModel() { + } + +} 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 d30bb88..20e0070 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 @@ -3910,4 +3910,13 @@ @DefaultStringValue("NUMA Support") String numaSupport(); + + @DefaultStringValue("Name") + String geoRepConfigName(); + + @DefaultStringValue("Value") + String geoRepConfigValue(); + + @DefaultStringValue("Reset to Default") + String geoRepConfigResetToDefaults(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/VolumeGeoRepConfigurationPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/VolumeGeoRepConfigurationPopupPresenterWidget.java new file mode 100644 index 0000000..998ce63 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/VolumeGeoRepConfigurationPopupPresenterWidget.java @@ -0,0 +1,18 @@ +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.VolumeGeoRepConfigurationModel; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class VolumeGeoRepConfigurationPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<VolumeGeoRepConfigurationModel, VolumeGeoRepConfigurationPopupPresenterWidget.ViewDef> { + + public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<VolumeGeoRepConfigurationModel> { + } + + @Inject + public VolumeGeoRepConfigurationPopupPresenterWidget(EventBus eventBus, ViewDef view) { + super(eventBus, view); + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.java new file mode 100644 index 0000000..0113c71 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.java @@ -0,0 +1,92 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster; + +import org.ovirt.engine.core.common.businessentities.gluster.GeoRepConfigurationEntity; +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.dialog.SimpleDialogPanel; +import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable; +import org.ovirt.engine.ui.common.widget.table.column.ContextSensitiveEditTextOrTextCell; +import org.ovirt.engine.ui.common.widget.table.column.EditTextCellWithTooltip; +import org.ovirt.engine.ui.common.widget.table.column.EditTextColumnWithTooltip; +import org.ovirt.engine.ui.common.widget.table.column.EditTextORTextCell; +import org.ovirt.engine.ui.common.widget.table.column.EntityModelTextColumn; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; +import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeGeoRepConfigurationModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationMessages; +import org.ovirt.engine.ui.webadmin.ApplicationResources; + +import com.google.gwt.cell.client.EditTextCell; +import com.google.gwt.core.client.GWT; +import com.google.gwt.editor.client.SimpleBeanEditorDriver; +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.cellview.client.Column; +import com.google.inject.Inject; + +public class VolumeGeoRepConfigurationPopupView extends AbstractModelBoundPopupView<VolumeGeoRepConfigurationModel> { + + interface Driver extends SimpleBeanEditorDriver<VolumeGeoRepConfigurationModel, VolumeGeoRepConfigurationPopupView> { + } + + interface ViewUiBinder extends UiBinder<SimpleDialogPanel, VolumeRebalanceStatusPopupView> { + ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); + } + + interface ViewIdHandler extends ElementIdHandler<VolumeRebalanceStatusPopupView> { + ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); + } + + private final Driver driver = GWT.create(Driver.class); + + @UiField(provided = true) + @Ignore + @WithElementId + EntityModelCellTable<ListModel<VolumeGeoRepConfigurationModel>> geoReplicationConfigurationTable; + + private ApplicationResources resources; + private ApplicationConstants constants; + private ApplicationMessages messages; + + @Inject + public VolumeGeoRepConfigurationPopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants, ApplicationMessages messages) { + super(eventBus, resources); + this.resources = resources; + this.constants = constants; + this.messages = messages; + initEditors(); + } + + private void initEditors() { + geoReplicationConfigurationTable = new EntityModelCellTable<ListModel<VolumeGeoRepConfigurationModel>>(); + + geoReplicationConfigurationTable.addEntityModelColumn(new EntityModelTextColumn<GeoRepConfigurationEntity>() { + @Override + protected String getText(GeoRepConfigurationEntity entity) { + return entity.getConfigName(); + } + }, constants.geoRepConfigName()); + + geoReplicationConfigurationTable.addColumn(new Column<GeoRepConfigurationEntity, EditTextORTextCell>(new ContextSensitiveEditTextOrTextCell()) { + + @Override + public EditTextORTextCell getValue(GeoRepConfigurationEntity object) { + return new EditTextORTextCell(object.isEditable(), object.getConfigValue()); + } + }, constants.geoRepConfigValue()); + + } + + @Override + public void edit(VolumeGeoRepConfigurationModel object) { + + } + + @Override + public VolumeGeoRepConfigurationModel flush() { + return driver.flush(); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.xml new file mode 100644 index 0000000..4e59866 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeGeoRepConfigurationPopupView.xml @@ -0,0 +1,12 @@ +<?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"> + + <d:SimpleDialogPanel width="1000px" height="550px"> + <d:content> + <e:EntityModelCellTable ui:field="geoReplicationConfigurationTable" /> + </d:content> + </d:SimpleDialogPanel> \ No newline at end of file -- To view, visit http://gerrit.ovirt.org/34217 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I150946fe016d85cb378ed3d548eab5581321fbfe Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: anmolbabu <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
