use of com.evolveum.midpoint.audit.api.AuditEventRecord in project midpoint by Evolveum.
the class MidPointQueryExecutor method createDatasource.
@Override
public JRDataSource createDatasource() throws JRException {
try {
if (query == null && script == null) {
throw new JRException("Neither query, nor script defined in the report.");
}
if (query != null) {
Collection<PrismObject<? extends ObjectType>> results;
results = searchObjects(query, SelectorOptions.createCollection(GetOperationOptions.createRaw()));
return createDataSourceFromObjects(results);
} else {
if (script.contains("AuditEventRecord")) {
Collection<AuditEventRecord> audtiEventRecords = searchAuditRecords(script, getPromptingParameters());
Collection<AuditEventRecordType> auditEventRecordsType = new ArrayList<>();
for (AuditEventRecord aer : audtiEventRecords) {
AuditEventRecordType aerType = aer.createAuditEventRecordType(true);
auditEventRecordsType.add(aerType);
}
return new JRBeanCollectionDataSource(auditEventRecordsType);
} else {
Collection<PrismContainerValue<? extends Containerable>> results;
results = evaluateScript(script, getParameters());
return createDataSourceFromContainerValues(results);
}
}
} catch (SchemaException | ObjectNotFoundException | SecurityViolationException | CommunicationException | ConfigurationException | ExpressionEvaluationException e) {
// TODO Auto-generated catch block
throw new JRException(e);
}
}
use of com.evolveum.midpoint.audit.api.AuditEventRecord in project midpoint by Evolveum.
the class AbstractModelWebService method auditLogout.
protected void auditLogout(Task task) {
AuditEventRecord record = new AuditEventRecord(AuditEventType.TERMINATE_SESSION, AuditEventStage.REQUEST);
record.setInitiatorAndLoginParameter(task.getOwner());
record.setChannel(SchemaConstants.CHANNEL_WEB_SERVICE_URI);
record.setTimestamp(System.currentTimeMillis());
record.setOutcome(OperationResultStatus.SUCCESS);
auditService.audit(record, task);
}
use of com.evolveum.midpoint.audit.api.AuditEventRecord in project midpoint by Evolveum.
the class SecurityHelper method auditLogout.
public void auditLogout(ConnectionEnvironment connEnv, Task task) {
AuditEventRecord record = new AuditEventRecord(AuditEventType.TERMINATE_SESSION, AuditEventStage.REQUEST);
record.setInitiatorAndLoginParameter(task.getOwner());
record.setTimestamp(System.currentTimeMillis());
record.setOutcome(OperationResultStatus.SUCCESS);
storeConnectionEnvironment(record, connEnv);
auditService.audit(record, task);
}
use of com.evolveum.midpoint.audit.api.AuditEventRecord in project midpoint by Evolveum.
the class BaseAuditHelper method prepareWorkItemDeletedAuditRecord.
// workItem contains taskRef, assignee, candidates resolved (if possible)
public AuditEventRecord prepareWorkItemDeletedAuditRecord(WorkItemType workItem, WorkItemEventCauseInformationType cause, WfTask wfTask, OperationResult result) throws WorkflowException {
AuditEventRecord record = prepareWorkItemAuditReportCommon(workItem, wfTask, AuditEventStage.EXECUTION, result);
setCurrentUserAsInitiator(record);
if (cause != null) {
if (cause.getType() != null) {
record.addPropertyValue(WorkflowConstants.AUDIT_CAUSE_TYPE, cause.getType().value());
}
if (cause.getName() != null) {
record.addPropertyValue(WorkflowConstants.AUDIT_CAUSE_NAME, cause.getName());
}
if (cause.getDisplayName() != null) {
record.addPropertyValue(WorkflowConstants.AUDIT_CAUSE_DISPLAY_NAME, cause.getDisplayName());
}
}
// message + result
StringBuilder message = new StringBuilder();
String stageInfo = wfTask.getCompleteStageInfo();
if (stageInfo != null) {
message.append(stageInfo).append(" : ");
}
AbstractWorkItemOutputType output = workItem.getOutput();
if (output != null) {
String answer = ApprovalUtils.makeNiceFromUri(output.getOutcome());
record.setResult(answer);
message.append(answer);
if (output.getComment() != null) {
message.append(" : ").append(output.getComment());
record.addPropertyValue(WorkflowConstants.AUDIT_COMMENT, output.getComment());
}
} else {
// TODO
message.append("(no decision)");
}
record.setMessage(message.toString());
return record;
}
use of com.evolveum.midpoint.audit.api.AuditEventRecord in project midpoint by Evolveum.
the class BaseAuditHelper method prepareWorkItemCreatedAuditRecord.
// workItem contains taskRef, assignee, originalAssignee, candidates resolved (if possible)
public AuditEventRecord prepareWorkItemCreatedAuditRecord(WorkItemType workItem, WfTask wfTask, OperationResult result) throws WorkflowException {
AuditEventRecord record = prepareWorkItemAuditReportCommon(workItem, wfTask, AuditEventStage.REQUEST, result);
record.setInitiator(wfTask.getRequesterIfExists(result));
record.setMessage(wfTask.getCompleteStageInfo());
return record;
}
Aggregations