Alona Kaplan has uploaded a new change for review.
Change subject: webadmin: Add filters to NetworkVm sub tab- running, not
running.
......................................................................
webadmin: Add filters to NetworkVm sub tab- running, not running.
In this patch a radio button group is added to filter the vms.
- running- all the running vm's the network is attached to one of their
vnics.
- not running- all the not running vm's the networks is attached to one of
their vnics.
Change-Id: Icb728293bfa1b6d8b50933ffc971de30ce2a5af9
Signed-off-by: Alona Kaplan <[email protected]>
---
A
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmFilter.java
M
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.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/section/main/view/tab/network/SubTabNetworkVmView.java
4 files changed, 182 insertions(+), 77 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/67/10367/1
diff --git
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmFilter.java
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmFilter.java
new file mode 100644
index 0000000..5740767
--- /dev/null
+++
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmFilter.java
@@ -0,0 +1,25 @@
+package org.ovirt.engine.ui.uicommonweb.models.networks;
+
+import org.ovirt.engine.ui.uicommonweb.ViewFilter;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+public enum NetworkVmFilter implements ViewFilter<NetworkVmFilter> {
+ running(ConstantsManager.getInstance().getConstants().runningVm()),
+ notRunning(ConstantsManager.getInstance().getConstants().notRunningVm());
+
+ private String text;
+
+ NetworkVmFilter(String text) {
+ this.text = text;
+ }
+
+ @Override
+ public String getText() {
+ return text;
+ }
+
+ @Override
+ public NetworkVmFilter getValue() {
+ return this;
+ }
+}
diff --git
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
index 4428b79..f714165 100644
---
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
+++
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
@@ -29,6 +29,7 @@
public class NetworkVmListModel extends SearchableListModel
{
private UICommand removeCommand;
+ private NetworkVmFilter viewFilterType;
public NetworkVmListModel() {
setTitle(ConstantsManager.getInstance().getConstants().virtualMachinesTitle());
@@ -37,6 +38,15 @@
setRemoveCommand(new UICommand("Remove", this)); //$NON-NLS-1$
updateActionAvailability();
+ }
+
+ public NetworkVmFilter getViewFilterType() {
+ return viewFilterType;
+ }
+
+ public void setViewFilterType(NetworkVmFilter viewFilterType) {
+ this.viewFilterType = viewFilterType;
+ Search();
}
@Override
@@ -93,20 +103,24 @@
}
AsyncQuery asyncQuery = new AsyncQuery();
- asyncQuery.setModel(this);
+ asyncQuery.setModel(getViewFilterType());
asyncQuery.asyncCallback = new INewAsyncCallback() {
@Override
public void OnSuccess(Object model, Object ReturnValue)
{
-
NetworkVmListModel.this.setItems((List<PairQueryable<VmNetworkInterface, VM>>)
((VdcQueryReturnValue) ReturnValue).getReturnValue());
+ if (model.equals(getViewFilterType())) {
+
NetworkVmListModel.this.setItems((List<PairQueryable<VmNetworkInterface, VM>>)
((VdcQueryReturnValue) ReturnValue).getReturnValue());
+ }
}
};
GetVmsAndNetworkInterfacesByNetworkIdParameters params =
- new
GetVmsAndNetworkInterfacesByNetworkIdParameters(getEntity().getId());
+ new
GetVmsAndNetworkInterfacesByNetworkIdParameters(getEntity().getId(),
+ NetworkVmFilter.running.equals(getViewFilterType()));
params.setRefresh(getIsQueryFirstTime());
-
- Frontend.RunQuery(VdcQueryType.GetVmsAndNetworkInterfacesByNetworkId,
params, asyncQuery);
+ Frontend.RunQuery(VdcQueryType.GetVmsAndNetworkInterfacesByNetworkId,
+ params,
+ asyncQuery);
}
@Override
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 5e7c106..9004289 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
@@ -1630,6 +1630,13 @@
@DefaultStringValue("Unattached")
String unattachedHost();
+ // Network - Vm
+ @DefaultStringValue("Running")
+ String runningVm();
+
+ @DefaultStringValue("Not running")
+ String notRunningVm();
+
// Network
@DefaultStringValue("VM")
String vmNetworkRole();
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkVmView.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkVmView.java
index 57e42e9..a1af8da 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkVmView.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkVmView.java
@@ -1,5 +1,7 @@
package org.ovirt.engine.ui.webadmin.section.main.view.tab.network;
+import java.util.Arrays;
+
import javax.inject.Inject;
import org.ovirt.engine.core.common.businessentities.NetworkView;
@@ -8,11 +10,13 @@
import org.ovirt.engine.core.common.utils.PairQueryable;
import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider;
+import org.ovirt.engine.ui.common.view.ViewRadioGroup;
import org.ovirt.engine.ui.common.widget.table.column.NicActivateStatusColumn;
import org.ovirt.engine.ui.common.widget.table.column.RxTxRateColumn;
import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
import org.ovirt.engine.ui.uicommonweb.UICommand;
import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkListModel;
+import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkVmFilter;
import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkVmListModel;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
@@ -22,6 +26,9 @@
import org.ovirt.engine.ui.webadmin.widget.table.column.VmStatusColumn;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.user.client.ui.RadioButton;
public class SubTabNetworkVmView extends AbstractSubTabTableView<NetworkView,
PairQueryable<VmNetworkInterface, VM>, NetworkListModel, NetworkVmListModel>
implements SubTabNetworkVmPresenter.ViewDef {
@@ -30,92 +37,144 @@
ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
}
+ private final ApplicationConstants constants;
+ private final ApplicationTemplates templates;
+ private final ViewRadioGroup<NetworkVmFilter> viewRadioGroup;
+
@Inject
public
SubTabNetworkVmView(SearchableDetailModelProvider<PairQueryable<VmNetworkInterface,
VM>, NetworkListModel, NetworkVmListModel> modelProvider, ApplicationConstants
constants, ApplicationTemplates templates) {
super(modelProvider);
ViewIdHandler.idHandler.generateAndSetIds(this);
- initTable(constants, templates);
+ this.constants = constants;
+ this.templates = templates;
+ viewRadioGroup = new
ViewRadioGroup<NetworkVmFilter>(Arrays.asList(NetworkVmFilter.values()));
+ viewRadioGroup.setSelectedValue(NetworkVmFilter.running);
+ initTable();
initWidget(getTable());
}
- void initTable(final ApplicationConstants constants, final
ApplicationTemplates templates) {
- getTable().addColumn(new
VmStatusColumn<PairQueryable<VmNetworkInterface, VM>>(), constants.empty(),
"30px"); //$NON-NLS-1$
-
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
nameColumn = new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>()
{
+ private void initTableOverhead() {
+ viewRadioGroup.addClickHandler(new ClickHandler() {
@Override
- public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getSecond().getVmName();
- }
- };
- getTable().addColumn(nameColumn, constants.nameVm(), "120px");
//$NON-NLS-1$
-
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
clusterColumn = new TextColumnWithTooltip<PairQueryable<VmNetworkInterface,
VM>>() {
- @Override
- public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getSecond().getVdsGroupName();
- }
- };
- getTable().addColumn(clusterColumn, constants.clusterVm(), "120px");
//$NON-NLS-1$
-
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>> ipColumn
= new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>() {
- @Override
- public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getSecond().getVmIp();
- }
- };
- getTable().addColumn(ipColumn, constants.ipVm());
-
- getTable().addColumn(new
NicActivateStatusColumn<PairQueryable<VmNetworkInterface, VM>>(),
constants.vnicStatusNetworkVM(), "70px"); //$NON-NLS-1$
-
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
vnicNameColumn = new TextColumnWithTooltip<PairQueryable<VmNetworkInterface,
VM>>() {
- @Override
- public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getFirst().getName();
- }
- };
- getTable().addColumn(vnicNameColumn, constants.vnicNetworkVM());
-
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>> rxColumn
= new RxTxRateColumn<PairQueryable<VmNetworkInterface, VM>>() {
- @Override
- protected Double getRate(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getFirst().getStatistics().getReceiveRate();
- }
-
- @Override
- protected Double getSpeed(PairQueryable<VmNetworkInterface, VM>
object) {
- if (object.getFirst().getSpeed() != null) {
- return object.getFirst().getSpeed().doubleValue();
- } else {
- return null;
+ public void onClick(ClickEvent event) {
+ if (((RadioButton) event.getSource()).getValue()) {
+ handleRadioButtonClick(event);
}
}
- };
- getTable().addColumnWithHtmlHeader(rxColumn,
templates.sub(constants.rxNetworkVM(), constants.mbps()).asString());
+ });
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>> txColumn
= new RxTxRateColumn<PairQueryable<VmNetworkInterface, VM>>() {
- @Override
- protected Double getRate(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getFirst().getStatistics().getTransmitRate();
- }
+ getTable().setTableOverhead(viewRadioGroup);
+ getTable().setTableTopMargin(20);
+ }
- @Override
- protected Double getSpeed(PairQueryable<VmNetworkInterface, VM>
object) {
- if (object.getFirst().getSpeed() != null) {
- return object.getFirst().getSpeed().doubleValue();
- } else {
- return null;
+ private void handleRadioButtonClick(ClickEvent event) {
+
getDetailModel().setViewFilterType((viewRadioGroup.getSelectedValue()));
+
+ boolean running = viewRadioGroup.getSelectedValue() ==
NetworkVmFilter.running;
+
+ getTable().ensureColumnPresent(vmStatusColumn, constants.empty(),
true, "30px"); //$NON-NLS-1$
+
+ getTable().ensureColumnPresent(nameColumn, constants.nameVm(), true,
"120px"); //$NON-NLS-1$
+
+ getTable().ensureColumnPresent(clusterColumn, constants.clusterVm(),
true, "120px"); //$NON-NLS-1$
+
+ getTable().ensureColumnPresent(ipColumn, constants.ipVm(), true);
+
+ getTable().ensureColumnPresent(nicActivateStatusColumn,
constants.vnicStatusNetworkVM(), true, "70px"); //$NON-NLS-1$
+
+ getTable().ensureColumnPresent(vnicNameColumn,
constants.vnicNetworkVM(), true);
+
+ getTable().ensureColumnPresent(rxColumn,
+ templates.sub(constants.rxNetworkVM(),
constants.mbps()).asString(),
+ running);
+
+ getTable().ensureColumnPresent(txColumn,
+ templates.sub(constants.txNetworkVM(),
constants.mbps()).asString(),
+ running);
+
+ getTable().ensureColumnPresent(descriptionColumn,
constants.descriptionVm(), true);
+ }
+
+ private final VmStatusColumn<PairQueryable<VmNetworkInterface, VM>>
vmStatusColumn =
+ new VmStatusColumn<PairQueryable<VmNetworkInterface, VM>>();
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
nameColumn =
+ new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>()
{
+ @Override
+ public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getSecond().getVmName();
}
- }
- };
- getTable().addColumnWithHtmlHeader(txColumn,
templates.sub(constants.txNetworkVM(), constants.mbps()).asString());
+ };
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
clusterColumn =
+ new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>()
{
+ @Override
+ public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getSecond().getVdsGroupName();
+ }
+ };
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
ipColumn =
+ new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>()
{
+ @Override
+ public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getSecond().getVmIp();
+ }
+ };
- TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
descriptionColumn = new TextColumnWithTooltip<PairQueryable<VmNetworkInterface,
VM>>() {
- @Override
- public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
- return object.getSecond().getDescription();
- }
- };
- getTable().addColumn(descriptionColumn, constants.descriptionVm());
+ private final NicActivateStatusColumn<PairQueryable<VmNetworkInterface,
VM>> nicActivateStatusColumn =
+ new NicActivateStatusColumn<PairQueryable<VmNetworkInterface,
VM>>();
+
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
vnicNameColumn =
+ new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>()
{
+ @Override
+ public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getFirst().getName();
+ }
+ };
+
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
rxColumn =
+ new RxTxRateColumn<PairQueryable<VmNetworkInterface, VM>>() {
+ @Override
+ protected Double getRate(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getFirst().getStatistics().getReceiveRate();
+ }
+
+ @Override
+ protected Double getSpeed(PairQueryable<VmNetworkInterface,
VM> object) {
+ if (object.getFirst().getSpeed() != null) {
+ return object.getFirst().getSpeed().doubleValue();
+ } else {
+ return null;
+ }
+ }
+ };
+
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
txColumn =
+ new RxTxRateColumn<PairQueryable<VmNetworkInterface, VM>>() {
+ @Override
+ protected Double getRate(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getFirst().getStatistics().getTransmitRate();
+ }
+
+ @Override
+ protected Double getSpeed(PairQueryable<VmNetworkInterface,
VM> object) {
+ if (object.getFirst().getSpeed() != null) {
+ return object.getFirst().getSpeed().doubleValue();
+ } else {
+ return null;
+ }
+ }
+ };
+
+ private final TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>
descriptionColumn =
+ new TextColumnWithTooltip<PairQueryable<VmNetworkInterface, VM>>()
{
+ @Override
+ public String getValue(PairQueryable<VmNetworkInterface, VM>
object) {
+ return object.getSecond().getDescription();
+ }
+ };
+
+ private void initTable() {
+ initTableOverhead();
+ handleRadioButtonClick(null);
getTable().addActionButton(new
WebAdminButtonDefinition<PairQueryable<VmNetworkInterface,
VM>>(constants.removeInterface()) {
@Override
--
To view, visit http://gerrit.ovirt.org/10367
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icb728293bfa1b6d8b50933ffc971de30ce2a5af9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alona Kaplan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches