diff --git a/src/main/java/org/audit4j/core/AuditManager.java b/src/main/java/org/audit4j/core/AuditManager.java index 98b4e42..3a7d0ce 100644 --- a/src/main/java/org/audit4j/core/AuditManager.java +++ b/src/main/java/org/audit4j/core/AuditManager.java @@ -33,7 +33,7 @@ * * @since 1.0.0 */ -public final class AuditManager { +public final class AuditManager implements IAuditManager { /** * Instantiates a new audit manager. @@ -121,7 +121,7 @@ public static AuditManager getInstance() { * @deprecated */ @Deprecated - public static AuditManager getConfigurationInstance(Configuration configuration) { + public static IAuditManager getConfigurationInstance(Configuration configuration) { Context.setConfig(configuration); return getInstance(); } @@ -138,7 +138,7 @@ public static AuditManager getConfigurationInstance(Configuration configuration) * @since 2.3.0 */ @Deprecated - public static AuditManager initWithConfiguration(Configuration configuration) { + public static IAuditManager initWithConfiguration(Configuration configuration) { Context.setConfig(configuration); return getInstance(); } @@ -154,7 +154,7 @@ public static AuditManager initWithConfiguration(Configuration configuration) { * * @since 2.3.1 */ - public static AuditManager startWithConfiguration(Configuration configuration) { + public static IAuditManager startWithConfiguration(Configuration configuration) { Context.setConfig(configuration); return getInstance(); } @@ -171,7 +171,7 @@ public static AuditManager startWithConfiguration(Configuration configuration) { * @return the audit manager * @since 2.3.1 */ - public static AuditManager startWithConfiguration(String configFilePath) { + public static IAuditManager startWithConfiguration(String configFilePath) { Context.setConfigFilePath(configFilePath); return getInstance(); } diff --git a/src/main/java/org/audit4j/core/IAuditManager.java b/src/main/java/org/audit4j/core/IAuditManager.java new file mode 100644 index 0000000..453cdf8 --- /dev/null +++ b/src/main/java/org/audit4j/core/IAuditManager.java @@ -0,0 +1,62 @@ +package org.audit4j.core; + +import org.audit4j.core.dto.AnnotationAuditEvent; +import org.audit4j.core.dto.AuditEvent; + +import java.lang.reflect.Method; + +/** + * IAuditManager. This interface describes actions available for AuditManager + * implementations. + * + * @since ?.?.? + */ +public interface IAuditManager { + + /** + * Audit. + * + * @param event + * the event + * @return true, if successful + */ + boolean audit(AuditEvent event); + + /** + * Audit with annotation. + * + * @param clazz + * the clazz + * @param method + * the method + * @param args + * the args + * @return true, if successful + * + */ + boolean audit(Class clazz, Method method, Object[] args); + + /** + * Audit. + * + * @param annotationEvent + * the annotation event + * @return true, if successful + */ + boolean audit(AnnotationAuditEvent annotationEvent); + +// /** +// * Enable. +// */ +// void enable(); +// +// /** +// * Disable. +// */ +// void disable(); +// +// /** +// * Shutdown. +// */ +// void shutdown(); +} diff --git a/src/test/java/org/audit4j/core/Int/event/annotation/ClassAnnotationTest.java b/src/test/java/org/audit4j/core/Int/event/annotation/ClassAnnotationTest.java index 3eaa116..60f5ea1 100644 --- a/src/test/java/org/audit4j/core/Int/event/annotation/ClassAnnotationTest.java +++ b/src/test/java/org/audit4j/core/Int/event/annotation/ClassAnnotationTest.java @@ -4,6 +4,7 @@ import org.audit4j.core.AuditManager; import org.audit4j.core.Configuration; +import org.audit4j.core.IAuditManager; import org.audit4j.core.Mock.ClassAnnotationMock; import org.audit4j.core.Mock.TestSuperObjectMock; import org.audit4j.core.dto.AnnotationAuditEvent; @@ -20,7 +21,7 @@ public void setup() { @Test public void testAnnotation_selection_all() { - AuditManager manager = AuditManager.startWithConfiguration(Configuration.DEFAULT); + IAuditManager manager = AuditManager.startWithConfiguration(Configuration.DEFAULT); Method annoMethod = null; try { annoMethod = ClassAnnotationMock.class.getMethod("testClassAnnotation_selection_all", String.class); @@ -39,7 +40,7 @@ public void testAnnotation_selection_all() { @Test public void testAnnotation_complex() { - AuditManager manager = AuditManager.startWithConfiguration(Configuration.DEFAULT); + IAuditManager manager = AuditManager.startWithConfiguration(Configuration.DEFAULT); Method annoMethod = null; try { annoMethod = ClassAnnotationMock.class.getMethod("testClassAnnotation_Complex", String.class, diff --git a/src/test/java/org/audit4j/core/Int/event/annotation/DeIdentifyAnnotationTest.java b/src/test/java/org/audit4j/core/Int/event/annotation/DeIdentifyAnnotationTest.java index 6b6c443..e20112c 100644 --- a/src/test/java/org/audit4j/core/Int/event/annotation/DeIdentifyAnnotationTest.java +++ b/src/test/java/org/audit4j/core/Int/event/annotation/DeIdentifyAnnotationTest.java @@ -3,6 +3,7 @@ import java.lang.reflect.Method; import org.audit4j.core.AuditManager; +import org.audit4j.core.IAuditManager; import org.audit4j.core.Mock.MethodAnnotationMock; import org.junit.After; import org.junit.Before; @@ -17,7 +18,7 @@ public void setup() { @Test public void testAnnotation_selection_marked_deidentify() { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); Method annoMethod = null; try { annoMethod = MethodAnnotationMock.class.getMethod("testAnnotation_selection_marked_deidentify", @@ -38,7 +39,7 @@ public void testAnnotation_selection_marked_deidentify() { @Test public void testAnnotation_selection_marked_deidentify_from_left() { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); Method annoMethod = null; try { annoMethod = MethodAnnotationMock.class.getMethod("testAnnotation_selection_marked_deidentify_from_left", @@ -59,7 +60,7 @@ public void testAnnotation_selection_marked_deidentify_from_left() { @Test public void testAnnotation_selection_marked_deidentify_from_right() { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); Method annoMethod = null; try { annoMethod = MethodAnnotationMock.class.getMethod("testAnnotation_selection_marked_deidentify_from_right", diff --git a/src/test/java/org/audit4j/core/Int/event/annotation/IgnoreAuditAnnotationTest.java b/src/test/java/org/audit4j/core/Int/event/annotation/IgnoreAuditAnnotationTest.java index 0ad59d4..c7c6b6a 100644 --- a/src/test/java/org/audit4j/core/Int/event/annotation/IgnoreAuditAnnotationTest.java +++ b/src/test/java/org/audit4j/core/Int/event/annotation/IgnoreAuditAnnotationTest.java @@ -3,6 +3,7 @@ import java.lang.reflect.Method; import org.audit4j.core.AuditManager; +import org.audit4j.core.IAuditManager; import org.audit4j.core.Mock.ClassAnnotationMock; import org.audit4j.core.util.Log; import org.audit4j.core.util.StopWatch; @@ -19,7 +20,7 @@ public void setup() { @Test public void testIgnoreAuditAnnotation() { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); Method annoMethod = null; try { annoMethod = ClassAnnotationMock.class.getMethod("testClassAnnotation_Ignore", String.class); diff --git a/src/test/java/org/audit4j/core/Int/filter/AuditEventFilterIntTest.java b/src/test/java/org/audit4j/core/Int/filter/AuditEventFilterIntTest.java index 5f1d142..7400ac7 100644 --- a/src/test/java/org/audit4j/core/Int/filter/AuditEventFilterIntTest.java +++ b/src/test/java/org/audit4j/core/Int/filter/AuditEventFilterIntTest.java @@ -4,6 +4,7 @@ import org.audit4j.core.AuditManager; import org.audit4j.core.Configuration; +import org.audit4j.core.IAuditManager; import org.audit4j.core.Int.IntTestBase; import org.audit4j.core.Mock.AuditEventFilterMock; import org.audit4j.core.dto.AuditEvent; @@ -21,7 +22,7 @@ public void before() { @Test public void testFilter_filter() throws InterruptedException { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); AuditEvent event = getSampleAuditEvent(); event.setAction("Filter"); manager.audit(event); @@ -31,7 +32,7 @@ public void testFilter_filter() throws InterruptedException { @Test public void testFilter_not_filter() throws InterruptedException { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); AuditEvent event = getSampleAuditEvent(); event.setAction("NOTFilter"); manager.audit(event); diff --git a/src/test/java/org/audit4j/core/Int/option/ScanAnnotationOptionIntTest.java b/src/test/java/org/audit4j/core/Int/option/ScanAnnotationOptionIntTest.java index 8841a10..4dd4eca 100644 --- a/src/test/java/org/audit4j/core/Int/option/ScanAnnotationOptionIntTest.java +++ b/src/test/java/org/audit4j/core/Int/option/ScanAnnotationOptionIntTest.java @@ -6,6 +6,7 @@ import org.audit4j.core.AuditManager; import org.audit4j.core.Configuration; +import org.audit4j.core.IAuditManager; import org.audit4j.core.Int.IntTestBase; import org.junit.After; import org.junit.Before; @@ -23,7 +24,7 @@ public void before() { @Test public void testFilter_filter_accepts() throws InterruptedException { watchStart("testFilter_filter_accepts"); - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); boolean status = manager.audit(getSampleAnnotationEvent()); watchStop(); assertTrue(status); @@ -33,7 +34,7 @@ public void testFilter_filter_accepts() throws InterruptedException { @Test public void testFilter_filter_denied() throws InterruptedException { watchStart("testFilter_filter_denied"); - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); boolean status = manager.audit(getSampleNullAnnotationEvent()); watchStop(); // assertFalse(status); @@ -42,6 +43,6 @@ public void testFilter_filter_denied() throws InterruptedException { @After public void after() { - AuditManager.getInstance().shutdown(); + AuditManager.shutdown(); } } \ No newline at end of file diff --git a/src/test/java/org/audit4j/core/TroubleshootManagerTest.java b/src/test/java/org/audit4j/core/TroubleshootManagerTest.java index afc5b89..36532c1 100644 --- a/src/test/java/org/audit4j/core/TroubleshootManagerTest.java +++ b/src/test/java/org/audit4j/core/TroubleshootManagerTest.java @@ -47,7 +47,7 @@ public void testTroubleshootEvent_Orign() { public void testTroubleshootEvent_NULL_ACTOR_NULL_METADATA() { Configuration config = getDefaultConfiguration(); config.setMetaData(null); - AuditManager manager = AuditManager.getConfigurationInstance(config); + IAuditManager manager = AuditManager.getConfigurationInstance(config); AuditEvent event = getSampleAuditEvent(); // Set Actor as null event.setActor(null); diff --git a/src/test/java/org/audit4j/core/smoke/SmokeTest.java b/src/test/java/org/audit4j/core/smoke/SmokeTest.java index 9b3e92c..99d0100 100644 --- a/src/test/java/org/audit4j/core/smoke/SmokeTest.java +++ b/src/test/java/org/audit4j/core/smoke/SmokeTest.java @@ -3,6 +3,7 @@ import java.util.concurrent.TimeUnit; import org.audit4j.core.AuditManager; +import org.audit4j.core.IAuditManager; import org.audit4j.core.dto.AuditEvent; import org.audit4j.core.dto.EventBuilder; import org.audit4j.core.util.Log; @@ -23,7 +24,7 @@ public void smokeTestAuditEvent() throws InterruptedException { watch.stop(); Log.info(watch.getTotalTime()); watch.start(); - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); //manager.audit(event); watch.stop(); @@ -37,7 +38,7 @@ public void smokeTestAuditEvent() throws InterruptedException { } public static void main(String[] args) { - AuditManager manager = AuditManager.getInstance(); + IAuditManager manager = AuditManager.getInstance(); int count = 0; while (count < 100000) { EventBuilder builder = new EventBuilder();