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

Reply via email to