Alexander Wels has uploaded a new change for review. Change subject: webadmin: Host General sub tab ......................................................................
webadmin: Host General sub tab - The number of fields in the host general sub tab is becoming unmanageable so we are breaking the general sub tab out into 3 sub sub tabs. - Info General information that changes relatively often. - Software The software running on the host. - Hardware This removes the hardware sub tab and moves it under the General sub tab. Change-Id: Ie70cee7d4c5742a51ba6084968cf8617d0e2680e Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1184551 Signed-off-by: Alexander Wels <aw...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/place/WebAdminApplicationPlaces.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/tab/host/HostGeneralSubTabPanelPresenter.java R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralHardwarePresenter.java R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralInfoPresenter.java C frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralSoftwarePresenter.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/HostGeneralSubTabPanelView.java R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.java R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.ui.xml R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.ui.xml A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.ui.xml D frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.ui.xml 15 files changed, 390 insertions(+), 146 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/37387/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/place/WebAdminApplicationPlaces.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/place/WebAdminApplicationPlaces.java index ae94b19..12b5b74 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/place/WebAdminApplicationPlaces.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/place/WebAdminApplicationPlaces.java @@ -196,8 +196,14 @@ public static final String hostGeneralSubTabPlace = hostMainTabPlace + SUB_TAB_PREFIX + "general"; //$NON-NLS-1$ - public static final String hostHardwareSubTabPlace = hostMainTabPlace + SUB_TAB_PREFIX - + "hardware"; //$NON-NLS-1$ + public static final String hostGeneralSoftwareSubTabPlace = hostGeneralSubTabPlace + + "_software"; //$NON-NLS-1$ + + public static final String hostGeneralHardwareSubTabPlace = hostGeneralSubTabPlace + + "_hardware"; //$NON-NLS-1$ + + public static final String hostGeneralInfoSubTabPlace = hostGeneralSubTabPlace + + "_info"; //$NON-NLS-1$ public static final String hostVmSubTabPlace = hostMainTabPlace + SUB_TAB_PREFIX + "virtual_machines"; //$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 c5bdc1d..1fa3312 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 @@ -509,8 +509,14 @@ @DefaultStringValue("General") String hostGeneralSubTabLabel(); - @DefaultStringValue("Hardware Information") - String hostHardwareSubTabLabel(); + @DefaultStringValue("Info") + String hostGeneralInfoSubTabLabel(); + + @DefaultStringValue("Software") + String hostGeneralSoftwareSubTabLabel(); + + @DefaultStringValue("Hardware") + String hostGeneralHardwareSubTabLabel(); @DefaultStringValue("Virtual Machines") String hostVmSubTabLabel(); 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 9b8d952..e980534 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 @@ -171,12 +171,14 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.gluster.SubTabVolumeParameterPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.gluster.SubTabVolumePermissionPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.gluster.VolumeSubTabPanelPresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.HostGeneralSubTabPanelPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.HostSubTabPanelPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostBrickPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostEventPresenter; -import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralPresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralInfoPresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralSoftwarePresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGlusterSwiftPresenter; -import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHardwarePresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralHardwarePresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHookPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostInterfacePresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostPermissionPresenter; @@ -417,12 +419,14 @@ import org.ovirt.engine.ui.webadmin.section.main.view.tab.gluster.SubTabVolumeParameterView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.gluster.SubTabVolumePermissionView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.gluster.VolumeSubTabPanelView; +import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.HostGeneralSubTabPanelView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.HostSubTabPanelView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostBrickView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostEventView; -import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostGeneralView; +import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostGeneralInfoView; +import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostGeneralSoftwareView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostGlusterSwiftView; -import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostHardwareView; +import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostGeneralHardwareView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostHookView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostInterfaceView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostPermissionView; @@ -790,14 +794,22 @@ HostSubTabPanelPresenter.ViewDef.class, HostSubTabPanelView.class, HostSubTabPanelPresenter.ProxyDef.class); - bindPresenter(SubTabHostGeneralPresenter.class, - SubTabHostGeneralPresenter.ViewDef.class, - SubTabHostGeneralView.class, - SubTabHostGeneralPresenter.ProxyDef.class); - bindPresenter(SubTabHostHardwarePresenter.class, - SubTabHostHardwarePresenter.ViewDef.class, - SubTabHostHardwareView.class, - SubTabHostHardwarePresenter.ProxyDef.class); + bindPresenter(HostGeneralSubTabPanelPresenter.class, + HostGeneralSubTabPanelPresenter.ViewDef.class, + HostGeneralSubTabPanelView.class, + HostGeneralSubTabPanelPresenter.ProxyDef.class); + bindPresenter(SubTabHostGeneralSoftwarePresenter.class, + SubTabHostGeneralSoftwarePresenter.ViewDef.class, + SubTabHostGeneralSoftwareView.class, + SubTabHostGeneralSoftwarePresenter.ProxyDef.class); + bindPresenter(SubTabHostGeneralInfoPresenter.class, + SubTabHostGeneralInfoPresenter.ViewDef.class, + SubTabHostGeneralInfoView.class, + SubTabHostGeneralInfoPresenter.ProxyDef.class); + bindPresenter(SubTabHostGeneralHardwarePresenter.class, + SubTabHostGeneralHardwarePresenter.ViewDef.class, + SubTabHostGeneralHardwareView.class, + SubTabHostGeneralHardwarePresenter.ProxyDef.class); bindPresenter(SubTabHostVmPresenter.class, SubTabHostVmPresenter.ViewDef.class, SubTabHostVmView.class, diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/HostGeneralSubTabPanelPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/HostGeneralSubTabPanelPresenter.java new file mode 100644 index 0000000..3ab9164 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/HostGeneralSubTabPanelPresenter.java @@ -0,0 +1,84 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host; + +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.ui.common.presenter.DynamicTabContainerPresenter.DynamicTabPanel; +import org.ovirt.engine.ui.common.presenter.AbstractSubTabPresenter; +import org.ovirt.engine.ui.common.presenter.ScrollableTabBarPresenterWidget; +import org.ovirt.engine.ui.common.uicommon.model.DetailModelProvider; +import org.ovirt.engine.ui.common.widget.tab.ModelBoundTabData; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostGeneralModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; +import org.ovirt.engine.ui.uicommonweb.place.WebAdminApplicationPlaces; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.section.main.presenter.AbstractSubTabPanelPresenter; + +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.event.shared.GwtEvent.Type; +import com.google.inject.Inject; +import com.gwtplatform.mvp.client.ChangeTabHandler; +import com.gwtplatform.mvp.client.PresenterWidget; +import com.gwtplatform.mvp.client.RequestTabsHandler; +import com.gwtplatform.mvp.client.TabData; +import com.gwtplatform.mvp.client.annotations.ChangeTab; +import com.gwtplatform.mvp.client.annotations.ContentSlot; +import com.gwtplatform.mvp.client.annotations.NameToken; +import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit; +import com.gwtplatform.mvp.client.annotations.RequestTabs; +import com.gwtplatform.mvp.client.annotations.TabInfo; +import com.gwtplatform.mvp.client.proxy.RevealContentHandler; +import com.gwtplatform.mvp.client.proxy.TabContentProxy; +import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace; + +public class HostGeneralSubTabPanelPresenter extends AbstractSubTabPanelPresenter< + HostGeneralSubTabPanelPresenter.ViewDef, HostGeneralSubTabPanelPresenter.ProxyDef> { + + @ProxyCodeSplit + @NameToken(WebAdminApplicationPlaces.hostGeneralSubTabPlace) + public interface ProxyDef extends TabContentProxyPlace<HostGeneralSubTabPanelPresenter> { + } + + public interface ViewDef extends AbstractSubTabPanelPresenter.ViewDef, DynamicTabPanel { + } + + @RequestTabs + public static final Type<RequestTabsHandler> TYPE_RequestTabs = new Type<RequestTabsHandler>(); + + @ChangeTab + public static final Type<ChangeTabHandler> TYPE_ChangeTab = new Type<ChangeTabHandler>(); + + @ContentSlot + public static final Type<RevealContentHandler<?>> TYPE_SetTabContent = new Type<RevealContentHandler<?>>(); + + private AbstractSubTabPresenter<VDS, HostListModel, HostGeneralModel, + ? extends AbstractSubTabPresenter.ViewDef<VDS>, ? extends TabContentProxyPlace<?>> lastPresenter; + + @Inject + public HostGeneralSubTabPanelPresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, + ScrollableTabBarPresenterWidget tabBar, SubTabHostGeneralInfoPresenter infoPresenter) { + super(eventBus, view, proxy, TYPE_SetTabContent, TYPE_RequestTabs, TYPE_ChangeTab, tabBar, + HostSubTabPanelPresenter.TYPE_SetTabContent); + lastPresenter = infoPresenter; + } + + @TabInfo(container = HostSubTabPanelPresenter.class) + static TabData getTabData(ApplicationConstants applicationConstants, + DetailModelProvider<HostListModel, HostGeneralModel> modelProvider) { + return new ModelBoundTabData(applicationConstants.hostGeneralSubTabLabel(), 0, modelProvider); + } + + @SuppressWarnings("unchecked") + @Override + public void setInSlot(Object slot, PresenterWidget<?> content) { + super.setInSlot(slot, content); + if (content instanceof SubTabHostGeneralInfoPresenter + || content instanceof SubTabHostGeneralSoftwarePresenter + || content instanceof SubTabHostGeneralHardwarePresenter) { + lastPresenter = (AbstractSubTabPresenter<VDS, HostListModel, HostGeneralModel, + ? extends AbstractSubTabPresenter.ViewDef<VDS>, ? extends TabContentProxyPlace<?>>) content; + } + TabContentProxy<?> proxy = (TabContentProxy<?>) lastPresenter.getProxy(); + super.setInSlot(TYPE_SetTabContent, lastPresenter); + getView().setActiveTab(proxy.getTab()); + getView().setActiveTabHistoryToken(proxy.getTargetHistoryToken()); + } +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostHardwarePresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralHardwarePresenter.java similarity index 76% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostHardwarePresenter.java rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralHardwarePresenter.java index 2d90ffa..2e7d13c 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostHardwarePresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralHardwarePresenter.java @@ -22,27 +22,27 @@ import com.gwtplatform.mvp.shared.proxy.PlaceRequest; import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace; -public class SubTabHostHardwarePresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostHardwareGeneralModel, SubTabHostHardwarePresenter.ViewDef, SubTabHostHardwarePresenter.ProxyDef> { +public class SubTabHostGeneralHardwarePresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostHardwareGeneralModel, SubTabHostGeneralHardwarePresenter.ViewDef, SubTabHostGeneralHardwarePresenter.ProxyDef> { @ProxyCodeSplit - @NameToken(WebAdminApplicationPlaces.hostHardwareSubTabPlace) - public interface ProxyDef extends TabContentProxyPlace<SubTabHostHardwarePresenter> { + @NameToken(WebAdminApplicationPlaces.hostGeneralHardwareSubTabPlace) + public interface ProxyDef extends TabContentProxyPlace<SubTabHostGeneralHardwarePresenter> { } public interface ViewDef extends AbstractSubTabPresenter.ViewDef<VDS> { } - @TabInfo(container = HostSubTabPanelPresenter.class) + @TabInfo(container = HostGeneralSubTabPanelPresenter.class) static TabData getTabData(ApplicationConstants applicationConstants, DetailModelProvider<HostListModel, HostHardwareGeneralModel> modelProvider) { - return new ModelBoundTabData(applicationConstants.hostHardwareSubTabLabel(), 6, modelProvider); + return new ModelBoundTabData(applicationConstants.hostGeneralHardwareSubTabLabel(), 6, modelProvider); } @Inject - public SubTabHostHardwarePresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, + public SubTabHostGeneralHardwarePresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, PlaceManager placeManager, DetailModelProvider<HostListModel, HostHardwareGeneralModel> modelProvider) { super(eventBus, view, proxy, placeManager, modelProvider, - HostSubTabPanelPresenter.TYPE_SetTabContent); + HostGeneralSubTabPanelPresenter.TYPE_SetTabContent); } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralInfoPresenter.java similarity index 91% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralInfoPresenter.java index b7918e3..59c8f48 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralInfoPresenter.java @@ -16,7 +16,6 @@ import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationMessages; -import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; import org.ovirt.engine.ui.uicommonweb.place.WebAdminApplicationPlaces; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.HostSelectionChangeEvent; @@ -37,11 +36,12 @@ import com.gwtplatform.mvp.shared.proxy.PlaceRequest; import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace; -public class SubTabHostGeneralPresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostGeneralModel, SubTabHostGeneralPresenter.ViewDef, SubTabHostGeneralPresenter.ProxyDef> { +public class SubTabHostGeneralInfoPresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostGeneralModel, + SubTabHostGeneralInfoPresenter.ViewDef, SubTabHostGeneralInfoPresenter.ProxyDef> { @ProxyCodeSplit - @NameToken(WebAdminApplicationPlaces.hostGeneralSubTabPlace) - public interface ProxyDef extends TabContentProxyPlace<SubTabHostGeneralPresenter> { + @NameToken(WebAdminApplicationPlaces.hostGeneralInfoSubTabPlace) + public interface ProxyDef extends TabContentProxyPlace<SubTabHostGeneralInfoPresenter> { } public interface ViewDef extends AbstractSubTabPresenter.ViewDef<VDS> { @@ -63,20 +63,19 @@ // We need this to get the text of the alert messages: private final ApplicationMessages messages; - @TabInfo(container = HostSubTabPanelPresenter.class) + @TabInfo(container = HostGeneralSubTabPanelPresenter.class) static TabData getTabData(ApplicationConstants applicationConstants, DetailModelProvider<HostListModel, HostGeneralModel> modelProvider) { - return new ModelBoundTabData(applicationConstants.hostGeneralSubTabLabel(), 0, modelProvider); + return new ModelBoundTabData(applicationConstants.hostGeneralInfoSubTabLabel(), 0, modelProvider); } @Inject - public SubTabHostGeneralPresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, - PlaceManager placeManager, DetailModelProvider<HostListModel, HostGeneralModel> modelProvider) { - super(eventBus, view, proxy, placeManager, modelProvider, - HostSubTabPanelPresenter.TYPE_SetTabContent); + public SubTabHostGeneralInfoPresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, + PlaceManager placeManager, DetailModelProvider<HostListModel, HostGeneralModel> modelProvider, + ApplicationMessages messages) { + super(eventBus, view, proxy, placeManager, modelProvider, HostGeneralSubTabPanelPresenter.TYPE_SetTabContent); - // Inject a reference to the messages: - messages = ClientGinjectorProvider.getApplicationMessages(); + this.messages = messages; } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostHardwarePresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralSoftwarePresenter.java similarity index 66% copy from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostHardwarePresenter.java copy to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralSoftwarePresenter.java index 2d90ffa..c18162ce 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostHardwarePresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralSoftwarePresenter.java @@ -5,7 +5,7 @@ import org.ovirt.engine.ui.common.presenter.AbstractSubTabPresenter; import org.ovirt.engine.ui.common.uicommon.model.DetailModelProvider; import org.ovirt.engine.ui.common.widget.tab.ModelBoundTabData; -import org.ovirt.engine.ui.uicommonweb.models.hosts.HostHardwareGeneralModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostGeneralModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; import org.ovirt.engine.ui.uicommonweb.place.WebAdminApplicationPlaces; import org.ovirt.engine.ui.webadmin.ApplicationConstants; @@ -19,30 +19,33 @@ import com.gwtplatform.mvp.client.annotations.ProxyEvent; import com.gwtplatform.mvp.client.annotations.TabInfo; import com.gwtplatform.mvp.client.proxy.PlaceManager; -import com.gwtplatform.mvp.shared.proxy.PlaceRequest; import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace; +import com.gwtplatform.mvp.shared.proxy.PlaceRequest; -public class SubTabHostHardwarePresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostHardwareGeneralModel, SubTabHostHardwarePresenter.ViewDef, SubTabHostHardwarePresenter.ProxyDef> { +public class SubTabHostGeneralSoftwarePresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostGeneralModel, + SubTabHostGeneralSoftwarePresenter.ViewDef, SubTabHostGeneralSoftwarePresenter.ProxyDef> { @ProxyCodeSplit - @NameToken(WebAdminApplicationPlaces.hostHardwareSubTabPlace) - public interface ProxyDef extends TabContentProxyPlace<SubTabHostHardwarePresenter> { + @NameToken(WebAdminApplicationPlaces.hostGeneralSoftwareSubTabPlace) + public interface ProxyDef extends TabContentProxyPlace<SubTabHostGeneralSoftwarePresenter> { } public interface ViewDef extends AbstractSubTabPresenter.ViewDef<VDS> { } - @TabInfo(container = HostSubTabPanelPresenter.class) + @TabInfo(container = HostGeneralSubTabPanelPresenter.class) static TabData getTabData(ApplicationConstants applicationConstants, - DetailModelProvider<HostListModel, HostHardwareGeneralModel> modelProvider) { - return new ModelBoundTabData(applicationConstants.hostHardwareSubTabLabel(), 6, modelProvider); + DetailModelProvider<HostListModel, HostGeneralModel> modelProvider) { + return new ModelBoundTabData(applicationConstants.hostGeneralSoftwareSubTabLabel(), 0, modelProvider); } @Inject - public SubTabHostHardwarePresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, - PlaceManager placeManager, DetailModelProvider<HostListModel, HostHardwareGeneralModel> modelProvider) { - super(eventBus, view, proxy, placeManager, modelProvider, - HostSubTabPanelPresenter.TYPE_SetTabContent); + public SubTabHostGeneralSoftwarePresenter(EventBus eventBus, + ViewDef view, + ProxyDef proxy, + PlaceManager placeManager, + DetailModelProvider<HostListModel, HostGeneralModel> modelProvider) { + super(eventBus, view, proxy, placeManager, modelProvider, HostGeneralSubTabPanelPresenter.TYPE_SetTabContent); } @Override @@ -54,5 +57,4 @@ public void onHostSelectionChange(HostSelectionChangeEvent event) { updateMainTabSelection(event.getSelectedItems()); } - } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/HostGeneralSubTabPanelView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/HostGeneralSubTabPanelView.java new file mode 100644 index 0000000..bb582bf --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/HostGeneralSubTabPanelView.java @@ -0,0 +1,39 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.tab.host; + +import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; +import org.ovirt.engine.ui.common.widget.tab.AbstractTabPanel; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.HostGeneralSubTabPanelPresenter; +import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabPanelView; +import org.ovirt.engine.ui.webadmin.widget.tab.HyperlinkTabPanel; + +import com.google.gwt.core.client.GWT; + +public class HostGeneralSubTabPanelView extends AbstractSubTabPanelView + implements HostGeneralSubTabPanelPresenter.ViewDef { + + interface ViewIdHandler extends ElementIdHandler<HostGeneralSubTabPanelView> { + ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); + } + + private final HyperlinkTabPanel tabPanel = new HyperlinkTabPanel(); + + public HostGeneralSubTabPanelView() { + initWidget(getTabPanel()); + } + + @Override + protected void generateIds() { + ViewIdHandler.idHandler.generateAndSetIds(this); + } + + @Override + protected AbstractTabPanel getTabPanel() { + return tabPanel; + } + + @Override + protected Object getContentSlot() { + return HostGeneralSubTabPanelPresenter.TYPE_SetTabContent; + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostHardwareView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.java similarity index 91% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostHardwareView.java rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.java index ea39283..1ecb784 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostHardwareView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.java @@ -17,7 +17,7 @@ import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationResources; -import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHardwarePresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralHardwarePresenter; import org.ovirt.engine.ui.webadmin.widget.label.NullableNumberTextBoxLabel; import com.google.gwt.core.client.GWT; @@ -31,12 +31,12 @@ import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Widget; -public class SubTabHostHardwareView extends AbstractSubTabFormView<VDS, HostListModel, HostHardwareGeneralModel> implements SubTabHostHardwarePresenter.ViewDef, Editor<HostHardwareGeneralModel> { +public class SubTabHostGeneralHardwareView extends AbstractSubTabFormView<VDS, HostListModel, HostHardwareGeneralModel> implements SubTabHostGeneralHardwarePresenter.ViewDef, Editor<HostHardwareGeneralModel> { - interface Driver extends SimpleBeanEditorDriver<HostHardwareGeneralModel, SubTabHostHardwareView> { + interface Driver extends SimpleBeanEditorDriver<HostHardwareGeneralModel, SubTabHostGeneralHardwareView> { } - interface ViewIdHandler extends ElementIdHandler<SubTabHostHardwareView> { + interface ViewIdHandler extends ElementIdHandler<SubTabHostGeneralHardwareView> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @@ -64,12 +64,12 @@ private final Driver driver = GWT.create(Driver.class); - interface ViewUiBinder extends UiBinder<Widget, SubTabHostHardwareView> { + interface ViewUiBinder extends UiBinder<Widget, SubTabHostGeneralHardwareView> { ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); } @Inject - public SubTabHostHardwareView(DetailModelProvider<HostListModel, HostHardwareGeneralModel> modelProvider, + public SubTabHostGeneralHardwareView(DetailModelProvider<HostListModel, HostHardwareGeneralModel> modelProvider, ApplicationResources resources, ApplicationConstants constants) { super(modelProvider); this.constants = constants; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostHardwareView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.ui.xml similarity index 100% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostHardwareView.ui.xml rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralHardwareView.ui.xml diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.java similarity index 70% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.java index ce31cbe..5d7cfd8 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.java @@ -25,13 +25,12 @@ import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationResources; -import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralPresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralInfoPresenter; import org.ovirt.engine.ui.webadmin.widget.alert.InLineAlertWidget; import org.ovirt.engine.ui.webadmin.widget.label.DetailsTextBoxLabel; import org.ovirt.engine.ui.webadmin.widget.label.FullDateTimeLabel; import org.ovirt.engine.ui.webadmin.widget.label.NullableNumberTextBoxLabel; import org.ovirt.engine.ui.webadmin.widget.label.PercentTextBoxLabel; -import org.ovirt.engine.ui.webadmin.widget.label.VersionTextBoxLabel; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.Editor; @@ -42,12 +41,13 @@ import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; -public class SubTabHostGeneralView extends AbstractSubTabFormView<VDS, HostListModel, HostGeneralModel> implements SubTabHostGeneralPresenter.ViewDef, Editor<HostGeneralModel> { +public class SubTabHostGeneralInfoView extends AbstractSubTabFormView<VDS, HostListModel, HostGeneralModel> + implements SubTabHostGeneralInfoPresenter.ViewDef, Editor<HostGeneralModel> { - interface Driver extends SimpleBeanEditorDriver<HostGeneralModel, SubTabHostGeneralView> { + interface Driver extends SimpleBeanEditorDriver<HostGeneralModel, SubTabHostGeneralInfoView> { } - interface ViewIdHandler extends ElementIdHandler<SubTabHostGeneralView> { + interface ViewIdHandler extends ElementIdHandler<SubTabHostGeneralInfoView> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @@ -55,16 +55,8 @@ private final ApplicationResources resources; private final ApplicationConstants constants = GWT.create(ApplicationConstants.class); - @Path("OS") - TextBoxLabel oS = new TextBoxLabel(); - TextBoxLabel kvmVersion = new TextBoxLabel(); - VersionTextBoxLabel libvirtVersion = new VersionTextBoxLabel(); - TextBoxLabel spiceVersion = new TextBoxLabel(); - TextBoxLabel kernelVersion = new TextBoxLabel(); - VersionTextBoxLabel glusterVersion = new VersionTextBoxLabel(); @Path("IScsiInitiatorName") TextBoxLabel iScsiInitiatorName = new TextBoxLabel(); - VersionTextBoxLabel vdsmVersion = new VersionTextBoxLabel(); PercentTextBoxLabel<Integer> sharedMemory = new PercentTextBoxLabel<Integer>(); BooleanTextBoxLabel memoryPageSharing = new BooleanTextBoxLabel(constants.active(), constants.inactive()); NullableNumberTextBoxLabel<Integer> activeVms = new NullableNumberTextBoxLabel<Integer>(); @@ -76,14 +68,14 @@ TextBoxLabel kdumpStatus = new TextBoxLabel(); TextBoxLabel selinuxEnforceMode = new TextBoxLabel(); - MemorySizeTextBoxLabel<Integer> physicalMemory; - MemorySizeTextBoxLabel<Integer> usedMemory; - MemorySizeTextBoxLabel<Integer> freeMemory; + MemorySizeTextBoxLabel<Integer> physicalMemory = new MemorySizeTextBoxLabel<Integer>(constants); + MemorySizeTextBoxLabel<Integer> usedMemory = new MemorySizeTextBoxLabel<Integer>(constants); + MemorySizeTextBoxLabel<Integer> freeMemory = new MemorySizeTextBoxLabel<Integer>(constants); - MemorySizeTextBoxLabel<Long> swapTotal; - MemorySizeTextBoxLabel<Long> usedSwap; - MemorySizeTextBoxLabel<Long> swapFree; - MemorySizeTextBoxLabel<Float> maxSchedulingMemory; + MemorySizeTextBoxLabel<Long> swapTotal = new MemorySizeTextBoxLabel<Long>(constants); + MemorySizeTextBoxLabel<Long> usedSwap = new MemorySizeTextBoxLabel<Long>(constants); + MemorySizeTextBoxLabel<Long> swapFree = new MemorySizeTextBoxLabel<Long>(constants); + MemorySizeTextBoxLabel<Float> maxSchedulingMemory = new MemorySizeTextBoxLabel<Float>(constants); BooleanTextBoxLabel liveSnapshotSupport = new BooleanTextBoxLabel(constants.active(), constants.inactive()); @@ -122,18 +114,17 @@ private final Driver driver = GWT.create(Driver.class); - interface ViewUiBinder extends UiBinder<Widget, SubTabHostGeneralView> { + interface ViewUiBinder extends UiBinder<Widget, SubTabHostGeneralInfoView> { ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); } @Inject - public SubTabHostGeneralView(DetailModelProvider<HostListModel, HostGeneralModel> modelProvider, + public SubTabHostGeneralInfoView(DetailModelProvider<HostListModel, HostGeneralModel> modelProvider, ApplicationResources resources) { super(modelProvider); // Inject a reference to the resources: this.resources = resources; - initMemorySizeLabels(); // Init form panel: formPanel = new GeneralFormPanel(); @@ -144,32 +135,26 @@ generateIds(); boolean virtSupported = ApplicationModeHelper.isModeSupported(ApplicationMode.VirtOnly); - boolean glusterSupported = ApplicationModeHelper.isModeSupported(ApplicationMode.GlusterOnly); // Build a form using the FormBuilder - formBuilder = new FormBuilder(formPanel, 3, 9); + formBuilder = new FormBuilder(formPanel, 3, 6); - formBuilder.addFormItem(new FormItem(constants.osVersionHostGeneral(), oS, 0).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.kernelVersionHostGeneral(), kernelVersion, 0).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.kvmVersionHostGeneral(), kvmVersion, 0, virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.libvirtVersionHostGeneral(), libvirtVersion, 0, virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.vdsmVersionHostGeneral(), vdsmVersion, 0).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.spiceVersionHostGeneral(), spiceVersion, 0, virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.glusterVersionHostGeneral(), glusterVersion, 0, glusterSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.spmPriority(), spmPriority, 0, 0, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.activeVmsHostGeneral(), activeVms, 0, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.logicalCores(), logicalCores, 0).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.onlineCores(), onlineCores, 0).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.bootTimeHostGeneral(), bootTime, 0).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.hostedEngineHaHostGeneral(), hostedEngineHa, 0, + virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.spmPriority(), spmPriority, 0, 1, virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.activeVmsHostGeneral(), activeVms, 1, virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.logicalCores(), logicalCores, 1).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.onlineCores(), onlineCores, 1).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.bootTimeHostGeneral(), bootTime, 1).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.hostedEngineHaHostGeneral(), hostedEngineHa, 1, virtSupported).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.isciInitNameHostGeneral(), iScsiInitiatorName, 1, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.isciInitNameHostGeneral(), iScsiInitiatorName, 0, 1, + virtSupported).withAutoPlacement()); formBuilder.addFormItem(new FormItem(constants.kdumpStatus(), kdumpStatus, 1).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.physMemHostGeneral(), physicalMemoryDetails, 1).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.swapSizeHostGeneral(), swapSizeDetails, 1).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.sharedMemHostGeneral(), sharedMemory, 1).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.physMemHostGeneral(), physicalMemoryDetails, 2).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.swapSizeHostGeneral(), swapSizeDetails, 2).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.sharedMemHostGeneral(), sharedMemory, 2).withAutoPlacement()); - formBuilder.addFormItem(new FormItem(constants.maxSchedulingMemory(), maxSchedulingMemory, 2, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.maxSchedulingMemory(), maxSchedulingMemory, 0, 2, virtSupported).withAutoPlacement()); formBuilder.addFormItem(new FormItem(constants.memPageSharingHostGeneral(), memoryPageSharing, 2).withAutoPlacement()); formBuilder.addFormItem(new FormItem(constants.autoLargePagesHostGeneral(), automaticLargePage, 2).withAutoPlacement()); formBuilder.addFormItem(new FormItem(constants.selinuxModeGeneral(), selinuxEnforceMode, 2).withAutoPlacement()); @@ -182,19 +167,6 @@ ViewIdHandler.idHandler.generateAndSetIds(this); } - void initMemorySizeLabels() { - this.physicalMemory = new MemorySizeTextBoxLabel<Integer>(constants); - this.usedMemory = new MemorySizeTextBoxLabel<Integer>(constants); - this.freeMemory = new MemorySizeTextBoxLabel<Integer>(constants); - - this.swapTotal = new MemorySizeTextBoxLabel<Long>(constants); - this.usedSwap = new MemorySizeTextBoxLabel<Long>(constants); - this.swapFree = new MemorySizeTextBoxLabel<Long>(constants); - - this.maxSchedulingMemory = new MemorySizeTextBoxLabel<Float>(constants); - } - - @SuppressWarnings("unchecked") @Override public void setMainTabSelectedItem(VDS selectedItem) { driver.edit(getDetailModel()); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.ui.xml new file mode 100644 index 0000000..505b1cd --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralInfoView.ui.xml @@ -0,0 +1,41 @@ +<?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:e="urn:import:com.google.gwt.editor.ui.client" + xmlns:f="urn:import:org.ovirt.engine.ui.common.widget.form"> + + <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants' /> + + <ui:style> + .formPanel { + padding-top: 10px; + } + + @external alertsPanel; + .alertsPanel { + padding-top: 5px; + padding-right: 16px; + padding-left: 16px; + } + + .alertsPanel a { + color: black; + text-decoration: underline; + } + + .actionItemsLabel { + font-weight: bold; + } + </ui:style> + + <g:FlowPanel> + <f:GeneralFormPanel ui:field="formPanel" addStyleNames="{style.formPanel}"/> + <g:HTMLPanel ui:field="alertsPanel" addStyleNames="{style.alertsPanel}"> + <div> + <g:Label text="{constants.actionItemsHostGeneral}" addStyleNames="{style.actionItemsLabel}" /> + </div> + <g:FlowPanel ui:field="alertsList"/> + </g:HTMLPanel> + </g:FlowPanel> + +</ui:UiBinder> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.java new file mode 100644 index 0000000..9d93ad6 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.java @@ -0,0 +1,100 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.tab.host; + +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.mode.ApplicationMode; +import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; +import org.ovirt.engine.ui.common.idhandler.WithElementId; +import org.ovirt.engine.ui.common.uicommon.model.DetailModelProvider; +import org.ovirt.engine.ui.common.view.AbstractSubTabFormView; +import org.ovirt.engine.ui.common.widget.form.FormBuilder; +import org.ovirt.engine.ui.common.widget.form.FormItem; +import org.ovirt.engine.ui.common.widget.form.GeneralFormPanel; +import org.ovirt.engine.ui.common.widget.label.TextBoxLabel; +import org.ovirt.engine.ui.uicommonweb.models.ApplicationModeHelper; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostGeneralModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostGeneralSoftwarePresenter; +import org.ovirt.engine.ui.webadmin.widget.label.VersionTextBoxLabel; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.editor.client.Editor; +import com.google.gwt.editor.client.SimpleBeanEditorDriver; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.Widget; +import com.google.inject.Inject; + +public class SubTabHostGeneralSoftwareView extends AbstractSubTabFormView<VDS, HostListModel, HostGeneralModel> + implements SubTabHostGeneralSoftwarePresenter.ViewDef, Editor<HostGeneralModel> { + + interface Driver extends SimpleBeanEditorDriver<HostGeneralModel, SubTabHostGeneralSoftwareView> { + } + + interface ViewIdHandler extends ElementIdHandler<SubTabHostGeneralSoftwareView> { + ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); + } + + interface ViewUiBinder extends UiBinder<Widget, SubTabHostGeneralSoftwareView> { + ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); + } + + private final ApplicationConstants constants = GWT.create(ApplicationConstants.class); + + private final Driver driver = GWT.create(Driver.class); + + FormBuilder formBuilder; + + @Path("OS") + TextBoxLabel oS = new TextBoxLabel(); + TextBoxLabel kvmVersion = new TextBoxLabel(); + VersionTextBoxLabel libvirtVersion = new VersionTextBoxLabel(); + TextBoxLabel spiceVersion = new TextBoxLabel(); + TextBoxLabel kernelVersion = new TextBoxLabel(); + VersionTextBoxLabel glusterVersion = new VersionTextBoxLabel(); + VersionTextBoxLabel vdsmVersion = new VersionTextBoxLabel(); + + @UiField(provided = true) + @WithElementId + GeneralFormPanel formPanel; + + @Inject + public SubTabHostGeneralSoftwareView(DetailModelProvider<HostListModel, HostGeneralModel> modelProvider) { + super(modelProvider); + + // Init form panel: + formPanel = new GeneralFormPanel(); + initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); + driver.initialize(this); + buildForm(); + } + + private void buildForm() { + generateIds(); + + boolean virtSupported = ApplicationModeHelper.isModeSupported(ApplicationMode.VirtOnly); + boolean glusterSupported = ApplicationModeHelper.isModeSupported(ApplicationMode.GlusterOnly); + + // Build a form using the FormBuilder + formBuilder = new FormBuilder(formPanel, 3, 9); + formBuilder.addFormItem(new FormItem(constants.osVersionHostGeneral(), oS, 0).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.kernelVersionHostGeneral(), kernelVersion, 0).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.kvmVersionHostGeneral(), kvmVersion, 0, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.libvirtVersionHostGeneral(), libvirtVersion, 0, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.vdsmVersionHostGeneral(), vdsmVersion, 0).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.spiceVersionHostGeneral(), spiceVersion, 0, virtSupported).withAutoPlacement()); + formBuilder.addFormItem(new FormItem(constants.glusterVersionHostGeneral(), glusterVersion, 0, glusterSupported).withAutoPlacement()); + } + + @Override + public void setMainTabSelectedItem(VDS selectedItem) { + driver.edit(getDetailModel()); + formBuilder.update(getDetailModel()); + } + + @Override + protected void generateIds() { + ViewIdHandler.idHandler.generateAndSetIds(this); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.ui.xml new file mode 100644 index 0000000..558df29 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralSoftwareView.ui.xml @@ -0,0 +1,19 @@ +<?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:e="urn:import:com.google.gwt.editor.ui.client" + xmlns:f="urn:import:org.ovirt.engine.ui.common.widget.form"> + + <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants' /> + + <ui:style> + .formPanel { + padding-top: 10px; + } + </ui:style> + + <g:FlowPanel> + <f:GeneralFormPanel ui:field="formPanel" addStyleNames="{style.formPanel}"/> + </g:FlowPanel> + +</ui:UiBinder> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.ui.xml deleted file mode 100644 index c0f7386..0000000 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.ui.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?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:e="urn:import:com.google.gwt.editor.ui.client" - xmlns:f="urn:import:org.ovirt.engine.ui.common.widget.form"> - - <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants' /> - - <ui:style> - .formPanel { - padding-top: 10px; - } - @external alertsPanel; - .alertsPanel { - padding-top: 5px; - padding-right: 16px; - padding-left: 16px; - } - .alertsPanel a { - color: black; - text-decoration: underline; - } - </ui:style> - - <g:FlowPanel> - <f:GeneralFormPanel ui:field="formPanel" addStyleNames="{style.formPanel}"/> - <g:HTMLPanel ui:field="alertsPanel" addStyleNames="{style.alertsPanel}"> - <div> - <b><g:Label text="{constants.actionItemsHostGeneral}"></g:Label></b> - </div> - <g:FlowPanel ui:field="alertsList"/> - </g:HTMLPanel> - </g:FlowPanel> - -</ui:UiBinder> - \ No newline at end of file -- To view, visit http://gerrit.ovirt.org/37387 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie70cee7d4c5742a51ba6084968cf8617d0e2680e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alexander Wels <aw...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches