diff --git a/drone-impl/src/main/java/org/jboss/arquillian/drone/impl/DroneConfigurator.java b/drone-impl/src/main/java/org/jboss/arquillian/drone/impl/DroneConfigurator.java
index 099f36fb..d0b66f9b 100644
--- a/drone-impl/src/main/java/org/jboss/arquillian/drone/impl/DroneConfigurator.java
+++ b/drone-impl/src/main/java/org/jboss/arquillian/drone/impl/DroneConfigurator.java
@@ -1,6 +1,6 @@
-/*
+/**
* JBoss, Home of Professional Open Source
- * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2015, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
@@ -16,12 +16,14 @@
*/
package org.jboss.arquillian.drone.impl;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import org.jboss.arquillian.config.descriptor.api.ArquillianDescriptor;
import org.jboss.arquillian.core.api.Event;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.core.api.annotation.Observes;
-import org.jboss.arquillian.drone.spi.CachingCallable;
import org.jboss.arquillian.drone.spi.Configurator;
import org.jboss.arquillian.drone.spi.DroneConfiguration;
import org.jboss.arquillian.drone.spi.DroneContext;
@@ -29,16 +31,11 @@
import org.jboss.arquillian.drone.spi.DroneRegistry;
import org.jboss.arquillian.drone.spi.Instantiator;
import org.jboss.arquillian.drone.spi.command.PrepareDrone;
-import org.jboss.arquillian.drone.spi.event.AfterDroneCallableCreated;
-import org.jboss.arquillian.drone.spi.event.AfterDroneConfigured;
-import org.jboss.arquillian.drone.spi.event.BeforeDroneCallableCreated;
-import org.jboss.arquillian.drone.spi.event.BeforeDroneConfigured;
+import org.jboss.arquillian.drone.spi.event.AfterDronePrepared;
+import org.jboss.arquillian.drone.spi.event.BeforeDronePrepared;
import org.jboss.arquillian.test.spi.event.suite.Before;
import org.jboss.arquillian.test.spi.event.suite.BeforeClass;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
/**
* Creator of Drone configurations. Drone configuration is created either before class or before method,
* depending on the scope
@@ -57,9 +54,10 @@
*
* Fires:
*
- * {@link BeforeDroneConfigured} {@link AfterDroneConfigured}
+ * {@link BeforeDronePrepared} {@link AfterDronePrepared}
*
* @author Karel Piwko
+ * @author Matous Jobanek
*/
public class DroneConfigurator {
private static Logger logger = Logger.getLogger(DroneConfigurator.class.getName());
@@ -71,82 +69,78 @@ public class DroneConfigurator {
private Instance arquillianDescriptor;
@Inject
- private Event beforeDroneConfiguredEvent;
-
- @Inject
- private Event afterDroneConfiguredEvent;
+ private Event beforeDronePreparedEvent;
@Inject
- private Event beforeDroneCallableCreatedEvent;
-
- @Inject
- private Event afterDroneCallableCreatedEvent;
+ private Event afterDronePreparedEvent;
public void prepareDrone(@Observes PrepareDrone command, DroneRegistry registry) {
DronePoint> dronePoint = command.getDronePoint();
-
- configureDrone(registry, dronePoint);
-
- createDroneCallable(registry, dronePoint);
+ prepare(dronePoint, registry);
}
- private void configureDrone(DroneRegistry registry, DronePoint dronePoint) {
- ArquillianDescriptor descriptor = arquillianDescriptor.get();
- DroneContext context = droneContext.get();
- Validate.stateNotNull(descriptor, "ArquillianDescriptor should not be null");
- Validate.stateNotNull(context, "DroneContext should be available while working with method scoped instances");
+ private void prepare(DronePoint dronePoint, DroneRegistry registry) {
+ Validate.stateNotNull(droneContext.get(),
+ "DroneContext should be available while working with method scoped instances");
- if (context.get(dronePoint).hasConfiguration()) {
- logger.log(Level.WARNING, "Could not configure drone for injection point {0}, " +
- "because it was already configured!", dronePoint);
- return;
+ Configurator droneConfigurator = getDroneConfigurator(registry, dronePoint);
+ Instantiator callableInstantiator = getCallableInstantiator(registry, dronePoint);
+
+ if (droneConfigurator != null || callableInstantiator != null) {
+ beforeDronePreparedEvent.fire(new BeforeDronePrepared(droneConfigurator, callableInstantiator, dronePoint));
+ performDronePreparation(dronePoint, droneConfigurator, callableInstantiator);
+ afterDronePreparedEvent.fire(new AfterDronePrepared(dronePoint));
}
+ }
- Configurator configurator = registry.getEntryFor(dronePoint.getDroneType(), Configurator.class);
+ private void performDronePreparation(final DronePoint dronePoint,
+ Configurator droneConfigurator, final Instantiator instantiator) {
- beforeDroneConfiguredEvent.fire(new BeforeDroneConfigured(configurator, dronePoint));
+ final DroneContext context = droneContext.get();
+ final ArquillianDescriptor descriptor = arquillianDescriptor.get();
+ Validate.stateNotNull(descriptor, "ArquillianDescriptor should not be null");
// If nobody else provided the configuration, we have to do it
- if (!context.get(dronePoint).hasConfiguration()) {
- DroneConfiguration configuration = configurator.createConfiguration(descriptor, dronePoint);
+ DroneConfiguration configuration = droneConfigurator.createConfiguration(descriptor, dronePoint);
+ context.get(dronePoint).setConfiguration(configuration);
- context.get(dronePoint).setConfiguration(configuration);
- }
+ // create future instance
+ CachingCallableImpl futureDrone = new CachingCallableImpl() {
+ @Override
+ protected DRONE createInstance() throws Exception {
+ DroneConfiguration> configuration = context
+ .get(dronePoint)
+ .getConfigurationAs(DroneConfiguration.class);
+ return (DRONE) instantiator.createInstance(configuration);
+ }
+ };
- afterDroneConfiguredEvent.fire(new AfterDroneConfigured(dronePoint));
+ context.get(dronePoint).setFutureInstance(futureDrone);
}
- private void createDroneCallable(DroneRegistry registry, final DronePoint dronePoint) {
- final DroneContext context = droneContext.get();
+ private Configurator getDroneConfigurator(DroneRegistry registry, DronePoint dronePoint) {
+ if (droneContext.get().get(dronePoint).hasConfiguration()) {
+ logger.log(Level.WARNING, "Could not configure drone for injection point {0}, " +
+ "because it was already configured!", dronePoint);
+ return null;
+ }
+ return registry.getEntryFor(dronePoint.getDroneType(), Configurator.class);
+ }
- if (context.get(dronePoint).hasFutureInstance()) {
+ private Instantiator getCallableInstantiator(DroneRegistry registry, final DronePoint dronePoint) {
+ if (droneContext.get().get(dronePoint).hasFutureInstance()) {
logger.log(Level.WARNING, "Could not create drone callable for injection point {0}, " +
"because it was already created!", dronePoint);
- return;
+ return null;
}
final Instantiator instantiator = registry.getEntryFor(dronePoint.getDroneType(), Instantiator.class);
if (logger.isLoggable(Level.FINE)) {
logger.fine("Using instantiator defined in class: " + instantiator.getClass().getName() + ", " +
- "with precedence " + instantiator.getPrecedence());
- }
-
- beforeDroneCallableCreatedEvent.fire(new BeforeDroneCallableCreated(instantiator, dronePoint));
+ "with precedence " + instantiator.getPrecedence());
- // create future instance
- CachingCallable futureDrone = new CachingCallableImpl() {
- @Override
- protected DRONE createInstance() throws Exception {
- DroneConfiguration> configuration = context
- .get(dronePoint)
- .getConfigurationAs(DroneConfiguration.class);
- return (DRONE) instantiator.createInstance(configuration);
- }
- };
-
- context.get(dronePoint).setFutureInstance(futureDrone);
-
- afterDroneCallableCreatedEvent.fire(new AfterDroneCallableCreated(dronePoint));
+ }
+ return instantiator;
}
}
diff --git a/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/DestroyerTestCase.java b/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/DestroyerTestCase.java
index 20f816f8..6f98be41 100644
--- a/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/DestroyerTestCase.java
+++ b/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/DestroyerTestCase.java
@@ -36,14 +36,12 @@
import org.jboss.arquillian.drone.spi.DroneContext;
import org.jboss.arquillian.drone.spi.DroneRegistry;
import org.jboss.arquillian.drone.spi.Instantiator;
-import org.jboss.arquillian.drone.spi.event.AfterDroneCallableCreated;
-import org.jboss.arquillian.drone.spi.event.AfterDroneConfigured;
import org.jboss.arquillian.drone.spi.event.AfterDroneDestroyed;
import org.jboss.arquillian.drone.spi.event.AfterDroneInstantiated;
-import org.jboss.arquillian.drone.spi.event.BeforeDroneCallableCreated;
-import org.jboss.arquillian.drone.spi.event.BeforeDroneConfigured;
+import org.jboss.arquillian.drone.spi.event.AfterDronePrepared;
import org.jboss.arquillian.drone.spi.event.BeforeDroneDestroyed;
import org.jboss.arquillian.drone.spi.event.BeforeDroneInstantiated;
+import org.jboss.arquillian.drone.spi.event.BeforeDronePrepared;
import org.jboss.arquillian.test.spi.TestEnricher;
import org.jboss.arquillian.test.spi.context.ClassContext;
import org.jboss.arquillian.test.spi.context.SuiteContext;
@@ -122,18 +120,18 @@ public void mockDestructorWontTriggerAndWontFail() throws Exception {
Assert.assertTrue("Configurator is of mock type",
registry.getEntryFor(MockDrone.class, Configurator.class) instanceof MockDroneFactory);
- assertEventFired(BeforeDroneCallableCreated.class, 0);
- assertEventFired(AfterDroneCallableCreated.class, 0);
+ assertEventFired(BeforeDronePrepared.class, 0);
+ assertEventFired(AfterDronePrepared.class, 0);
fire(new BeforeClass(DummyClass.class));
- assertEventFired(BeforeDroneCallableCreated.class, 2);
- assertEventFired(AfterDroneCallableCreated.class, 2);
+ assertEventFired(BeforeDronePrepared.class, 2);
+ assertEventFired(AfterDronePrepared.class, 2);
fire(new Before(instance, testMethod));
- assertEventFired(BeforeDroneCallableCreated.class, 2);
- assertEventFired(AfterDroneCallableCreated.class, 2);
+ assertEventFired(BeforeDronePrepared.class, 2);
+ assertEventFired(AfterDronePrepared.class, 2);
assertEventFired(BeforeDroneInstantiated.class, 0);
assertEventFired(AfterDroneInstantiated.class, 0);
@@ -168,24 +166,18 @@ public void mockDestructorWillTriggerTwice() throws Exception {
Assert.assertTrue(registry.getEntryFor(MockDrone.class, Instantiator.class) instanceof MockDroneFactory);
Assert.assertTrue(registry.getEntryFor(MockDrone.class, Destructor.class) instanceof MockDroneFactory);
- assertEventFired(BeforeDroneConfigured.class, 0);
- assertEventFired(AfterDroneConfigured.class, 0);
- assertEventFired(BeforeDroneCallableCreated.class, 0);
- assertEventFired(AfterDroneCallableCreated.class, 0);
+ assertEventFired(BeforeDronePrepared.class, 0);
+ assertEventFired(AfterDronePrepared.class, 0);
fire(new BeforeClass(DummyClass.class));
- assertEventFired(BeforeDroneConfigured.class, 2);
- assertEventFired(AfterDroneConfigured.class, 2);
- assertEventFired(BeforeDroneCallableCreated.class, 2);
- assertEventFired(AfterDroneCallableCreated.class, 2);
+ assertEventFired(BeforeDronePrepared.class, 2);
+ assertEventFired(AfterDronePrepared.class, 2);
fire(new Before(instance, testDummyMethod));
- assertEventFired(BeforeDroneConfigured.class, 2);
- assertEventFired(AfterDroneConfigured.class, 2);
- assertEventFired(BeforeDroneCallableCreated.class, 2);
- assertEventFired(AfterDroneCallableCreated.class, 2);
+ assertEventFired(BeforeDronePrepared.class, 2);
+ assertEventFired(AfterDronePrepared.class, 2);
assertEventFired(BeforeDroneInstantiated.class, 0);
assertEventFired(AfterDroneInstantiated.class, 0);
@@ -210,10 +202,8 @@ public void mockDestructorWillTriggerTwice() throws Exception {
fire(new Before(instance, testDummyMethodWithParameters));
- assertEventFired(BeforeDroneConfigured.class, 3);
- assertEventFired(AfterDroneConfigured.class, 3);
- assertEventFired(BeforeDroneCallableCreated.class, 3);
- assertEventFired(AfterDroneCallableCreated.class, 3);
+ assertEventFired(BeforeDronePrepared.class, 3);
+ assertEventFired(AfterDronePrepared.class, 3);
assertEventFired(BeforeDroneInstantiated.class, 2);
assertEventFired(AfterDroneInstantiated.class, 2);
diff --git a/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/InjectionPointsTest.java b/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/InjectionPointsTest.java
index 84972643..a2687922 100644
--- a/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/InjectionPointsTest.java
+++ b/drone-impl/src/test/java/org/jboss/arquillian/drone/impl/InjectionPointsTest.java
@@ -37,14 +37,12 @@
import org.jboss.arquillian.drone.spi.DroneRegistry;
import org.jboss.arquillian.drone.spi.Instantiator;
import org.jboss.arquillian.drone.spi.command.PrepareDrone;
-import org.jboss.arquillian.drone.spi.event.AfterDroneCallableCreated;
-import org.jboss.arquillian.drone.spi.event.AfterDroneConfigured;
import org.jboss.arquillian.drone.spi.event.AfterDroneDestroyed;
import org.jboss.arquillian.drone.spi.event.AfterDroneInstantiated;
-import org.jboss.arquillian.drone.spi.event.BeforeDroneCallableCreated;
-import org.jboss.arquillian.drone.spi.event.BeforeDroneConfigured;
+import org.jboss.arquillian.drone.spi.event.AfterDronePrepared;
import org.jboss.arquillian.drone.spi.event.BeforeDroneDestroyed;
import org.jboss.arquillian.drone.spi.event.BeforeDroneInstantiated;
+import org.jboss.arquillian.drone.spi.event.BeforeDronePrepared;
import org.jboss.arquillian.test.spi.TestEnricher;
import org.jboss.arquillian.test.spi.context.ClassContext;
import org.jboss.arquillian.test.spi.context.SuiteContext;
@@ -144,18 +142,14 @@ private void runCustomAnnotationHasNoEffectTest(Class> testClass, String befor
Assert.assertTrue(registry.getEntryFor(MockDrone.class, Destructor.class) instanceof MockDroneFactory);
assertEventFired(PrepareDrone.class, 0);
- assertEventFired(BeforeDroneConfigured.class, 0);
- assertEventFired(AfterDroneConfigured.class, 0);
- assertEventFired(BeforeDroneCallableCreated.class, 0);
- assertEventFired(AfterDroneCallableCreated.class, 0);
+ assertEventFired(BeforeDronePrepared.class, 0);
+ assertEventFired(AfterDronePrepared.class, 0);
fire(new BeforeClass(testClass));
assertEventFired(PrepareDrone.class, 2);
- assertEventFired(BeforeDroneConfigured.class, 2);
- assertEventFired(AfterDroneConfigured.class, 2);
- assertEventFired(BeforeDroneCallableCreated.class, 2);
- assertEventFired(AfterDroneCallableCreated.class, 2);
+ assertEventFired(BeforeDronePrepared.class, 2);
+ assertEventFired(AfterDronePrepared.class, 2);
if (createdInBeforeClass) {
assertEventFired(BeforeDroneInstantiated.class, 2);
@@ -168,11 +162,9 @@ private void runCustomAnnotationHasNoEffectTest(Class> testClass, String befor
fire(new Before(instance, testMethod));
assertEventFired(PrepareDrone.class, 2);
- assertEventFired(BeforeDroneConfigured.class, 2);
- assertEventFired(AfterDroneConfigured.class, 2);
- assertEventFired(BeforeDroneCallableCreated.class, 2);
- assertEventFired(AfterDroneCallableCreated.class, 2);
-
+ assertEventFired(BeforeDronePrepared.class, 2);
+ assertEventFired(AfterDronePrepared.class, 2);
+
if (!createdInBeforeClass) {
// was not instantiated yet
assertEventFired(BeforeDroneInstantiated.class, 0);
diff --git a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDroneConfigured.java b/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDroneConfigured.java
deleted file mode 100644
index bf5e76ea..00000000
--- a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDroneConfigured.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2013, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.arquillian.drone.spi.event;
-
-import org.jboss.arquillian.drone.spi.DronePoint;
-
-/**
- * This event is called after Drone configuration is created. By observing this event,
- * you can modify Drone configuration after it's creation.
- *
- * @author Karel Piwko
- */
-public class AfterDroneConfigured extends BaseDroneEvent implements DroneConfigurationEvent {
-
- public AfterDroneConfigured(DronePoint> dronePoint) {
- super(dronePoint);
- }
-
-}
diff --git a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDroneCallableCreated.java b/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDronePrepared.java
similarity index 66%
rename from drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDroneCallableCreated.java
rename to drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDronePrepared.java
index e64d90c5..dcc04e77 100644
--- a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDroneCallableCreated.java
+++ b/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/AfterDronePrepared.java
@@ -1,6 +1,6 @@
-/*
+/**
* JBoss, Home of Professional Open Source
- * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2015, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
@@ -20,13 +20,16 @@
import org.jboss.arquillian.drone.spi.DronePoint;
/**
- * This event is fired after Drone instance callable is created and stored in {@link DroneContext}.
+ * This event is called after Drone preparation is finished. By observing this event, you can modify Drone configuration
+ * after it's creation. Drone instance callable is created and stored in {@link DroneContext}
*
+ * @author Matous Jobanek
* @author Karel Piwko
*/
-public class AfterDroneCallableCreated extends BaseDroneEvent implements DroneLifecycleEvent {
+public class AfterDronePrepared extends BaseDroneEvent implements DroneConfigurationEvent {
- public AfterDroneCallableCreated(DronePoint> dronePoint) {
+ public AfterDronePrepared(DronePoint> dronePoint) {
super(dronePoint);
}
+
}
diff --git a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDroneCallableCreated.java b/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDroneCallableCreated.java
deleted file mode 100644
index ee9cfbb9..00000000
--- a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDroneCallableCreated.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2013, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.arquillian.drone.spi.event;
-
-import org.jboss.arquillian.drone.spi.DroneConfiguration;
-import org.jboss.arquillian.drone.spi.DronePoint;
-import org.jboss.arquillian.drone.spi.Instantiator;
-
-/**
- * This event is called before Drone {@link CachingCallable} is created.
- *
- * @author Karel Piwko
- */
-public class BeforeDroneCallableCreated extends BaseDroneEvent implements DroneLifecycleEvent {
-
- private final Instantiator, ? extends DroneConfiguration>> instantiator;
-
- public BeforeDroneCallableCreated(Instantiator, ? extends DroneConfiguration>> instantiator,
- DronePoint> dronePoint) {
- super(dronePoint);
- this.instantiator = instantiator;
- }
-
- public Instantiator, ? extends DroneConfiguration>> getInstantiator() {
- return instantiator;
- }
-}
diff --git a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDroneConfigured.java b/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDronePrepared.java
similarity index 54%
rename from drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDroneConfigured.java
rename to drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDronePrepared.java
index 9270e350..8a2d8861 100644
--- a/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDroneConfigured.java
+++ b/drone-spi/src/main/java/org/jboss/arquillian/drone/spi/event/BeforeDronePrepared.java
@@ -1,6 +1,6 @@
-/*
+/**
* JBoss, Home of Professional Open Source
- * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2015, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
@@ -20,25 +20,42 @@
import org.jboss.arquillian.drone.spi.Configurator;
import org.jboss.arquillian.drone.spi.DroneConfiguration;
import org.jboss.arquillian.drone.spi.DronePoint;
+import org.jboss.arquillian.drone.spi.Instantiator;
/**
- * This event is fired before Drone configuration is created. You'd need to modify {@link ArquillianDescriptor} in
+ * This event is fired before Drone preparation is started. You'd need to modify {@link ArquillianDescriptor} in
* order to change configuration before it is created.
*
+ * @author Matous Jobanek
* @author Karel Piwko
*/
-public class BeforeDroneConfigured extends BaseDroneEvent implements DroneConfigurationEvent {
+public class BeforeDronePrepared extends BaseDroneEvent implements DroneConfigurationEvent {
private final Configurator, ? extends DroneConfiguration>> configurator;
+ private final Instantiator, ? extends DroneConfiguration>> instantiator;
- public BeforeDroneConfigured(Configurator, ? extends DroneConfiguration>> configurator,
- DronePoint> dronePoint) {
+ public BeforeDronePrepared(Configurator, ? extends DroneConfiguration>> configurator,
+ Instantiator, ? extends DroneConfiguration>> instantiator, DronePoint> dronePoint) {
super(dronePoint);
this.configurator = configurator;
+ this.instantiator = instantiator;
}
+ /**
+ * When Drone is already configured so it is not configured after this event, then the returned configurator is null
+ *
+ * @return configurator
+ */
public Configurator, ? extends DroneConfiguration>> getConfigurator() {
return configurator;
}
+ /**
+ * When Drone Callable is already crated so it is not created after this event, then the returned instantiator is null
+ *
+ * @return instantiator
+ */
+ public Instantiator, ? extends DroneConfiguration>> getInstantiator() {
+ return instantiator;
+ }
}