Alona Kaplan has uploaded a new change for review. Change subject: webadmin: add Network Provider tab to add host ......................................................................
webadmin: add Network Provider tab to add host Change-Id: I0a23854ea8db144f375aae768867bf233c930e4e Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.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/host/HostPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml 5 files changed, 234 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/45/16045/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index e0ec712..37b6c59 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -1099,6 +1099,9 @@ @DefaultStringValue("SPM Priority") String spmPriority(); + @DefaultStringValue("QPID") + String qpid(); + @DefaultStringValue("Refresh Rate") String refreshRate(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java index 2de46c4..ca8f12d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java @@ -8,11 +8,12 @@ import org.ovirt.engine.core.common.businessentities.FenceAgentOrder; import org.ovirt.engine.core.common.businessentities.FenceStatusReturnValue; +import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VdsStatic; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.mode.ApplicationMode; import org.ovirt.engine.core.common.queries.GetNewVdsFenceStatusParameters; import org.ovirt.engine.core.common.queries.ValueObjectMap; @@ -39,12 +40,12 @@ import org.ovirt.engine.ui.uicommonweb.validation.KeyValuePairValidation; import org.ovirt.engine.ui.uicommonweb.validation.LengthValidation; import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation; -import org.ovirt.engine.ui.uicompat.UIConstants; import org.ovirt.engine.ui.uicompat.ConstantsManager; 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 org.ovirt.engine.ui.uicompat.UIConstants; public abstract class HostModel extends Model { @@ -652,6 +653,65 @@ privateProviders = value; } + private ListModel externalProviders; + + public void setExternalProviders(ListModel externalProviders) { + this.externalProviders = externalProviders; + } + + public ListModel getExternalProviders() { + return externalProviders; + } + + private EntityModel hostIp; + + public EntityModel getHostIp() { + return hostIp; + } + + public void setHostIp(EntityModel hostIp) { + this.hostIp = hostIp; + } + + private EntityModel qpidPort; + + public EntityModel getQpidPort() { + return qpidPort; + } + + public void setQpidPort(EntityModel qpidPort) { + this.qpidPort = qpidPort; + } + + private EntityModel userName; + + public EntityModel getUserName() { + return userName; + } + + public void setUserName(EntityModel userName) { + this.userName = userName; + } + + private EntityModel password; + + public EntityModel getPassword() { + return password; + } + + public void setPassword(EntityModel password) { + this.password = password; + } + private EntityModel interfaceMappings; + + public EntityModel getInterfaceMappings() { + return interfaceMappings; + } + + public void setInterfaceMappings(EntityModel interfaceMappings) { + this.interfaceMappings = interfaceMappings; + } + public HostModel() { setTestCommand(new UICommand("Test", new ICommandTarget() { //$NON-NLS-1$ @@ -795,6 +855,60 @@ setSpmPriority(new ListModel()); initSpmPriorities(); + + setHostIp(new EntityModel()); + setQpidPort(new EntityModel()); + setUserName(new EntityModel()); + setPassword(new EntityModel()); + + setInterfaceMappings(new EntityModel()); + + setExternalProviders(new ListModel()); + getExternalProviders().getSelectedItemChangedEvent().addListener(new IEventListener() { + + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + onExternalProviderChanged(); + } + }); + + onExternalProviderChanged(); + initExternalNetworksList(); + } + + private void onExternalProviderChanged() { + if (getExternalProviders().getSelectedItem() == null) { + getHostIp().setIsChangable(false); + getQpidPort().setIsChangable(false); + getUserName().setIsChangable(false); + getPassword().setIsChangable(false); + + getHostIp().setEntity(null); + getQpidPort().setEntity(null); + getUserName().setEntity(null); + getPassword().setEntity(null); + + } else { + getHostIp().setIsChangable(true); + getQpidPort().setIsChangable(true); + getUserName().setIsChangable(true); + getPassword().setIsChangable(true); + } + } + + private void initExternalNetworksList() { + AsyncQuery getProvidersQuery = new AsyncQuery(); + getProvidersQuery.asyncCallback = new INewAsyncCallback() { + @Override + public void onSuccess(Object model, Object result) + { + ArrayList<Provider> providers = (ArrayList<Provider>) result; + providers.add(0, null); + getExternalProviders().setItems(providers); + getExternalProviders().setSelectedItem(null); + } + }; + AsyncDataProvider.GetAllProviders(getProvidersQuery); } private void proxyUp() { 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 fc2c309..91c3a3b 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 @@ -2,6 +2,8 @@ import org.ovirt.engine.ui.common.CommonApplicationConstants; +import com.google.gwt.i18n.client.Constants.DefaultStringValue; + public interface ApplicationConstants extends CommonApplicationConstants { @DefaultStringValue("oVirt Engine Web Administration") @@ -162,6 +164,21 @@ @DefaultStringValue("External Provider") String externalProviderLabel(); + + @DefaultStringValue("Host ip") + String hostIp(); + + @DefaultStringValue("Port") + String port(); + + @DefaultStringValue("User Name") + String userName(); + + @DefaultStringValue("Password") + String password(); + + @DefaultStringValue("Interface Mappings") + String interfaceMappings(); @DefaultStringValue("NetworkLabel") String networkLabel(); @@ -475,6 +492,9 @@ @DefaultStringValue("Console") String consoleButtonLabel(); + @DefaultStringValue("Network Provider") + String networkProviderButtonLabel(); + @DefaultStringValue("Override display address") String enableConsoleAddressOverride(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java index c6b6b1f..0de4c77 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java @@ -3,9 +3,9 @@ import java.util.List; import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSGroup; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.mode.ApplicationMode; import org.ovirt.engine.ui.common.CommonApplicationTemplates; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; @@ -278,9 +278,13 @@ @UiField @Ignore + DialogTab networkProviderTab; + + @UiField + @Ignore VerticalPanel spmPanel; - @UiField(provided=true) + @UiField(provided = true) @Ignore InfoIcon consoleAddressInfoIcon; @@ -307,6 +311,36 @@ @UiField FlowPanel externalProviderPanel; + @UiField(provided = true) + @Path(value = "externalProviders.selectedItem") + @WithElementId("externalProviders") + public ListModelListBoxEditor<Object> externalProviderEditor; + + @UiField + @Path(value = "hostIp.entity") + @WithElementId("hostIp") + EntityModelTextBoxEditor hostIp; + + @UiField + @Path(value = "qpidPort.entity") + @WithElementId("qpidPort") + EntityModelTextBoxEditor qpidPort; + + @UiField + @Path(value = "userName.entity") + @WithElementId("userName") + EntityModelTextBoxEditor userName; + + @UiField + @Path(value = "password.entity") + @WithElementId("password") + EntityModelTextBoxEditor password; + + @UiField + @Path(value = "interfaceMappings.entity") + @WithElementId("interfaceMappings") + EntityModelTextBoxEditor interfaceMappings; + private final Driver driver = GWT.create(Driver.class); private final CommonApplicationTemplates applicationTemplates; @@ -314,7 +348,10 @@ private final ApplicationResources resources; @Inject - public HostPopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants, CommonApplicationTemplates applicationTemplates) { + public HostPopupView(EventBus eventBus, + ApplicationResources resources, + ApplicationConstants constants, + CommonApplicationTemplates applicationTemplates) { super(eventBus, resources); this.resources = resources; this.applicationTemplates = applicationTemplates; @@ -331,7 +368,8 @@ private void initInfoIcon(ApplicationConstants constants) { consoleAddressInfoIcon = - new InfoIcon(applicationTemplates.italicText(constants.enableConsoleAddressOverrideHelpMessage()), resources); //$NON-NLS-1$ + new InfoIcon(applicationTemplates.italicText(constants.enableConsoleAddressOverrideHelpMessage()), + resources); //$NON-NLS-1$ providerSearchInfoIcon = new InfoIcon(applicationTemplates.italicText(constants.providerSearchInfo()), resources); } @@ -400,6 +438,13 @@ // Check boxes pmEnabledEditor = new EntityModelCheckBoxEditor(Align.RIGHT); externalHostProviderEnabledEditor = new EntityModelCheckBoxEditor(Align.RIGHT); + + externalProviderEditor = new ListModelListBoxEditor<Object>(new NullSafeRenderer<Object>() { + @Override + public String renderNullSafe(Object object) { + return ((Provider) object).getName(); + } + }); } void localize(ApplicationConstants constants) { @@ -450,6 +495,15 @@ // SPM tab spmTab.setLabel(constants.spmTestButtonLabel()); consoleTab.setLabel(constants.consoleButtonLabel()); + + // Network Provider Tab + networkProviderTab.setLabel(constants.networkProviderButtonLabel()); + externalProviderEditor.setLabel(constants.externalProviderLabel()); + hostIp.setLabel(constants.hostIp()); + qpidPort.setLabel(constants.port()); + userName.setLabel(constants.userName()); + password.setLabel(constants.password()); + interfaceMappings.setLabel(constants.interfaceMappings()); } private void applyModeCustomizations() { @@ -540,7 +594,7 @@ @Override public void eventRaised(Event ev, Object sender, EventArgs args) { PropertyChangedEventArgs e = (PropertyChangedEventArgs) args; - if (e.PropertyName == "IsChangable") { //$NON-NLS-1$ + if (e.PropertyName == "IsChangable") { //$NON-NLS-1$ proxyListBox.setEnabled(object.getPmProxyPreferencesList().getIsChangable()); } } @@ -553,8 +607,8 @@ List items = (List) object.getPmProxyPreferencesList().getItems(); Object selectedItem = proxyListBox.getSelectedIndex() >= 0 - ? items.get(proxyListBox.getSelectedIndex()) - : null; + ? items.get(proxyListBox.getSelectedIndex()) + : null; object.getPmProxyPreferencesList().setSelectedItem(selectedItem); } @@ -573,7 +627,6 @@ object.getSpmPriority().getSelectedItemChangedEvent().addListener(spmListener); createSpmControls(object); - // Wire events on power management related controls. object.getPmVariants().getSelectedItemChangedEvent().addListener(new IEventListener() { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml index 1a1bf39..59f4d52 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml @@ -149,6 +149,21 @@ .emptyEditor { display: none; } + + .qpidPanel { + background-color: #D3D3D3; + } + + .qpidInnerPanel { + padding-left: 20px; + } + + .qpidHeader { + font-weight: bold; + margin-top: 10px; + margin-bottom: 10px; + paading-right: 6px; + } </ui:style> @@ -267,6 +282,25 @@ </t:content> </t:DialogTab> </t:tab> + <t:tab> + <t:DialogTab ui:field="networkProviderTab"> + <t:content> + <g:FlowPanel> + <e:ListModelListBoxEditor ui:field="externalProviderEditor"/> + <g:FlowPanel addStyleNames="{style.qpidPanel}"> + <g:Label text="{constants.qpid}" addStyleNames="{style.qpidHeader}"/> + <g:FlowPanel addStyleNames="{style.qpidInnerPanel}"> + <e:EntityModelTextBoxEditor ui:field="hostIp"/> + <e:EntityModelTextBoxEditor ui:field="qpidPort"/> + <e:EntityModelTextBoxEditor ui:field="userName"/> + <e:EntityModelTextBoxEditor ui:field="password"/> + </g:FlowPanel> + </g:FlowPanel> + <e:EntityModelTextBoxEditor ui:field="interfaceMappings"/> + </g:FlowPanel> + </t:content> + </t:DialogTab> + </t:tab> </t:DialogTabPanel> </d:content> </d:SimpleDialogPanel> -- To view, visit http://gerrit.ovirt.org/16045 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0a23854ea8db144f375aae768867bf233c930e4e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches