Search in sources :

Example 61 with AuditEventRecord

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);
    }
}
Also used : SchemaException(com.evolveum.midpoint.util.exception.SchemaException) PrismContainerValue(com.evolveum.midpoint.prism.PrismContainerValue) ExpressionEvaluationException(com.evolveum.midpoint.util.exception.ExpressionEvaluationException) JRException(net.sf.jasperreports.engine.JRException) SecurityViolationException(com.evolveum.midpoint.util.exception.SecurityViolationException) CommunicationException(com.evolveum.midpoint.util.exception.CommunicationException) ArrayList(java.util.ArrayList) JRBeanCollectionDataSource(net.sf.jasperreports.engine.data.JRBeanCollectionDataSource) PrismObject(com.evolveum.midpoint.prism.PrismObject) ObjectType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType) ConfigurationException(com.evolveum.midpoint.util.exception.ConfigurationException) AuditEventRecordType(com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType) ObjectNotFoundException(com.evolveum.midpoint.util.exception.ObjectNotFoundException) Containerable(com.evolveum.midpoint.prism.Containerable) AuditEventRecord(com.evolveum.midpoint.audit.api.AuditEventRecord)

Example 62 with AuditEventRecord

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);
}
Also used : AuditEventRecord(com.evolveum.midpoint.audit.api.AuditEventRecord)

Example 63 with AuditEventRecord

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);
}
Also used : AuditEventRecord(com.evolveum.midpoint.audit.api.AuditEventRecord)

Example 64 with AuditEventRecord

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;
}
Also used : AuditEventRecord(com.evolveum.midpoint.audit.api.AuditEventRecord)

Example 65 with AuditEventRecord

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;
}
Also used : AuditEventRecord(com.evolveum.midpoint.audit.api.AuditEventRecord)

Aggregations

AuditEventRecord (com.evolveum.midpoint.audit.api.AuditEventRecord)83 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)28 Task (com.evolveum.midpoint.task.api.Task)18 Test (org.testng.annotations.Test)18 ObjectDeltaOperation (com.evolveum.midpoint.schema.ObjectDeltaOperation)11 SchemaException (com.evolveum.midpoint.util.exception.SchemaException)9 ObjectDelta (com.evolveum.midpoint.prism.delta.ObjectDelta)8 PrismObject (com.evolveum.midpoint.prism.PrismObject)7 ObjectType (com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType)6 ArrayList (java.util.ArrayList)6 MidPointPrincipal (com.evolveum.midpoint.security.api.MidPointPrincipal)5 NullTaskImpl (com.evolveum.midpoint.task.api.test.NullTaskImpl)5 PolyString (com.evolveum.midpoint.prism.polystring.PolyString)4 MAuditEventRecord (com.evolveum.midpoint.repo.sql.audit.beans.MAuditEventRecord)4 AuditResultHandler (com.evolveum.midpoint.audit.api.AuditResultHandler)3 MidpointAuthentication (com.evolveum.midpoint.authentication.api.config.MidpointAuthentication)3 Message (com.evolveum.midpoint.notifications.api.transports.Message)3 QAuditEventRecord (com.evolveum.midpoint.repo.sql.audit.querymodel.QAuditEventRecord)3 ObjectNotFoundException (com.evolveum.midpoint.util.exception.ObjectNotFoundException)3 AuditEventRecordType (com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType)3