Fix event related null pointer issues

This commit is contained in:
James Seibel
2022-11-24 23:09:00 -06:00
parent 0647d212d6
commit d6a83c8b61
12 changed files with 55 additions and 111 deletions
@@ -2,7 +2,6 @@ package testItems.events.abstractObjects;
import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.lod.api.objects.events.DhApiEventDefinition;
import com.seibel.lod.core.events.ApiEventDefinitionHandler;
/**
* A dummy event implementation used for unit testing.
@@ -30,17 +29,8 @@ public abstract class DhApiOneTimeTestEvent implements IDhApiEvent<Boolean>
return input;
}
public static boolean firstTimeSetupComplete = false;
public DhApiOneTimeTestEvent()
{
if (!firstTimeSetupComplete)
{
firstTimeSetupComplete = true;
ApiEventDefinitionHandler.setEventDefinition(DhApiOneTimeTestEvent.class, new DhApiEventDefinition(false, true));
}
}
public final static DhApiEventDefinition EVENT_DEFINITION = new DhApiEventDefinition(false, true);
@Override
public final DhApiEventDefinition getEventDefinition() { return ApiEventDefinitionHandler.getEventDefinition(DhApiOneTimeTestEvent.class); }
public final DhApiEventDefinition getEventDefinition() { return EVENT_DEFINITION; }
}
@@ -2,7 +2,6 @@ package testItems.events.abstractObjects;
import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.lod.api.objects.events.DhApiEventDefinition;
import com.seibel.lod.core.events.ApiEventDefinitionHandler;
/**
* A dummy event implementation used for unit testing.
@@ -31,17 +30,8 @@ public abstract class DhApiTestEvent implements IDhApiEvent<Boolean>
return input;
}
public static boolean firstTimeSetupComplete = false;
public DhApiTestEvent()
{
if (!firstTimeSetupComplete)
{
firstTimeSetupComplete = true;
ApiEventDefinitionHandler.setEventDefinition(DhApiTestEvent.class, new DhApiEventDefinition(false, false));
}
}
public final static DhApiEventDefinition EVENT_DEFINITION = new DhApiEventDefinition(false, false);
@Override
public final DhApiEventDefinition getEventDefinition() { return ApiEventDefinitionHandler.getEventDefinition(DhApiTestEvent.class); }
public final DhApiEventDefinition getEventDefinition() { return EVENT_DEFINITION; }
}
+10 -6
View File
@@ -1,13 +1,12 @@
package tests;
import com.seibel.lod.api.methods.events.abstractEvents.DhApiAfterDhInitEvent;
import com.seibel.lod.api.objects.events.DhApiEventDefinition;
import com.seibel.lod.core.DependencyInjection.ApiEventInjector;
import com.seibel.lod.core.events.ApiEventDefinitionHandler;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Order;
import testItems.events.abstractObjects.DhApiOneTimeTestEvent;
import testItems.events.objects.DhOneTimeTestEventHandler;
import testItems.events.objects.DhOneTimeTestEventHandlerAlt;
@@ -31,8 +30,12 @@ public class EventInjectorTest
ApiEventInjector.INSTANCE.clear();
ApiEventDefinitionHandler.INSTANCE.clear();
DhApiTestEvent.firstTimeSetupComplete = false;
DhApiOneTimeTestEvent.firstTimeSetupComplete = false;
// register test events
ApiEventDefinitionHandler.INSTANCE.setEventDefinition(DhApiTestEvent.class, DhApiTestEvent.EVENT_DEFINITION);
ApiEventDefinitionHandler.INSTANCE.setEventDefinition(DhApiOneTimeTestEvent.class, DhApiOneTimeTestEvent.EVENT_DEFINITION);
ApiEventDefinitionHandler.INSTANCE.addInitialBindings();
}
@@ -108,8 +111,9 @@ public class EventInjectorTest
public void testEventDefinition()
{
String errorMessagePrefix = "Missing " + DhApiEventDefinition.class.getSimpleName() + " for event class [";
Assert.assertNotNull(errorMessagePrefix + DhApiTestEvent.class.getSimpleName() + "]", ApiEventDefinitionHandler.getEventDefinition(DhApiTestEvent.class));
Assert.assertNotNull(errorMessagePrefix + DhApiOneTimeTestEvent.class.getSimpleName() + "]", ApiEventDefinitionHandler.getEventDefinition(DhApiOneTimeTestEvent.class));
Assert.assertNotNull(errorMessagePrefix + DhApiTestEvent.class.getSimpleName() + "]", ApiEventDefinitionHandler.INSTANCE.getEventDefinition(DhApiTestEvent.class));
Assert.assertNotNull(errorMessagePrefix + DhApiOneTimeTestEvent.class.getSimpleName() + "]", ApiEventDefinitionHandler.INSTANCE.getEventDefinition(DhApiOneTimeTestEvent.class));
Assert.assertNotNull(errorMessagePrefix + DhApiAfterDhInitEvent.class.getSimpleName() + "]", ApiEventDefinitionHandler.INSTANCE.getEventDefinition(DhApiAfterDhInitEvent.class));
}
@Test