Ravi Nori has uploaded a new change for review. Change subject: engine, webadmin: Clear all option in RHEV admin portal does not clear any alerts ......................................................................
engine, webadmin: Clear all option in RHEV admin portal does not clear any alerts Rename "Clear All" to "Display All" and implement "Clear All" that clears all alerts. Change-Id: I07e78feaf972b0a3097c64b592a28e71256d9805 Bug-Url: https://bugzilla.redhat.com/1206264 Signed-off-by: Ravi Nori <[email protected]> --- R backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HandleAuditLogAlertsVisibilityCommand.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HandleAuditLogAlertsVisibilityParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendEventsResourceTest.java M backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/AuditLogDaoMocker.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/AlertListModel.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/widget/footer/AlertsEventsFooterView.java M packaging/dbscripts/audit_log_sp.sql 12 files changed, 74 insertions(+), 22 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/79/39579/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ClearAllDismissedAuditLogsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HandleAuditLogAlertsVisibilityCommand.java similarity index 73% rename from backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ClearAllDismissedAuditLogsCommand.java rename to backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HandleAuditLogAlertsVisibilityCommand.java index f3752dc..501b455 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ClearAllDismissedAuditLogsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HandleAuditLogAlertsVisibilityCommand.java @@ -3,7 +3,7 @@ import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.VdcObjectType; -import org.ovirt.engine.core.common.action.VdcActionParametersBase; +import org.ovirt.engine.core.common.action.HandleAuditLogAlertsVisibilityParameters; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; @@ -11,8 +11,8 @@ import java.util.Collections; import java.util.List; -public class ClearAllDismissedAuditLogsCommand<T extends VdcActionParametersBase> extends CommandBase<T> { - public ClearAllDismissedAuditLogsCommand(T parameters) { +public class HandleAuditLogAlertsVisibilityCommand<T extends HandleAuditLogAlertsVisibilityParameters> extends CommandBase<T> { + public HandleAuditLogAlertsVisibilityCommand(T parameters) { super(parameters); } @@ -23,7 +23,7 @@ @Override protected void executeCommand() { - DbFacade.getInstance().getAuditLogDao().clearAllDismissed(); + DbFacade.getInstance().getAuditLogDao().setAuditLogAlertsVisibility(getParameters().isVisible()); setSucceeded(true); } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HandleAuditLogAlertsVisibilityParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HandleAuditLogAlertsVisibilityParameters.java new file mode 100644 index 0000000..5da4972 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HandleAuditLogAlertsVisibilityParameters.java @@ -0,0 +1,20 @@ +package org.ovirt.engine.core.common.action; + +public class HandleAuditLogAlertsVisibilityParameters extends VdcActionParametersBase { + private static final long serialVersionUID = 6771808352383260271L; + + private boolean visible; + public HandleAuditLogAlertsVisibilityParameters() {} + + public HandleAuditLogAlertsVisibilityParameters(boolean visible) { + setVisible(visible); + } + + public boolean isVisible() { + return visible; + } + + public void setVisible(boolean visible) { + this.visible = visible; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java index c73ebbe..dc904c5 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java @@ -418,7 +418,7 @@ // Audit Log RemoveAuditLogById(2100, false, QuotaDependency.NONE), - ClearAllDismissedAuditLogs(2101, false, QuotaDependency.NONE), + HandleAuditLogAlertsVisibility(2101, false, QuotaDependency.NONE), SetDataOnSession(3000, false, QuotaDependency.NONE), diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAO.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAO.java index b42c23d..47b0601 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAO.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAO.java @@ -155,5 +155,5 @@ * Clears all previously dismissed audit log entries. All audit logs * delete flag will be set back to false. */ - void clearAllDismissed(); + void setAuditLogAlertsVisibility(boolean visible); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java index 00b7584..9981190 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AuditLogDAODbFacadeImpl.java @@ -215,8 +215,10 @@ } @Override - public void clearAllDismissed() { - getCallsHandler().executeModification("ClearAllDismissedAuditLogs", getCustomMapSqlParameterSource()); + public void setAuditLogAlertsVisibility(boolean visible) { + MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() + .addValue("is_deleted", !visible); + getCallsHandler().executeModification("setAuditLogAlertsVisibility", parameterSource); } private static class AuditLogRowMapper implements RowMapper<AuditLog> { diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java index 708f510..fef7479 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java @@ -10,8 +10,8 @@ import org.ovirt.engine.api.resource.EventResource; import org.ovirt.engine.api.resource.EventsResource; import org.ovirt.engine.core.common.action.AddExternalEventParameters; +import org.ovirt.engine.core.common.action.HandleAuditLogAlertsVisibilityParameters; import org.ovirt.engine.core.common.action.RemoveAuditLogByIdParameters; -import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.AuditLog; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -41,7 +41,7 @@ @Override public Response undelete(Action action) { - return performAction(VdcActionType.ClearAllDismissedAuditLogs, new VdcActionParametersBase(), action, false); + return performAction(VdcActionType.HandleAuditLogAlertsVisibility, new HandleAuditLogAlertsVisibilityParameters(true), action, false); } @Override diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendEventsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendEventsResourceTest.java index 5c2202d..a1deaaa 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendEventsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendEventsResourceTest.java @@ -15,8 +15,8 @@ import org.ovirt.engine.core.common.AuditLogSeverity; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.action.AddExternalEventParameters; +import org.ovirt.engine.core.common.action.HandleAuditLogAlertsVisibilityParameters; import org.ovirt.engine.core.common.action.RemoveAuditLogByIdParameters; -import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.AuditLog; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -110,10 +110,10 @@ @Test public void testUndelete() throws Exception { - setUriInfo(setUpActionExpectations(VdcActionType.ClearAllDismissedAuditLogs, - VdcActionParametersBase.class, - new String[] {}, - new Object[] {}, + setUriInfo(setUpActionExpectations(VdcActionType.HandleAuditLogAlertsVisibility, + HandleAuditLogAlertsVisibilityParameters.class, + new String[] { "Visible"}, + new Object[] { true }, true, true)); diff --git a/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/AuditLogDaoMocker.java b/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/AuditLogDaoMocker.java index 8751ace..21a3c3f 100644 --- a/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/AuditLogDaoMocker.java +++ b/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/AuditLogDaoMocker.java @@ -90,7 +90,7 @@ } @Override - public void clearAllDismissed() { + public void setAuditLogAlertsVisibility(boolean visible) { } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/AlertListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/AlertListModel.java index 59bdf97..eaad07d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/AlertListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/AlertListModel.java @@ -2,8 +2,8 @@ import java.util.ArrayList; +import org.ovirt.engine.core.common.action.HandleAuditLogAlertsVisibilityParameters; import org.ovirt.engine.core.common.action.RemoveAuditLogByIdParameters; -import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.AuditLog; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -30,6 +30,16 @@ dismissCommand = value; } + private UICommand displayAllCommand; + + public UICommand getDisplayAllCommand() { + return displayAllCommand; + } + + public void setDisplayAllCommand(UICommand value) { + displayAllCommand = value; + } + private UICommand clearAllCommand; public UICommand getClearAllCommand() { @@ -45,6 +55,7 @@ setTitle(ConstantsManager.getInstance().getConstants().alertsTitle()); setIsTimerDisabled(false); setDismissCommand(new UICommand("Dismiss Alert", this)); //$NON-NLS-1$ + setDisplayAllCommand(new UICommand("Display All", this)); //$NON-NLS-1$ setClearAllCommand(new UICommand("Clear All", this)); //$NON-NLS-1$ } @@ -55,9 +66,13 @@ { dismissAlert(); } + else if (command == getDisplayAllCommand()) + { + displayAllDismissedAlerts(); + } else if (command == getClearAllCommand()) { - clearAllDismissedAlerts(); + clearAllDismissedAlerts(); } } @@ -92,8 +107,13 @@ } public void clearAllDismissedAlerts() { - VdcActionParametersBase params = new VdcActionParametersBase(); - Frontend.getInstance().runAction(VdcActionType.ClearAllDismissedAuditLogs, params); + HandleAuditLogAlertsVisibilityParameters params = new HandleAuditLogAlertsVisibilityParameters(false); + Frontend.getInstance().runAction(VdcActionType.HandleAuditLogAlertsVisibility, params); + } + + public void displayAllDismissedAlerts() { + HandleAuditLogAlertsVisibilityParameters params = new HandleAuditLogAlertsVisibilityParameters(true); + Frontend.getInstance().runAction(VdcActionType.HandleAuditLogAlertsVisibility, params); } @Override 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 89a2e49..4c11607 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 @@ -2569,6 +2569,9 @@ @DefaultStringValue("Clear All") String clearAllDismissedAlerts(); + @DefaultStringValue("Display All") + String displayAllDismissedAlerts(); + @DefaultStringValue("Dismiss Alert") String dismissAlert(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java index a23d25c..e4a17d2 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java @@ -416,6 +416,13 @@ } }); + table.addActionButton(new WebAdminButtonDefinition<AuditLog>(constants.displayAllDismissedAlerts(), CommandLocation.OnlyFromContext) { + @Override + protected UICommand resolveCommand() { + return alertModelProvider.getModel().getDisplayAllCommand(); + } + }); + table.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { diff --git a/packaging/dbscripts/audit_log_sp.sql b/packaging/dbscripts/audit_log_sp.sql index 3cebdd3..b8a5bf1 100644 --- a/packaging/dbscripts/audit_log_sp.sql +++ b/packaging/dbscripts/audit_log_sp.sql @@ -118,11 +118,11 @@ END; $procedure$ LANGUAGE plpgsql; -Create or replace FUNCTION ClearAllDismissedAuditLogs() +Create or replace FUNCTION setAuditLogAlertsVisibility(v_is_deleted BOOLEAN) RETURNS VOID AS $procedure$ BEGIN - UPDATE audit_log SET deleted = false; + UPDATE audit_log SET deleted = v_is_deleted; END; $procedure$ LANGUAGE plpgsql; -- To view, visit https://gerrit.ovirt.org/39579 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I07e78feaf972b0a3097c64b592a28e71256d9805 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ravi Nori <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
