Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: add audit log warning when display network is set and a 
running VM is attached to the cluster (for AttachNetworksToCluster command).
......................................................................

engine: add audit log warning when display network is set and a running
VM is attached to the cluster (for AttachNetworksToCluster command).

1. Move warning treating code to
AttachNetworkToVdsGroupCommand.updateNetworkAttachment method which is
called from both commands.
2. Move auditLog method from CommandBase to AuditLogableBase class.

Change-Id: I674f7f7a905e3007e9857dd817e125e52d02c448
Bug-Url: https://bugzilla.redhat.com/1078836
Signed-off-by: Yevgeny Zaspitsky <yzasp...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworksToClusterCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelper.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelperTest.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
6 files changed, 44 insertions(+), 32 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/04/26504/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
index c35a8ed..7dc7f59 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
@@ -77,7 +77,6 @@
 import org.ovirt.engine.core.compat.TransactionScopeOption;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
-import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.dal.job.ExecutionMessageDirector;
 import org.ovirt.engine.core.dao.BusinessEntitySnapshotDAO;
@@ -635,10 +634,6 @@
                 auditLog(logable, AuditLogType.ENTITY_RENAMED);
             }
         }
-    }
-
-    public void auditLog(AuditLogableBase logable, AuditLogType logType) {
-        AuditLogDirector.log(logable, logType);
     }
 
     private void internalEndWithFailure() {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
index 1f26437..d4361c8 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
@@ -23,6 +23,8 @@
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
+import org.ovirt.engine.core.dao.VmDAO;
 import org.ovirt.engine.core.dao.network.NetworkClusterDao;
 import org.ovirt.engine.core.utils.NetworkUtils;
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
@@ -62,21 +64,15 @@
 
     @Override
     protected void executeCommand() {
-        final DisplayNetworkClusterHelper displayNetworkClusterHelper = new 
DisplayNetworkClusterHelper(
-                getNetworkClusterDAO(),
-                getVmDAO(),
-                getNetworkCluster(),
-                getNetworkName(),
-                this);
-        if (displayNetworkClusterHelper.isDisplayToBeUpdated()) {
-            displayNetworkClusterHelper.warnOnActiveVm();
-        }
-
         TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
 
             @Override
             public Void runInTransaction() {
-                updateNetworkAttachment(getVdsGroupId(), getNetworkCluster(), 
getNetwork());
+                updateNetworkAttachment(
+                        getVdsGroupId(),
+                        getNetworkCluster(),
+                        getNetwork(),
+                        AttachNetworkToVdsGroupCommand.this);
                 return null;
             }
         });
@@ -211,7 +207,11 @@
         return false;
     }
 
-    public static void updateNetworkAttachment(Guid clusterId, NetworkCluster 
networkCluster, Network network) {
+    public static void updateNetworkAttachment(
+            Guid clusterId,
+            NetworkCluster networkCluster,
+            Network network,
+            AuditLogableBase auditLogableBase) {
         if (networkExists(clusterId, networkCluster)) {
             getNetworkClusterDao().update(networkCluster);
         } else {
@@ -223,6 +223,16 @@
         }
 
         if (network.getCluster().isDisplay()) {
+            final DisplayNetworkClusterHelper displayNetworkClusterHelper = 
new DisplayNetworkClusterHelper(
+                    getNetworkClusterDao(),
+                    getVmDao(),
+                    networkCluster,
+                    network.getName(),
+                    auditLogableBase);
+            if (displayNetworkClusterHelper.isDisplayToBeUpdated()) {
+                displayNetworkClusterHelper.warnOnActiveVm();
+            }
+
             getNetworkClusterDao().setNetworkExclusivelyAsDisplay(clusterId, 
network.getId());
         }
 
@@ -247,4 +257,8 @@
     private static NetworkClusterDao getNetworkClusterDao() {
         return DbFacade.getInstance().getNetworkClusterDao();
     }
+
+    private static VmDAO getVmDao() {
+        return DbFacade.getInstance().getVmDao();
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworksToClusterCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworksToClusterCommand.java
index db72a24..cbb8ef4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworksToClusterCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworksToClusterCommand.java
@@ -40,9 +40,11 @@
             @Override
             public Void runInTransaction() {
                 for (AttachNetworkToVdsGroupParameter param : 
getParameters().getClusterNetworksParameters()) {
-                    
AttachNetworkToVdsGroupCommand.updateNetworkAttachment(param.getVdsGroupId(),
+                    AttachNetworkToVdsGroupCommand.updateNetworkAttachment(
+                            param.getVdsGroupId(),
                             param.getNetworkCluster(),
-                            param.getNetwork());
+                            param.getNetwork(),
+                            AttachNetworksToClusterCommand.this);
                 }
 
                 return null;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelper.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelper.java
index c3b68df..bd6331d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelper.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelper.java
@@ -1,10 +1,8 @@
 package org.ovirt.engine.core.bll.network.cluster.helper;
 
 import org.apache.commons.lang.Validate;
-import org.ovirt.engine.core.bll.CommandBase;
 import org.ovirt.engine.core.bll.common.predicates.ActiveVmAttachedToCluster;
 import org.ovirt.engine.core.common.AuditLogType;
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.dao.VmDAO;
@@ -15,7 +13,7 @@
     private final NetworkClusterDao networkClusterDao;
     private final NetworkCluster networkCluster;
     private final String networkName;
-    private final CommandBase<? extends VdcActionParametersBase> commandBase;
+    private final AuditLogableBase auditLogableBase;
 
     private final ActiveVmAttachedToCluster activeVmAttachedToClusterPredicate;
 
@@ -24,18 +22,18 @@
             VmDAO vmDao,
             NetworkCluster networkCluster,
             String networkName,
-            CommandBase<? extends VdcActionParametersBase> commandBase) {
+            AuditLogableBase auditLogableBase) {
 
         Validate.notNull(networkClusterDao, "networkClusterDao can not be 
null");
         Validate.notNull(vmDao, "vmDao can not be null");
         Validate.notNull(networkCluster, "networkCluster can not be null");
         Validate.notNull(networkName, "networkName can not be null");
-        Validate.notNull(commandBase, "commandBase can not be null");
+        Validate.notNull(auditLogableBase, "auditLogableBase can not be null");
 
         this.networkClusterDao = networkClusterDao;
         this.networkCluster = networkCluster;
         this.networkName = networkName;
-        this.commandBase = commandBase;
+        this.auditLogableBase = auditLogableBase;
         this.activeVmAttachedToClusterPredicate = new 
ActiveVmAttachedToCluster(vmDao);
     }
 
@@ -47,7 +45,7 @@
     public void warnOnActiveVm() {
         if 
(activeVmAttachedToClusterPredicate.evaluate(networkCluster.getClusterId())) {
             AuditLogableBase loggable = createLoggable();
-            commandBase.auditLog(loggable, 
AuditLogType.NETWORK_UPDATE_DISPLAY_FOR_CLUSTER_WITH_ACTIVE_VM);
+            auditLogableBase.auditLog(loggable, 
AuditLogType.NETWORK_UPDATE_DISPLAY_FOR_CLUSTER_WITH_ACTIVE_VM);
         }
     }
 
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelperTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelperTest.java
index c25a084..23467dd 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelperTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/helper/DisplayNetworkClusterHelperTest.java
@@ -12,9 +12,7 @@
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.runners.MockitoJUnitRunner;
-import org.ovirt.engine.core.bll.CommandBase;
 import org.ovirt.engine.core.common.AuditLogType;
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
 import org.ovirt.engine.core.common.businessentities.network.NetworkClusterId;
@@ -47,7 +45,7 @@
     @Mock
     private VM mockVm;
     @Mock
-    private CommandBase<VdcActionParametersBase> mockCommandBase;
+    private AuditLogableBase mockAuditLogableBase;
 
     @Captor
     private ArgumentCaptor<AuditLogableBase> auditLogableBaseCaptor;
@@ -61,7 +59,7 @@
                 mockVmDao,
                 mockNetworkCluster,
                 TEST_NETWORK_NAME,
-                mockCommandBase);
+                mockAuditLogableBase);
 
         
Mockito.when(mockNetworkCluster.getId()).thenReturn(TEST_NETWORK_CLUSTER_ID);
         
Mockito.when(mockNetworkClusterDao.get(TEST_NETWORK_CLUSTER_ID)).thenReturn(mockNetworkClusterBeforeUpdate);
@@ -132,7 +130,7 @@
 
         testWarnOnActiveVmInner(true);
 
-        
Mockito.verify(mockCommandBase).auditLog(auditLogableBaseCaptor.capture(),
+        
Mockito.verify(mockAuditLogableBase).auditLog(auditLogableBaseCaptor.capture(),
                 
Mockito.same(AuditLogType.NETWORK_UPDATE_DISPLAY_FOR_CLUSTER_WITH_ACTIVE_VM));
 
         final AuditLogableBase actualLoggable = 
auditLogableBaseCaptor.getValue();
@@ -145,7 +143,7 @@
 
         testWarnOnActiveVmInner(false);
 
-        Mockito.verifyZeroInteractions(mockCommandBase);
+        Mockito.verifyZeroInteractions(mockAuditLogableBase);
     }
 
     private void testWarnOnActiveVmInner(boolean activeVm) {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
index 0a4f752..6bba39a 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java
@@ -761,4 +761,9 @@
             setCallStack(ExceptionUtils.getStackTrace(throwable));
         }
     }
+
+    public void auditLog(AuditLogableBase logable, AuditLogType logType) {
+        AuditLogDirector.log(logable, logType);
+    }
+
 }


-- 
To view, visit http://gerrit.ovirt.org/26504
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I674f7f7a905e3007e9857dd817e125e52d02c448
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <yzasp...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to