Eli Mesika has uploaded a new change for review.

Change subject: core: When updating entity name the event...
......................................................................

core: When updating entity name the event...

When updating entity name the event message should contain the
former entity name.

This patch adds a event log message when an entity is renamed so the
proceeding log message on the entity update that uses the new name is
clear.

This is doe by introducing a RenamedEntityInfoProvider interface that
all relevant Update*Command are implementing.
The interface forces those commands to state the affected entity name,
the old entity name, the new entity name and to set the relevant object
ID such that the relevant event will be shown when the entity is
selected in the UI.
The CommandBase is checking for each command if it implements the
RenamedEntityInfoProvider interface and checks if the entity was
renamed. If it founds that the entity was renamed, a proper message is
written to the audit log.

Change-Id: I17f0049ca0ffb1a3868ba404b112a8c10ee7778e
Signed-off-by: Eli Mesika <emes...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RenamedEntityInfoProvider.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmPoolWithVmsCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
M 
backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ReflectionUtils.java
14 files changed, 278 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/11756/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 3c83ab8..aa29fbd 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
@@ -1,6 +1,7 @@
 package org.ovirt.engine.core.bll;
 
 import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -32,6 +33,7 @@
 import org.ovirt.engine.core.bll.tasks.AsyncTaskUtils;
 import org.ovirt.engine.core.bll.tasks.SPMAsyncTaskHandler;
 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.VdcActionParametersBase.CommandExecutionReason;
@@ -72,6 +74,7 @@
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 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;
@@ -537,6 +540,42 @@
 
     protected void endSuccessfully() {
         setSucceeded(true);
+    }
+
+    private void logRenamedEntity() {
+        if (this instanceof RenamedEntityInfoProvider) {
+            String entity="UNKNOWN";
+            String oldName="";
+            String newName="";
+            try {
+                entity = ReflectionUtils.getMethodValue(this, 
"getEntityName").toString();
+                oldName = ReflectionUtils.getMethodValue(this, 
"getOldName").toString();
+                newName = ReflectionUtils.getMethodValue(this, 
"getNewName").toString();
+                if (!oldName.equals(newName)) {
+                    // log entity rename details
+                    AuditLogableBase logable = new AuditLogableBase();
+                    logable.AddCustomValue("EntityName", entity);
+                    logable.AddCustomValue("OldName", oldName);
+                    logable.AddCustomValue("NewName", newName);
+                    Class<AuditLogableBase> partypes[] = new Class[1];
+                    partypes[0] = AuditLogableBase.class;
+                    Object arglist[] = new Object[1];
+                    arglist[0] = logable;
+                    ReflectionUtils.callMethod(this, "setId", partypes, 
arglist);
+                    AuditLogDirector.log(logable, AuditLogType.ENTITY_RENAMED);
+                }
+            } catch (SecurityException e) {
+                e.printStackTrace();
+            } catch (IllegalArgumentException e) {
+                e.printStackTrace();
+            } catch (NoSuchMethodException e) {
+                e.printStackTrace();
+            } catch (IllegalAccessException e) {
+                e.printStackTrace();
+            } catch (InvocationTargetException e) {
+                e.printStackTrace();
+            }
+        }
     }
 
     private void internalEndWithFailure() {
@@ -1122,6 +1161,7 @@
             try {
                 freeLock();
                 if (getCommandShouldBeLogged()) {
+                    logRenamedEntity();
                     logCommand();
                 }
                 if (getSucceeded()) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RenamedEntityInfoProvider.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RenamedEntityInfoProvider.java
new file mode 100644
index 0000000..e6f76ca
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RenamedEntityInfoProvider.java
@@ -0,0 +1,11 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
+
+public interface RenamedEntityInfoProvider {
+
+    public String getEntityName();
+    public String getOldName();
+    public String getNewName();
+    public void setId(AuditLogableBase logable);
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java
index 5773fa8..8661b8d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java
@@ -25,11 +25,12 @@
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
 import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
 @NonTransactiveCommandAttribute(forceCompensation = true)
-public class UpdateVdsCommand<T extends UpdateVdsActionParameters> extends 
VdsCommand<T> {
+public class UpdateVdsCommand<T extends UpdateVdsActionParameters>  extends 
VdsCommand<T>  implements RenamedEntityInfoProvider{
 
     private VDS _oldVds;
     private static final List<String> UPDATE_FIELDS_VDS_BROKER = 
Arrays.asList("host_name", "ip", "vds_unique_id", "port", "vds_group_id");
@@ -208,4 +209,24 @@
         return super.getValidationGroups();
     }
 
+    @Override
+    public String getEntityName() {
+        return "Host";
+    }
+
+    @Override
+    public String getOldName() {
+        return _oldVds.getvds_name();
+    }
+
+    @Override
+    public String getNewName() {
+        return getParameters().getVdsStaticData().getvds_name();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+        logable.setVdsId(_oldVds.getId());
+    }
+
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
index 6abe895..cc51778 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
@@ -34,7 +34,7 @@
 
 @SuppressWarnings("serial")
 public class UpdateVdsGroupCommand<T extends VdsGroupOperationParameters> 
extends
-        VdsGroupOperationCommandBase<T> {
+        VdsGroupOperationCommandBase<T>  implements RenamedEntityInfoProvider{
 
     private List<VDS> allForVdsGroup;
     private VDSGroup oldGroup;
@@ -332,4 +332,24 @@
     protected NetworkDao getNetworkDAO() {
         return getDbFacade().getNetworkDao();
     }
+
+    @Override
+    public String getEntityName() {
+        return "Cluster";
+    }
+
+    @Override
+    public String getOldName() {
+        return oldGroup.getname();
+    }
+
+    @Override
+    public String getNewName() {
+        return getParameters().getVdsGroup().getname();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+        logable.setVdsGroupId(oldGroup.getId());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
index f5f3257..54e9109 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
@@ -38,6 +38,7 @@
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.dao.VmDeviceDAO;
 import org.ovirt.engine.core.utils.linq.LinqUtils;
 import org.ovirt.engine.core.utils.linq.Predicate;
@@ -48,8 +49,9 @@
 
 @LockIdNameAttribute
 public class UpdateVmCommand<T extends VmManagementParametersBase> extends 
VmManagementCommandBase<T>
-        implements QuotaVdsDependent {
+        implements QuotaVdsDependent, RenamedEntityInfoProvider{
     private static final long serialVersionUID = -2444359305003244168L;
+    private VM oldVm;
 
     public UpdateVmCommand(T parameters) {
         super(parameters);
@@ -70,7 +72,7 @@
 
     @Override
     protected void executeVmCommand() {
-        VM oldVm = getVm();
+        oldVm = getVm();
         getVmStaticDAO().incrementDbGeneration(getVm().getId());
         VmStatic newVmStatic = getParameters().getVmStaticData();
         newVmStatic.setCreationDate(oldVm.getStaticData().getCreationDate());
@@ -379,5 +381,23 @@
         }
         return list;
     }
+    @Override
+    public String getEntityName() {
+        return "VM";
+    }
 
+    @Override
+    public String getOldName() {
+        return oldVm.getVmName();
+    }
+
+    @Override
+    public String getNewName() {
+        return getParameters().getVmStaticData().getVmName();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+       logable.setVmId(oldVm.getId());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmPoolWithVmsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmPoolWithVmsCommand.java
index ac6779f..9c5afd4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmPoolWithVmsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmPoolWithVmsCommand.java
@@ -5,11 +5,13 @@
 import org.ovirt.engine.core.common.businessentities.vm_pools;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 
 @DisableInPrepareMode
 @NonTransactiveCommandAttribute(forceCompensation = true)
-public class UpdateVmPoolWithVmsCommand<T extends AddVmPoolWithVmsParameters> 
extends CommonVmPoolWithVmsCommand<T> {
+public class UpdateVmPoolWithVmsCommand<T extends AddVmPoolWithVmsParameters> 
extends CommonVmPoolWithVmsCommand<T>  implements RenamedEntityInfoProvider{
 
+    private vm_pools oldPool;
     /**
      * Constructor for command creation when compensation is applied on startup
      *
@@ -32,7 +34,7 @@
     @Override
     protected boolean canDoAction() {
         boolean returnValue = super.canDoAction();
-        vm_pools oldPool = getVmPoolDAO().get(getVmPool().getvm_pool_id());
+        oldPool = getVmPoolDAO().get(getVmPool().getvm_pool_id());
         if (returnValue && oldPool == null) {
             
addCanDoActionMessage(VdcBllMessages.VM_POOL_CANNOT_UPDATE_POOL_NOT_FOUND);
             returnValue = false;
@@ -60,4 +62,23 @@
         super.executeCommand();
         Backend.getInstance().triggerPoolMonitoringJob();
     }
+
+    @Override
+    public String getEntityName() {
+        return "VM Pool";
+    }
+
+    @Override
+    public String getOldName() {
+        return oldPool.getvm_pool_name();
+    }
+
+    @Override
+    public String getNewName() {
+        return getParameters().getVmPool().getvm_pool_name();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
index 19ecdfa..c21f17a 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
@@ -19,10 +19,11 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 
 
 public class UpdateVmTemplateCommand<T extends UpdateVmTemplateParameters> 
extends VmTemplateCommand<T>
-        implements QuotaVdsDependent{
+        implements QuotaVdsDependent, RenamedEntityInfoProvider{
     private VmTemplate mOldTemplate;
 
     public UpdateVmTemplateCommand(T parameters) {
@@ -129,4 +130,25 @@
         list.add(new 
QuotaSanityParameter(getParameters().getVmTemplateData().getQuotaId(), null));
         return list;
     }
+
+
+    @Override
+     public String getEntityName() {
+         return "Template";
+     }
+
+     @Override
+     public String getOldName() {
+         return mOldTemplate.getname();
+     }
+
+     @Override
+     public String getNewName() {
+         return getParameters().getVmTemplateData().getName();
+     }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+        logable.setVmTemplateId(mOldTemplate.getId());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
index d88b204..f20f362 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 
+import org.ovirt.engine.core.bll.RenamedEntityInfoProvider;
 import org.ovirt.engine.core.bll.ValidationResult;
 import org.ovirt.engine.core.bll.network.cluster.NetworkClusterHelper;
 import org.ovirt.engine.core.common.AuditLogType;
@@ -14,9 +15,10 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 
 @SuppressWarnings("serial")
-public class UpdateNetworkCommand<T extends AddNetworkStoragePoolParameters> 
extends NetworkCommon<T> {
+public class UpdateNetworkCommand<T extends AddNetworkStoragePoolParameters> 
extends NetworkCommon<T> implements RenamedEntityInfoProvider{
     private Network oldNetwork;
 
     public UpdateNetworkCommand(T parameters) {
@@ -111,4 +113,24 @@
                 ? new 
ValidationResult(VdcBllMessages.NETWORK_CAN_NOT_REMOVE_DEFAULT_NETWORK)
                 : ValidationResult.VALID;
     }
+
+    @Override
+    public String getEntityName() {
+        return "Network";
+    }
+
+    @Override
+    public String getOldName() {
+        return oldNetwork.getName();
+    }
+
+    @Override
+    public String getNewName() {
+        return getParameters().getNetwork().getName();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
index 8cd39d1..bd7d131 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
@@ -4,6 +4,7 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.bll.Backend;
+import org.ovirt.engine.core.bll.RenamedEntityInfoProvider;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
@@ -14,23 +15,24 @@
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.utils.ObjectIdentityChecker;
 
 public class UpdateStorageDomainCommand<T extends 
StorageDomainManagementParameter> extends
-        StorageDomainManagementCommandBase<T> {
+        StorageDomainManagementCommandBase<T>  implements 
RenamedEntityInfoProvider {
     public UpdateStorageDomainCommand(T parameters) {
         super(parameters);
     }
 
     private boolean _storageDomainNameChanged;
+    private StorageDomainStatic oldDomain;
 
     @Override
     protected boolean canDoAction() {
         addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);
         boolean returnValue = super.canDoAction() && checkStorageDomain()
                 && checkStorageDomainStatus(StorageDomainStatus.Active) && 
checkStorageDomainNameLengthValid();
-        StorageDomainStatic oldDomain =
-                
DbFacade.getInstance().getStorageDomainStaticDao().get(getStorageDomain().getId());
+        oldDomain = 
DbFacade.getInstance().getStorageDomainStaticDao().get(getStorageDomain().getId());
 
         // Only after validating the existing of the storage domain in DB, we 
set the field lastTimeUsedAsMaster in the
         // storage domain which is about to be updated.
@@ -94,4 +96,23 @@
         return super.getValidationGroups();
     }
 
+    @Override
+    public String getEntityName() {
+        return "Storage Domain";
+    }
+
+    @Override
+    public String getOldName() {
+        return oldDomain.getstorage_name();
+    }
+
+    @Override
+    public String getNewName() {
+        return getStorageDomain().getstorage_name();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+        logable.setStorageDomainId(oldDomain.getId());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
index 31ef0a4..59f6d33 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
@@ -6,6 +6,7 @@
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.bll.Backend;
 import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
+import org.ovirt.engine.core.bll.RenamedEntityInfoProvider;
 import org.ovirt.engine.core.bll.utils.VersionSupport;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.StoragePoolManagementParameter;
@@ -26,13 +27,14 @@
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.dao.StorageDomainStaticDAO;
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
 import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
 @NonTransactiveCommandAttribute
 public class UpdateStoragePoolCommand<T extends 
StoragePoolManagementParameter> extends
-        StoragePoolManagementCommandBase<T> {
+        StoragePoolManagementCommandBase<T>  implements 
RenamedEntityInfoProvider{
     public UpdateStoragePoolCommand(T parameters) {
         super(parameters);
     }
@@ -249,4 +251,24 @@
     private static void copyUnchangedStoragePoolProperties(storage_pool 
newStoragePool, storage_pool oldStoragePool) {
         
newStoragePool.setStoragePoolFormatType(oldStoragePool.getStoragePoolFormatType());
     }
+
+    @Override
+    public String getEntityName() {
+        return "Data Center";
+    }
+
+    @Override
+    public String getOldName() {
+        return _oldStoragePool.getname();
+    }
+
+    @Override
+    public String getNewName() {
+        return getParameters().getStoragePool().getname();
+    }
+
+    @Override
+    public void setId(AuditLogableBase logable) {
+        logable.setStoragePoolId(_oldStoragePool.getId());
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
index cd6cd39..8a855a3 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
@@ -641,6 +641,9 @@
     USER_ACCOUNT_DISABLED_OR_LOCKED(1100, 
AuditLogTimeInterval.HOUR.getValue()),
     USER_ACCOUNT_PASSWORD_EXPIRED(1101, AuditLogTimeInterval.HOUR.getValue()),
 
+    // General
+    ENTITY_RENAMED(1200),
+
     VDS_ALERT_FENCE_IS_NOT_CONFIGURED(9000),
     VDS_ALERT_FENCE_TEST_FAILED(9001),
     VDS_ALERT_FENCE_OPERATION_FAILED(9002),
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
index 413d7d6..238e737 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
@@ -55,6 +55,7 @@
         initConfigSeverities();
         initUserAccountSeverities();
         checkSeverities();
+        initGeneral();
     }
 
     private static void initGlusterVolumeSeverities() {
@@ -706,6 +707,9 @@
         mSeverities.put(AuditLogType.USER_ACCOUNT_PASSWORD_EXPIRED, 
AuditLogSeverity.ERROR);
     }
 
+    private static void initGeneral() {
+        mSeverities.put(AuditLogType.ENTITY_RENAMED, AuditLogSeverity.NORMAL);
+    }
     private static void initDwhSeverities() {
         mSeverities.put(AuditLogType.DWH_STOPPED, AuditLogSeverity.NORMAL);
         mSeverities.put(AuditLogType.DWH_STARTED, AuditLogSeverity.NORMAL);
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
index 29437e0..2fb1333 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
@@ -537,6 +537,7 @@
 RELOAD_CONFIGURATIONS_FAILURE=System Configurations failed to reload.
 USER_ACCOUNT_DISABLED_OR_LOCKED=User ${UserName} cannot login, as it got 
disabled or locked. Please contact the system administrator.
 USER_ACCOUNT_PASSWORD_EXPIRED=User ${UserName} cannot login, as the user 
account password has expired. Please contact the system administrator.
+ENTITY_RENAMED=${EntityName} ${OldName} was renamed from ${OldName} to 
${NewName}.
 STORAGE_DOMAIN_TASKS_ERROR=Storage Domain ${StorageDomainName} is down while 
there are tasks running on it. These tasks may fail.
 IMPORTEXPORT_IMPORT_VM_INVALID_INTERFACES=While importing VM ${VmName}, the 
Network/s ${Networks} were found to be Non-VM Networks or do not exist in 
Cluster. Network Name was not set in the Interface/s ${Interfaces}.
 IMPORTEXPORT_IMPORT_TEMPLATE_INVALID_INTERFACES=While importing Template 
${VmTemplateName}, the Network/s ${Networks} were found to be Non-VM Networks 
or do not exist in Cluster. Network Name was not set in the Interface/s 
${Interfaces}.
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ReflectionUtils.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ReflectionUtils.java
index 5c036fe..747a593 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ReflectionUtils.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ReflectionUtils.java
@@ -3,6 +3,7 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
 
 
 
@@ -107,4 +108,41 @@
         }
         return null;
     }
+
+    /**
+     * Gets a method (without parametrs) return value
+     *
+     * @param cls
+     * @param method
+     * @return
+     * @throws SecurityException
+     * @throws NoSuchMethodException
+     * @throws IllegalArgumentException
+     * @throws IllegalAccessException
+     * @throws InvocationTargetException
+     */
+    public static Object getMethodValue(Object o, String method) throws 
SecurityException, NoSuchMethodException,
+            IllegalArgumentException, IllegalAccessException, 
InvocationTargetException {
+        return o.getClass().getMethod(method).invoke(o);
+    }
+
+    /**
+     * Calls a method with parameters
+     *
+     * @param method
+     * @param objects
+     * @param arglist
+     * @return
+     * @throws SecurityException
+     * @throws NoSuchMethodException
+     * @throws IllegalArgumentException
+     * @throws IllegalAccessException
+     * @throws InvocationTargetException
+     */
+    public static void callMethod(Object o, String method, Class[] partypes, 
Object[] arglist)
+            throws SecurityException,
+            NoSuchMethodException, IllegalArgumentException, 
IllegalAccessException, InvocationTargetException {
+        (o.getClass().getMethod(method, partypes)).invoke(o, arglist);
+    }
 }
+


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

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

Reply via email to