RM-1264: Audit log... description and title values are now displayed on audit details

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@67082 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Hibbins
2014-04-09 16:41:07 +00:00
parent b8aa355a00
commit 5c00775fbc

View File

@@ -31,6 +31,7 @@ import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -348,6 +349,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#isAuditLogEnabled(org.alfresco.service.cmr.repository.NodeRef) * @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#isAuditLogEnabled(org.alfresco.service.cmr.repository.NodeRef)
*/ */
@Override
public boolean isAuditLogEnabled(NodeRef filePlan) public boolean isAuditLogEnabled(NodeRef filePlan)
{ {
ParameterCheck.mandatory("filePlan", filePlan); ParameterCheck.mandatory("filePlan", filePlan);
@@ -361,6 +363,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#startAuditLog(org.alfresco.service.cmr.repository.NodeRef) * @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#startAuditLog(org.alfresco.service.cmr.repository.NodeRef)
*/ */
@Override
public void startAuditLog(NodeRef filePlan) public void startAuditLog(NodeRef filePlan)
{ {
ParameterCheck.mandatory("filePlan", filePlan); ParameterCheck.mandatory("filePlan", filePlan);
@@ -381,6 +384,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#stopAuditLog(org.alfresco.service.cmr.repository.NodeRef) * @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#stopAuditLog(org.alfresco.service.cmr.repository.NodeRef)
*/ */
@Override
public void stopAuditLog(NodeRef filePlan) public void stopAuditLog(NodeRef filePlan)
{ {
ParameterCheck.mandatory("filePlan", filePlan); ParameterCheck.mandatory("filePlan", filePlan);
@@ -432,6 +436,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#getDateAuditLogLastStopped(org.alfresco.service.cmr.repository.NodeRef) * @see org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService#getDateAuditLogLastStopped(org.alfresco.service.cmr.repository.NodeRef)
*/ */
@Override
public Date getDateAuditLogLastStopped(NodeRef filePlan) public Date getDateAuditLogLastStopped(NodeRef filePlan)
{ {
ParameterCheck.mandatory("filePlan", filePlan); ParameterCheck.mandatory("filePlan", filePlan);
@@ -621,6 +626,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
// Start a *new* read-write transaction to audit in // Start a *new* read-write transaction to audit in
RetryingTransactionCallback<Void> auditCallback = new RetryingTransactionCallback<Void>() RetryingTransactionCallback<Void> auditCallback = new RetryingTransactionCallback<Void>()
{ {
@Override
public Void execute() throws Throwable public Void execute() throws Throwable
{ {
auditInTxn(auditedNodes); auditInTxn(auditedNodes);
@@ -690,6 +696,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
public File getAuditTrailFile(RecordsManagementAuditQueryParameters params, ReportFormat format) public File getAuditTrailFile(RecordsManagementAuditQueryParameters params, ReportFormat format)
{ {
ParameterCheck.mandatory("params", params); ParameterCheck.mandatory("params", params);
@@ -722,6 +729,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
public List<RecordsManagementAuditEntry> getAuditTrail(RecordsManagementAuditQueryParameters params) public List<RecordsManagementAuditEntry> getAuditTrail(RecordsManagementAuditQueryParameters params)
{ {
ParameterCheck.mandatory("params", params); ParameterCheck.mandatory("params", params);
@@ -766,6 +774,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
private boolean firstEntry = true; private boolean firstEntry = true;
@Override
public boolean valuesRequired() public boolean valuesRequired()
{ {
return true; return true;
@@ -774,12 +783,14 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* Just log the error, but continue * Just log the error, but continue
*/ */
@Override
public boolean handleAuditEntryError(Long entryId, String errorMsg, Throwable error) public boolean handleAuditEntryError(Long entryId, String errorMsg, Throwable error)
{ {
logger.warn(errorMsg, error); logger.warn(errorMsg, error);
return true; return true;
} }
@Override
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public boolean handleAuditEntry( public boolean handleAuditEntry(
Long entryId, Long entryId,
@@ -1107,6 +1118,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
public NodeRef fileAuditTrailAsRecord(RecordsManagementAuditQueryParameters params, public NodeRef fileAuditTrailAsRecord(RecordsManagementAuditQueryParameters params,
NodeRef destination, ReportFormat format) NodeRef destination, ReportFormat format)
{ {
@@ -1162,6 +1174,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
public List<AuditEvent> getAuditEvents() public List<AuditEvent> getAuditEvents()
{ {
List<AuditEvent> listAuditEvents = new ArrayList<AuditEvent>(this.auditEvents.size()); List<AuditEvent> listAuditEvents = new ArrayList<AuditEvent>(this.auditEvents.size());
@@ -1346,11 +1359,24 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
writer.write("<tr><td>"); writer.write("<tr><td>");
writer.write(getPropertyLabel(valueName)); writer.write(getPropertyLabel(valueName));
writer.write("</td><td>"); writer.write("</td><td>");
Serializable oldValue = values.getFirst();
writer.write(oldValue == null ? "&lt;none&gt;" : StringEscapeUtils.escapeHtml(oldValue.toString())); if(ContentModel.PROP_TITLE.equals(valueName) || ContentModel.PROP_DESCRIPTION.equals(valueName))
writer.write("</td><td>"); {
Serializable newValue = values.getSecond(); Serializable oldValue = values.getFirst();
writer.write(newValue == null ? "&lt;none&gt;" : StringEscapeUtils.escapeHtml(newValue.toString())); writer.write(oldValue == null ? "&lt;none&gt;" : StringEscapeUtils.escapeHtml(getFirstValueFromI18NMLTextValue(oldValue)));
writer.write("</td><td>");
Serializable newValue = values.getSecond();
writer.write(newValue == null ? "&lt;none&gt;" : StringEscapeUtils.escapeHtml(getFirstValueFromI18NMLTextValue(newValue)));
}
else
{
Serializable oldValue = values.getFirst();
writer.write(oldValue == null ? "&lt;none&gt;" : StringEscapeUtils.escapeHtml(oldValue.toString()));
writer.write("</td><td>");
Serializable newValue = values.getSecond();
writer.write(newValue == null ? "&lt;none&gt;" : StringEscapeUtils.escapeHtml(newValue.toString()));
}
writer.write("</td></tr>"); writer.write("</td></tr>");
} }
@@ -1398,8 +1424,17 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
JSONObject changedValue = new JSONObject(); JSONObject changedValue = new JSONObject();
changedValue.put("name", getPropertyLabel(valueName)); changedValue.put("name", getPropertyLabel(valueName));
changedValue.put("previous", values.getFirst() == null ? "" : values.getFirst().toString());
changedValue.put("new", values.getSecond() == null ? "" : values.getSecond().toString()); if(ContentModel.PROP_TITLE.equals(valueName) || ContentModel.PROP_DESCRIPTION.equals(valueName))
{
changedValue.put("previous", getFirstValueFromI18NMLTextValue(values.getFirst()));
changedValue.put("new", getFirstValueFromI18NMLTextValue(values.getSecond()));
}
else
{
changedValue.put("previous", values.getFirst() == null ? "" : values.getFirst().toString());
changedValue.put("new", values.getSecond() == null ? "" : values.getSecond().toString());
}
changedValues.put(changedValue); changedValues.put(changedValue);
} }
@@ -1416,6 +1451,21 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
} }
} }
private String getFirstValueFromI18NMLTextValue(Serializable object)
{
String value = "";
if((object != null) && (object instanceof HashMap))
{
HashMap<Locale, String> hashmap = (HashMap<Locale, String>)object;
if(hashmap.size() > 0)
{
Locale locale = hashmap.keySet().iterator().next();
value = hashmap.get(locale);
}
}
return value;
}
/** /**
* Writes the end of the audit trail stream to the given writer * Writes the end of the audit trail stream to the given writer
* *
@@ -1591,6 +1641,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
@Deprecated @Deprecated
public void stop() public void stop()
{ {
@@ -1600,6 +1651,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
@Deprecated @Deprecated
public Date getDateLastStarted() public Date getDateLastStarted()
{ {
@@ -1609,6 +1661,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
@Deprecated @Deprecated
public Date getDateLastStopped() public Date getDateLastStopped()
{ {
@@ -1618,6 +1671,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override
@Deprecated @Deprecated
public void clear() public void clear()
{ {
@@ -1629,6 +1683,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean
* @since 3.2 * @since 3.2
* @deprecated since 2.1 * @deprecated since 2.1
*/ */
@Override
@Deprecated @Deprecated
public void auditRMAction( public void auditRMAction(
RecordsManagementAction action, RecordsManagementAction action,