Simpler basic checks injection and a more verbose audit debug message.

The audit debug message now displays subaudits name and results.
keep-around/a40088ecfe2344580f5e56783d29e1212c0fd597
Pingex aka Raphaël 9 years ago
parent 7bc0409d8c
commit a5938c6c0c

@ -3,12 +3,10 @@ package net.pingex.dcf.commands.audit;
import net.pingex.dcf.commands.Context; import net.pingex.dcf.commands.Context;
import net.pingex.dcf.commands.audit.basic.EnabledCheck; import net.pingex.dcf.commands.audit.basic.EnabledCheck;
import net.pingex.dcf.commands.audit.basic.ScopeCheck; import net.pingex.dcf.commands.audit.basic.ScopeCheck;
import net.pingex.dcf.permissions.PermissionCheck;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import java.util.Collection; import java.util.*;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/** /**
* The Audit Manager stores all components and executes an audit when told to, usually from CommandHandler. * The Audit Manager stores all components and executes an audit when told to, usually from CommandHandler.
@ -26,8 +24,7 @@ public class AuditManager
static static
{ {
add(new EnabledCheck()); addAll(Arrays.asList(new EnabledCheck(), new ScopeCheck(), new PermissionCheck()));
add(new ScopeCheck());
} }
/** /**
@ -46,6 +43,10 @@ public class AuditManager
AuditResult result = component.doAudit(context); AuditResult result = component.doAudit(context);
resultBuilder.appendAuditResult(component, result); resultBuilder.appendAuditResult(component, result);
LOGGER.trace("Auditing component {} [{}].", component.name(), result.getOpcode()); LOGGER.trace("Auditing component {} [{}].", component.name(), result.getOpcode());
if(result.hasSubAudits())
for(Map.Entry<IAuditComponentProvider, AuditResult> i : result.getSubAuditsResults())
LOGGER.trace("=> Subaudit {} [{}]", i.getKey().name(), i.getValue().getOpcode());
} }
resultBuilder.setOpcode(resultBuilder.getSubAuditsResults().stream().min(Comparator.comparing(entry -> entry.getValue().getOpcode())).get().getValue().getOpcode()); resultBuilder.setOpcode(resultBuilder.getSubAuditsResults().stream().min(Comparator.comparing(entry -> entry.getValue().getOpcode())).get().getValue().getOpcode());
resultBuilder.setMessage(resultBuilder.getSubAuditsResults().stream().min(Comparator.comparing(entry -> entry.getValue().getOpcode())).get().getValue().getMessage()); resultBuilder.setMessage(resultBuilder.getSubAuditsResults().stream().min(Comparator.comparing(entry -> entry.getValue().getOpcode())).get().getValue().getMessage());