Kanagaraj M has uploaded a new change for review. Change subject: webadmin: [WIP] host gluster-swift sub tab ......................................................................
webadmin: [WIP] host gluster-swift sub tab Adding a new sub-tab "Gluster Swift" under Hosts. This will list all the Gluste Swift related services and their statuses. Change-Id: Iacffe5b49e6dcde743fa81d5a3f694de5d8f1421 Signed-off-by: Kanagaraj M <kmayi...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterSwiftListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.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/ManagedComponents.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostEventPresenter.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGlusterSwiftPresenter.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostPermissionPresenter.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGlusterSwiftView.java 13 files changed, 280 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/96/15296/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java index 0693095..a2c29cc 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java @@ -50,6 +50,7 @@ import org.ovirt.engine.core.common.businessentities.permissions; import org.ovirt.engine.core.common.businessentities.tags; import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookEntity; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; @@ -1183,6 +1184,17 @@ Frontend.RunQuery(VdcQueryType.GetGlusterHookContent, parameters, aQuery); } + public static void getGlusterSwiftServices(AsyncQuery aQuery, Guid serverId) { + aQuery.converterCallback = new IAsyncConverter() { + @Override + public Object Convert(Object source, AsyncQuery _asyncQuery) + { + return source != null ? source : new ArrayList<GlusterServerService>(); + } + }; + Frontend.RunQuery(VdcQueryType.GetGlusterServerServicesByServerId, new IdQueryParameters(serverId), aQuery); + } + public static void getRpmVersionViaPublic(AsyncQuery aQuery) { aQuery.converterCallback = new IAsyncConverter() { @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterSwiftListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterSwiftListModel.java new file mode 100644 index 0000000..236dc9f --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterSwiftListModel.java @@ -0,0 +1,109 @@ +package org.ovirt.engine.ui.uicommonweb.models.gluster; + +import java.util.List; + +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; +import org.ovirt.engine.core.common.mode.ApplicationMode; +import org.ovirt.engine.ui.frontend.AsyncQuery; +import org.ovirt.engine.ui.frontend.INewAsyncCallback; +import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; +import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class HostGlusterSwiftListModel extends SearchableListModel { + + private UICommand startSwiftCommand; + + public UICommand getStartSwiftCommand() { + return startSwiftCommand; + } + + public void setStartSwiftCommand(UICommand startSwiftCommand) { + this.startSwiftCommand = startSwiftCommand; + } + + private UICommand stopSwiftCommand; + + public UICommand getStopSwiftCommand() { + return stopSwiftCommand; + } + + public void setStopSwiftCommand(UICommand stopSwiftCommand) { + this.stopSwiftCommand = stopSwiftCommand; + } + + private UICommand restartSwiftCommand; + + public UICommand getRestartSwiftCommand() { + return restartSwiftCommand; + } + + public void setRestartSwiftCommand(UICommand restartSwiftCommand) { + this.restartSwiftCommand = restartSwiftCommand; + } + + public HostGlusterSwiftListModel() { + setTitle(ConstantsManager.getInstance().getConstants().glusterSwiftTitle()); + setHashName("host_gluster_swift"); //$NON-NLS-1$ + setAvailableInModes(ApplicationMode.GlusterOnly); + + setStartSwiftCommand(new UICommand("StartSwift", this)); + setStopSwiftCommand(new UICommand("StopSwift", this)); + setRestartSwiftCommand(new UICommand("RestartSwift", this)); + } + + @Override + public VDS getEntity() { + return (VDS) super.getEntity(); + } + + @Override + protected void onEntityChanged() { + super.onEntityChanged(); + getSearchCommand().execute(); + } + + @Override + public void search() { + if (getEntity() != null) { + super.search(); + } + } + + @Override + protected void syncSearch() { + if (getEntity() == null) { + return; + } + + AsyncDataProvider.getGlusterSwiftServices(new AsyncQuery(this, new INewAsyncCallback() { + @Override + public void onSuccess(Object model, Object returnValue) { + setItems((List<GlusterServerService>) returnValue); + } + }), getEntity().getId()); + } + + @Override + public void executeCommand(UICommand command) { + super.executeCommand(command); + + if (command.equals(getStartSwiftCommand())) { + + } + else if (command.equals(getStopSwiftCommand())) { + + } + else if (command.equals(getRestartSwiftCommand())) { + + } + } + + @Override + protected String getListName() { + return "HostGlusterSwiftListModel"; //$NON-NLS-1$ + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java index c4bdf40..23f6e5f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java @@ -24,12 +24,12 @@ import org.ovirt.engine.core.common.action.VdsActionParameters; import org.ovirt.engine.core.common.businessentities.FenceActionType; import org.ovirt.engine.core.common.businessentities.RoleType; +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.VDSType; import org.ovirt.engine.core.common.businessentities.permissions; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.common.mode.ApplicationMode; import org.ovirt.engine.core.common.queries.ConfigurationValues; @@ -60,6 +60,7 @@ import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemType; import org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel; import org.ovirt.engine.ui.uicommonweb.models.events.TaskListModel; +import org.ovirt.engine.ui.uicommonweb.models.gluster.HostGlusterSwiftListModel; import org.ovirt.engine.ui.uicommonweb.models.tags.TagListModel; import org.ovirt.engine.ui.uicommonweb.models.tags.TagModel; import org.ovirt.engine.ui.uicompat.Constants; @@ -1413,6 +1414,7 @@ setHostEventListModel(new HostEventListModel()); list.add(getHostEventListModel()); list.add(new HostHooksListModel()); + list.add(new HostGlusterSwiftListModel()); list.add(new PermissionListModel()); setDetailModels(list); } diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java index c1117fc..4e94aae 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java @@ -93,6 +93,9 @@ @DefaultStringValue("Gluster Hooks") String glusterHooksTitle(); + @DefaultStringValue("Gluster Swift") + String glusterSwiftTitle(); + @DefaultStringValue("Policy") String clusterPolicyTitle(); 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 6f09656..4d1d0ac 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 @@ -364,6 +364,9 @@ @DefaultStringValue("Host Hooks") String hostHookSubTabLabel(); + @DefaultStringValue("Gluster Swift") + String hostGlusterSwiftSubTabLabel(); + @DefaultStringValue("Permissions") String hostPermissionSubTabLabel(); @@ -1781,6 +1784,13 @@ @DefaultStringValue("Property Value") String propertyValueHook(); + // Host Gluster Swift + @DefaultStringValue("Service") + String serviceGlusterSwift(); + + @DefaultStringValue("Status") + String statusGlusterSwift(); + // Group @DefaultStringValue("Group Name") String groupNameGroup(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java index 2c3bdfe..82e3dd4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ManagedComponents.java @@ -10,6 +10,7 @@ import org.ovirt.engine.core.common.businessentities.QuotaVdsGroup; import org.ovirt.engine.core.common.businessentities.Snapshot; import org.ovirt.engine.core.common.businessentities.StorageDomain; +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.VM; @@ -17,9 +18,9 @@ import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.event_subscriber; import org.ovirt.engine.core.common.businessentities.permissions; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookEntity; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeOptionEntity; import org.ovirt.engine.core.common.businessentities.network.Network; @@ -54,6 +55,7 @@ import org.ovirt.engine.ui.uicommonweb.models.disks.DiskTemplateListModel; import org.ovirt.engine.ui.uicommonweb.models.disks.DiskVmListModel; import org.ovirt.engine.ui.uicommonweb.models.events.EventListModel; +import org.ovirt.engine.ui.uicommonweb.models.gluster.HostGlusterSwiftListModel; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeBrickListModel; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeEventListModel; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeGeneralModel; @@ -177,6 +179,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.HostSubTabPanelPresenter; 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.SubTabHostGlusterSwiftPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHardwarePresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHookPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostInterfacePresenter; @@ -508,6 +511,10 @@ SearchableDetailModelProvider<Map<String, String>, HostListModel, HostHooksListModel> getSubTabHostHookModelProvider(); + AsyncProvider<SubTabHostGlusterSwiftPresenter> getSubTabHostGlusterSwiftPresenter(); + + SearchableDetailModelProvider<GlusterServerService, HostListModel, HostGlusterSwiftListModel> getSubTabHostGlusterSwiftModelProvider(); + AsyncProvider<SubTabHostPermissionPresenter> getSubTabHostPermissionPresenter(); SearchableDetailModelProvider<permissions, HostListModel, PermissionListModel> getSubTabHostPermissionModelProvider(); 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 892ddac..de4d3e1 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 @@ -133,6 +133,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.HostSubTabPanelPresenter; 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.SubTabHostGlusterSwiftPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHardwarePresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostHookPresenter; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host.SubTabHostInterfacePresenter; @@ -324,6 +325,7 @@ import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.HostSubTabPanelView; 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.SubTabHostGlusterSwiftView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostHardwareView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostHookView; import org.ovirt.engine.ui.webadmin.section.main.view.tab.host.SubTabHostInterfaceView; @@ -640,6 +642,10 @@ SubTabHostHookPresenter.ViewDef.class, SubTabHostHookView.class, SubTabHostHookPresenter.ProxyDef.class); + bindPresenter(SubTabHostGlusterSwiftPresenter.class, + SubTabHostGlusterSwiftPresenter.ViewDef.class, + SubTabHostGlusterSwiftView.class, + SubTabHostGlusterSwiftPresenter.ProxyDef.class); bindPresenter(SubTabHostPermissionPresenter.class, SubTabHostPermissionPresenter.ViewDef.class, SubTabHostPermissionView.class, diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java index b8a28fb..800907f 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java @@ -7,6 +7,7 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.permissions; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; import org.ovirt.engine.ui.common.presenter.ModelBoundPresenterWidget; @@ -22,10 +23,11 @@ import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.Model; import org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel; -import org.ovirt.engine.ui.uicommonweb.models.hosts.HostHardwareGeneralModel; +import org.ovirt.engine.ui.uicommonweb.models.gluster.HostGlusterSwiftListModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostBondInterfaceModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostEventListModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostGeneralModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostHardwareGeneralModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostHooksListModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterfaceLineModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterfaceListModel; @@ -245,6 +247,14 @@ @Provides @Singleton + public SearchableDetailModelProvider<GlusterServerService, HostListModel, HostGlusterSwiftListModel> getHostGlusterSwiftListProvider(ClientGinjector ginjector) { + return new SearchableDetailTabModelProvider<GlusterServerService, HostListModel, HostGlusterSwiftListModel>(ginjector, + HostListModel.class, + HostGlusterSwiftListModel.class); + } + + @Provides + @Singleton public SearchableDetailModelProvider<permissions, HostListModel, PermissionListModel> getPermissionListProvider(ClientGinjector ginjector, final Provider<PermissionsPopupPresenterWidget> popupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java index 7d3739b..f16bbaa 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/ApplicationPlaces.java @@ -167,6 +167,9 @@ public static final String hostHookSubTabPlace = hostMainTabPlace + SUB_TAB_PREFIX + "host_hooks"; //$NON-NLS-1$ + public static final String hostGlusterSwiftSubTabPlace = hostMainTabPlace + SUB_TAB_PREFIX + + "gluster_swift"; //$NON-NLS-1$ + public static final String hostPermissionSubTabPlace = hostMainTabPlace + SUB_TAB_PREFIX + "permissions"; //$NON-NLS-1$ diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostEventPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostEventPresenter.java index f5d054f..5e27e78 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostEventPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostEventPresenter.java @@ -36,7 +36,7 @@ @TabInfo(container = HostSubTabPanelPresenter.class) static TabData getTabData(ClientGinjector ginjector) { - return new ModelBoundTabData(ginjector.getApplicationConstants().hostEventSubTabLabel(), 6, + return new ModelBoundTabData(ginjector.getApplicationConstants().hostEventSubTabLabel(), 7, ginjector.getSubTabHostEventModelProvider(), Align.RIGHT); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGlusterSwiftPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGlusterSwiftPresenter.java new file mode 100644 index 0000000..43afd65 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGlusterSwiftPresenter.java @@ -0,0 +1,64 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host; + +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; +import org.ovirt.engine.ui.common.presenter.AbstractSubTabPresenter; +import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider; +import org.ovirt.engine.ui.common.widget.tab.ModelBoundTabData; +import org.ovirt.engine.ui.uicommonweb.models.gluster.HostGlusterSwiftListModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; +import org.ovirt.engine.ui.webadmin.gin.ClientGinjector; +import org.ovirt.engine.ui.webadmin.place.ApplicationPlaces; +import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.HostSelectionChangeEvent; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; +import com.gwtplatform.mvp.client.TabData; +import com.gwtplatform.mvp.client.annotations.NameToken; +import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit; +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.client.proxy.PlaceRequest; +import com.gwtplatform.mvp.client.proxy.RevealContentEvent; +import com.gwtplatform.mvp.client.proxy.TabContentProxyPlace; + +public class SubTabHostGlusterSwiftPresenter extends AbstractSubTabPresenter<VDS, HostListModel, HostGlusterSwiftListModel, SubTabHostGlusterSwiftPresenter.ViewDef, SubTabHostGlusterSwiftPresenter.ProxyDef> { + + @ProxyCodeSplit + @NameToken(ApplicationPlaces.hostGlusterSwiftSubTabPlace) + public interface ProxyDef extends TabContentProxyPlace<SubTabHostGlusterSwiftPresenter> { + } + + public interface ViewDef extends AbstractSubTabPresenter.ViewDef<VDS> { + } + + @TabInfo(container = HostSubTabPanelPresenter.class) + static TabData getTabData(ClientGinjector ginjector) { + return new ModelBoundTabData(ginjector.getApplicationConstants().hostGlusterSwiftSubTabLabel(), 4, + ginjector.getSubTabHostGlusterSwiftModelProvider()); + } + + @Inject + public SubTabHostGlusterSwiftPresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, + PlaceManager placeManager, + SearchableDetailModelProvider<GlusterServerService, HostListModel, HostGlusterSwiftListModel> modelProvider) { + super(eventBus, view, proxy, placeManager, modelProvider); + } + + @Override + protected void revealInParent() { + RevealContentEvent.fire(this, HostSubTabPanelPresenter.TYPE_SetTabContent, this); + } + + @Override + protected PlaceRequest getMainTabRequest() { + return new PlaceRequest(ApplicationPlaces.hostMainTabPlace); + } + + @ProxyEvent + 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/presenter/tab/host/SubTabHostPermissionPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostPermissionPresenter.java index a20d2f1..ead98bd 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostPermissionPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostPermissionPresenter.java @@ -35,7 +35,7 @@ @TabInfo(container = HostSubTabPanelPresenter.class) static TabData getTabData(ClientGinjector ginjector) { - return new ModelBoundTabData(ginjector.getApplicationConstants().hostPermissionSubTabLabel(), 4, + return new ModelBoundTabData(ginjector.getApplicationConstants().hostPermissionSubTabLabel(), 6, ginjector.getSubTabHostPermissionModelProvider()); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGlusterSwiftView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGlusterSwiftView.java new file mode 100644 index 0000000..eee8de6 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGlusterSwiftView.java @@ -0,0 +1,49 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.tab.host; + +import javax.inject.Inject; + +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus; +import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider; +import org.ovirt.engine.ui.common.widget.table.column.EnumColumn; +import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; +import org.ovirt.engine.ui.uicommonweb.models.gluster.HostGlusterSwiftListModel; +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.SubTabHostGlusterSwiftPresenter; +import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView; + +public class SubTabHostGlusterSwiftView extends AbstractSubTabTableView<VDS, GlusterServerService, HostListModel, HostGlusterSwiftListModel> + implements SubTabHostGlusterSwiftPresenter.ViewDef { + + @Inject + public SubTabHostGlusterSwiftView(SearchableDetailModelProvider<GlusterServerService, HostListModel, HostGlusterSwiftListModel> modelProvider, + ApplicationConstants constants) { + super(modelProvider); + initTable(constants); + initWidget(getTable()); + } + + void initTable(ApplicationConstants constants) { + getTable().enableColumnResizing(); + + TextColumnWithTooltip<GlusterServerService> serviceColumn = new TextColumnWithTooltip<GlusterServerService>() { + @Override + public String getValue(GlusterServerService object) { + return object.getServiceName(); + } + }; + getTable().addColumn(serviceColumn, constants.serviceGlusterSwift(), "200px"); //$NON-NLS-1$ + + TextColumnWithTooltip<GlusterServerService> statusColumn = + new EnumColumn<GlusterServerService, GlusterServiceStatus>() { + @Override + protected GlusterServiceStatus getRawValue(GlusterServerService object) { + return object.getStatus(); + } + }; + getTable().addColumn(statusColumn, constants.statusGlusterSwift(), "200px"); //$NON-NLS-1$ + } + +} -- To view, visit http://gerrit.ovirt.org/15296 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iacffe5b49e6dcde743fa81d5a3f694de5d8f1421 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Kanagaraj M <kmayi...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches