From 3d9cecde5c8956a35753e8c2daa84ba8c1ee94f9 Mon Sep 17 00:00:00 2001 From: Erwan Bousse Date: Wed, 14 Jun 2017 11:10:27 +0200 Subject: [PATCH 1/2] [EngineAddon] Add empty default operations to IEngineAddon --- .../api/engine_addon/DefaultEngineAddon.java | 6 +++ .../api/engine_addon/IEngineAddon.java | 44 ++++++++++++------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java b/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java index 2c7327a25..68c2f16f1 100644 --- a/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java +++ b/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java @@ -19,6 +19,12 @@ import fr.inria.diverse.trace.commons.model.trace.Step; +@Deprecated() +/** + * Engine addon with no behavior at all. + * + * @deprecated Use {@link IEngineAddon} directly instead, as all operations have default empty implementations. + */ public class DefaultEngineAddon implements IEngineAddon { @Override diff --git a/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/IEngineAddon.java b/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/IEngineAddon.java index 72f057020..13e62d855 100644 --- a/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/IEngineAddon.java +++ b/framework/framework_commons/plugins/org.gemoc.xdsmlframework.api/src/org/gemoc/xdsmlframework/api/engine_addon/IEngineAddon.java @@ -10,6 +10,7 @@ *******************************************************************************/ package org.gemoc.xdsmlframework.api.engine_addon; +import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -23,49 +24,58 @@ public interface IEngineAddon { /** * Operation called before the engine starts */ - public void engineAboutToStart(IExecutionEngine engine); + default public void engineAboutToStart(IExecutionEngine engine) { + }; /** * Operation called after the engine have started */ - public void engineStarted(IExecutionEngine executionEngine); + default public void engineStarted(IExecutionEngine executionEngine) { + }; default public void engineInitialized(IExecutionEngine executionEngine) { - - } - - public void engineAboutToStop(IExecutionEngine engine); + }; + + default public void engineAboutToStop(IExecutionEngine engine) { + }; /** * Operation called after the engine has been stopped */ - public void engineStopped(IExecutionEngine engine); + default public void engineStopped(IExecutionEngine engine) { + }; - /** * Operation before the engine has been disposed (and after the engine has * been stopped) */ - public void engineAboutToDispose(IExecutionEngine engine); + default public void engineAboutToDispose(IExecutionEngine engine) { + }; /** * Operation called before the Step has been chosen */ - public void aboutToSelectStep(IExecutionEngine engine, Collection> steps); + default public void aboutToSelectStep(IExecutionEngine engine, Collection> steps) { + }; - public void proposedStepsChanged(IExecutionEngine engine, Collection> steps); + default public void proposedStepsChanged(IExecutionEngine engine, Collection> steps) { + }; /** * Operation called after the Step has been chosen It also returns the * chosen Step */ - public void stepSelected(IExecutionEngine engine, Step selectedStep); + default public void stepSelected(IExecutionEngine engine, Step selectedStep) { + }; - public void aboutToExecuteStep(IExecutionEngine engine, Step stepToExecute); + default public void aboutToExecuteStep(IExecutionEngine engine, Step stepToExecute) { + }; - public void stepExecuted(IExecutionEngine engine, Step stepExecuted); + default public void stepExecuted(IExecutionEngine engine, Step stepExecuted) { + }; - public void engineStatusChanged(IExecutionEngine engine, RunStatus newStatus); + default public void engineStatusChanged(IExecutionEngine engine, RunStatus newStatus) { + }; /** * This operation check the current addon compatibility with elements in @@ -74,6 +84,8 @@ default public void engineInitialized(IExecutionEngine executionEngine) { * @return A list of error messages if the check failed or an empty list * otherwise. */ - public List validate(List otherAddons); + default public List validate(List otherAddons) { + return new ArrayList(); + }; } From 20f88b14179ef2ec20ed4b7b2e3c1bb4ee81a108 Mon Sep 17 00:00:00 2001 From: Erwan Bousse Date: Mon, 17 Jul 2017 13:15:35 +0200 Subject: [PATCH 2/2] Re-add @Deprecated to DefaultEngineAddon (merge mistake) --- .../api/engine_addon/DefaultEngineAddon.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/framework/framework_commons/plugins/org.eclipse.gemoc.xdsmlframework.api/src/org/eclipse/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java b/framework/framework_commons/plugins/org.eclipse.gemoc.xdsmlframework.api/src/org/eclipse/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java index e180f7f2a..01091f182 100644 --- a/framework/framework_commons/plugins/org.eclipse.gemoc.xdsmlframework.api/src/org/eclipse/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java +++ b/framework/framework_commons/plugins/org.eclipse.gemoc.xdsmlframework.api/src/org/eclipse/gemoc/xdsmlframework/api/engine_addon/DefaultEngineAddon.java @@ -10,6 +10,13 @@ *******************************************************************************/ package org.eclipse.gemoc.xdsmlframework.api.engine_addon; +@Deprecated() +/** + * Engine addon with no behavior at all. + * + * @deprecated Use {@link IEngineAddon} directly instead, as all operations have + * default empty implementations. + */ public class DefaultEngineAddon implements IEngineAddon { }