From 7a84511004509e6763fae5015ee469bab820830a Mon Sep 17 00:00:00 2001 From: pavl_g Date: Mon, 31 Jul 2023 01:28:17 +0300 Subject: [PATCH] jector-examples: applied the new changes to the examples --- .../jector/examples/TaskExecutorService.java | 8 ++-- .../examples/TestTaskExecutorManager.java | 10 ++--- .../examples/monkey/TaskExecutorService.java | 42 +++++++++---------- .../monkey/TestJectorInheritance.java | 11 +++-- .../monkey/TestMonkeyTaskExecutorManager.java | 19 ++++----- 5 files changed, 42 insertions(+), 48 deletions(-) diff --git a/jector-examples/src/main/java/com/avrsandbox/jector/examples/TaskExecutorService.java b/jector-examples/src/main/java/com/avrsandbox/jector/examples/TaskExecutorService.java index 4aa00f6..61c4cf2 100644 --- a/jector-examples/src/main/java/com/avrsandbox/jector/examples/TaskExecutorService.java +++ b/jector-examples/src/main/java/com/avrsandbox/jector/examples/TaskExecutorService.java @@ -48,7 +48,7 @@ public class TaskExecutorService implements Worker { /** * Writes a message into the task return. */ - @ExecuteOn(executors = {TestTaskBinder.Daemon.class}) + @ExecuteOn(executors = {TestTaskExecutorManager.DAEMON_THREAD}) public String writeMessage(MethodArguments methodArguments, TaskExecutorsManager taskExecutorsManager) { try { System.out.println("-----------------------------------------------------"); @@ -60,7 +60,7 @@ public String writeMessage(MethodArguments methodArguments, TaskExecutorsManager } finally { /* 6) Activates concurrent tasks describing Jector concurrency model */ taskExecutorsManager.getTaskExecutors() - .get(TestTaskBinder.Looper.class) + .get(TestTaskExecutorManager.LOOPER_THREAD) .getTasks() .get("showMessage") .setActive(true); @@ -70,13 +70,13 @@ public String writeMessage(MethodArguments methodArguments, TaskExecutorsManager /** * Shows a written message from the task return of another executor. */ - @ExecuteOn(executors = {TestTaskBinder.Looper.class}) + @ExecuteOn(executors = {TestTaskExecutorManager.LOOPER_THREAD}) public void showMessage(MethodArguments methodArguments, TaskExecutorsManager taskExecutorsManager) { System.out.println("-----------------------------------------------------"); System.out.println(Thread.currentThread().getName()); /* Retrieves the writeMessage return value */ System.out.println(taskExecutorsManager.getTaskExecutors() - .get(TestTaskBinder.Daemon.class) + .get(TestTaskExecutorManager.DAEMON_THREAD) .getTasks() .get("writeMessage") .getResult()); diff --git a/jector-examples/src/main/java/com/avrsandbox/jector/examples/TestTaskExecutorManager.java b/jector-examples/src/main/java/com/avrsandbox/jector/examples/TestTaskExecutorManager.java index df3c390..f6bb8a0 100644 --- a/jector-examples/src/main/java/com/avrsandbox/jector/examples/TestTaskExecutorManager.java +++ b/jector-examples/src/main/java/com/avrsandbox/jector/examples/TestTaskExecutorManager.java @@ -41,7 +41,7 @@ * * @author pavl_g */ -public final class TestTaskBinder { +public final class TestTaskExecutorManager { private static final AppThread looperThread = new Looper(); private static final AppThread daemonThread = new Daemon(); @@ -51,13 +51,9 @@ public final class TestTaskBinder { protected static final String LOOPER_THREAD = "LOOPER_THREAD"; protected static final String FOREGROUND_THREAD = "FOREGROUND_THREAD"; - public static void main(String[] args) throws InterruptedException { - /* 1) Start threads */ - daemonThread.start(); - looperThread.start(); - foregroundThread.start(); + public static void main(String[] args) { - /* 2) Register executors */ + /* 2) Register executors and start them */ taskExecutorsManager.registerTaskExecutor(DAEMON_THREAD, daemonThread); taskExecutorsManager.registerTaskExecutor(LOOPER_THREAD, looperThread); taskExecutorsManager.registerTaskExecutor(FOREGROUND_THREAD, foregroundThread); diff --git a/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TaskExecutorService.java b/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TaskExecutorService.java index 631a4ae..8e53786 100644 --- a/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TaskExecutorService.java +++ b/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TaskExecutorService.java @@ -35,7 +35,6 @@ import com.avrsandbox.jector.core.command.MethodArguments; import com.avrsandbox.jector.core.work.TaskExecutorsManager; import com.avrsandbox.jector.core.work.Worker; -import com.avrsandbox.jector.monkey.core.work.MonkeyTaskExecutor; import com.avrsandbox.jector.monkey.core.work.MonkeyWorkerTask; import com.avrsandbox.jector.monkey.util.MonkeyTasks; import com.avrsandbox.jector.util.Tasks; @@ -60,10 +59,10 @@ */ public class TaskExecutorService implements Worker { - @ExecuteOn(executors = {TestMonkeyTaskBinder.AssetLoaderThread.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.ASSET_LOADER}) public Geometry setupSky(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { try { - SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, MonkeyTaskExecutor.class); + SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, TestMonkeyTaskExecutorManager.JME_EXECUTOR); Geometry sky = (Geometry) SkyFactory.createSky(app.getAssetManager(), app.getAssetManager().loadTexture("assets/Textures/sky.jpg"), Vector3f.UNIT_XYZ, SkyFactory.EnvMapType.EquirectMap); @@ -76,10 +75,10 @@ public Geometry setupSky(MethodArguments args, TaskExecutorsManager taskExecutor } } - @ExecuteOn(executors = {MonkeyTaskExecutor.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.JME_EXECUTOR}) public void setupScene(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { - SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, MonkeyTaskExecutor.class); - Geometry sky = Tasks.getWorkerTaskResult(taskExecutorsManager, TestMonkeyTaskBinder.AssetLoaderThread.class, "setupSky"); + SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, TestMonkeyTaskExecutorManager.JME_EXECUTOR); + Geometry sky = Tasks.getWorkerTaskResult(taskExecutorsManager, TestMonkeyTaskExecutorManager.ASSET_LOADER, "setupSky"); app.getRootNode().attachChild(sky); @@ -99,10 +98,10 @@ public void setupScene(MethodArguments args, TaskExecutorsManager taskExecutorsM ApplicationTasks.setCacheAssetTaskActive(taskExecutorsManager, true); } - @ExecuteOn(executors = {TestMonkeyTaskBinder.AssetLoaderThread.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.ASSET_LOADER}) public Spatial cacheAsset(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { try { - SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, MonkeyTaskExecutor.class); + SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, TestMonkeyTaskExecutorManager.JME_EXECUTOR); Spatial dataBaseStack = app.getAssetManager().loadModel("assets/Models/Database.j3o"); dataBaseStack.setLocalScale(0.6f); dataBaseStack.setName("DataBaseStackModel"); @@ -123,14 +122,14 @@ public Spatial cacheAsset(MethodArguments args, TaskExecutorsManager taskExecuto } } - @ExecuteOn(executors = {MonkeyTaskExecutor.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.JME_EXECUTOR}) public void attachAsset(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { - SimpleApplication application = MonkeyTasks.getApplication(taskExecutorsManager, MonkeyTaskExecutor.class); + SimpleApplication application = MonkeyTasks.getApplication(taskExecutorsManager, TestMonkeyTaskExecutorManager.JME_EXECUTOR); Spatial dataBaseStack = Tasks.getWorkerTaskResult(taskExecutorsManager, - TestMonkeyTaskBinder.AssetLoaderThread.class, "cacheAsset"); + TestMonkeyTaskExecutorManager.ASSET_LOADER, "cacheAsset"); application.getRootNode().attachChild(dataBaseStack); - MonkeyWorkerTask task = MonkeyTasks.getWorkerTask(taskExecutorsManager, MonkeyTaskExecutor.class, "attachAsset"); + MonkeyWorkerTask task = MonkeyTasks.getWorkerTask(taskExecutorsManager, TestMonkeyTaskExecutorManager.JME_EXECUTOR, "attachAsset"); System.out.println("JME Thread: " + Thread.currentThread().getName()); System.out.println("Task Time per frame: " + task.getTimePerFrame()); @@ -141,13 +140,13 @@ public void attachAsset(MethodArguments args, TaskExecutorsManager taskExecutors ApplicationTasks.setCameraTaskActive(taskExecutorsManager, true); } - @ExecuteOn(executors = {MonkeyTaskExecutor.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.JME_EXECUTOR}) public void setupCamera(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { - SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, MonkeyTaskExecutor.class); + SimpleApplication app = MonkeyTasks.getApplication(taskExecutorsManager, TestMonkeyTaskExecutorManager.JME_EXECUTOR); - Spatial dataBaseStack = (Spatial) Tasks.getWorkerTaskResult(taskExecutorsManager, - TestMonkeyTaskBinder.AssetLoaderThread.class, "cacheAsset"); + Spatial dataBaseStack = Tasks.getWorkerTaskResult(taskExecutorsManager, + TestMonkeyTaskExecutorManager.ASSET_LOADER, "cacheAsset"); app.getCamera().setFrustumNear(0.7f); ChaseCamera chaseCamera = new ChaseCamera(app.getCamera(), dataBaseStack, app.getInputManager()); @@ -161,31 +160,32 @@ public void setupCamera(MethodArguments args, TaskExecutorsManager taskExecutors chaseCamera.setHideCursorOnRotate(true); /* Disables this task */ - ApplicationTasks.setCameraTaskActive(taskExecutorsManager, false); + taskExecutorsManager.unregisterTaskExecutor(TestMonkeyTaskExecutorManager.ASSET_LOADER); + taskExecutorsManager.unregisterTaskExecutor(TestMonkeyTaskExecutorManager.JME_EXECUTOR); } protected static class ApplicationTasks { public static void setCameraTaskActive(TaskExecutorsManager taskExecutorsManager, boolean value) { Tasks.getWorkerTask(taskExecutorsManager, - MonkeyTaskExecutor.class, + TestMonkeyTaskExecutorManager.JME_EXECUTOR, "setupCamera").setActive(value); } public static void setAttachAssetTaskActive(TaskExecutorsManager taskExecutorsManager, boolean value) { Tasks.getWorkerTask(taskExecutorsManager, - MonkeyTaskExecutor.class, + TestMonkeyTaskExecutorManager.JME_EXECUTOR, "attachAsset").setActive(value); } public static void setSetupSceneTaskActive(TaskExecutorsManager taskExecutorsManager, boolean value) { Tasks.getWorkerTask(taskExecutorsManager, - MonkeyTaskExecutor.class, + TestMonkeyTaskExecutorManager.JME_EXECUTOR, "setupScene").setActive(value); } public static void setCacheAssetTaskActive(TaskExecutorsManager taskExecutorsManager, boolean value) { Tasks.getWorkerTask(taskExecutorsManager, - TestMonkeyTaskBinder.AssetLoaderThread.class, + TestMonkeyTaskExecutorManager.ASSET_LOADER, "cacheAsset").setActive(value); } } diff --git a/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestJectorInheritance.java b/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestJectorInheritance.java index e27580f..7d12da1 100644 --- a/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestJectorInheritance.java +++ b/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestJectorInheritance.java @@ -34,7 +34,6 @@ import com.avrsandbox.jector.core.command.ExecuteOn; import com.avrsandbox.jector.core.command.MethodArguments; import com.avrsandbox.jector.core.work.TaskExecutorsManager; -import com.avrsandbox.jector.monkey.core.work.MonkeyTaskExecutor; import com.jme3.scene.Geometry; import com.jme3.scene.Spatial; @@ -46,31 +45,31 @@ public class TestJectorInheritance extends TaskExecutorService { @Override - @ExecuteOn(executors = {TestMonkeyTaskBinder.AssetLoaderThread.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.ASSET_LOADER}) public Geometry setupSky(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { return super.setupSky(args, taskExecutorsManager); } @Override - @ExecuteOn(executors = {MonkeyTaskExecutor.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.JME_EXECUTOR}) public void setupScene(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { super.setupScene(args, taskExecutorsManager); } @Override - @ExecuteOn(executors = {TestMonkeyTaskBinder.AssetLoaderThread.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.ASSET_LOADER}) public Spatial cacheAsset(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { return super.cacheAsset(args, taskExecutorsManager); } @Override - @ExecuteOn(executors = {MonkeyTaskExecutor.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.JME_EXECUTOR}) public void attachAsset(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { super.attachAsset(args, taskExecutorsManager); } @Override - @ExecuteOn(executors = {MonkeyTaskExecutor.class}) + @ExecuteOn(executors = {TestMonkeyTaskExecutorManager.JME_EXECUTOR}) public void setupCamera(MethodArguments args, TaskExecutorsManager taskExecutorsManager) { super.setupCamera(args, taskExecutorsManager); } diff --git a/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestMonkeyTaskExecutorManager.java b/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestMonkeyTaskExecutorManager.java index 2ed9a41..33693d8 100644 --- a/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestMonkeyTaskExecutorManager.java +++ b/jector-examples/src/main/java/com/avrsandbox/jector/examples/monkey/TestMonkeyTaskExecutorManager.java @@ -45,10 +45,10 @@ * * @author pavl_g */ -public final class TestMonkeyTaskBinder extends SimpleApplication implements TaskExecutorListeners { +public final class TestMonkeyTaskExecutorManager extends SimpleApplication implements TaskExecutorListeners { protected final AppThread assetLoaderThread = new AssetLoaderThread(); - protected MonkeyTaskExecutorsManager monkeyTaskBinder; + protected MonkeyTaskExecutorsManager monkeyTaskExecutorsManager; protected final MonkeyTaskExecutor monkeyTaskExecutor = new MonkeyTaskExecutor("MonkeyExecutor"); protected static final String JME_EXECUTOR = "JME_EXECUTOR"; protected static final String ASSET_LOADER = "ASSET_LOADER"; @@ -56,18 +56,17 @@ public final class TestMonkeyTaskBinder extends SimpleApplication implements Tas public static void main(String[] args) { AppSettings settings = new AppSettings(true); - TestMonkeyTaskBinder app = new TestMonkeyTaskBinder(); + TestMonkeyTaskExecutorManager app = new TestMonkeyTaskExecutorManager(); app.setSettings(settings); app.start(); } @Override public void simpleInitApp() { - monkeyTaskBinder = new MonkeyTaskExecutorsManager(new TestJectorInheritance(), TestMonkeyTaskBinder.this); + monkeyTaskExecutorsManager = new MonkeyTaskExecutorsManager(new TestJectorInheritance(), TestMonkeyTaskExecutorManager.this); - monkeyTaskBinder.registerTaskExecutor(ASSET_LOADER, assetLoaderThread); - monkeyTaskBinder.registerTaskExecutor(JME_EXECUTOR, monkeyTaskExecutor); - monkeyTaskBinder.registerTaskExecutor(JME_EXECUTOR, monkeyTaskExecutor); + monkeyTaskExecutorsManager.registerTaskExecutor(ASSET_LOADER, assetLoaderThread); + monkeyTaskExecutorsManager.registerTaskExecutor(JME_EXECUTOR, monkeyTaskExecutor); assetLoaderThread.setActive(true); monkeyTaskExecutor.setActive(true); @@ -80,8 +79,8 @@ public void simpleUpdate(float tpf) { @Override public void onExecutorInitialized(Application app) { - monkeyTaskBinder.bind(new MethodArguments()); - monkeyTaskBinder.getTaskExecutors() + monkeyTaskExecutorsManager.bind(new MethodArguments()); + monkeyTaskExecutorsManager.getTaskExecutors() .get(ASSET_LOADER) .getTasks() .get("setupSky") @@ -94,7 +93,7 @@ public void onStartExecutorService() { } @Override - public void onStopExecutorService() { + public void onDestructExecutorService() { }