Skip to content

Commit

Permalink
jector-examples: applied the new changes to the examples
Browse files Browse the repository at this point in the history
  • Loading branch information
pavly-gerges committed Jul 30, 2023
1 parent 68d9ac7 commit 7a84511
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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("-----------------------------------------------------");
Expand All @@ -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);
Expand All @@ -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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand All @@ -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);

Expand All @@ -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");
Expand All @@ -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());
Expand All @@ -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());
Expand All @@ -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);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,29 +45,28 @@
*
* @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";

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);
Expand All @@ -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")
Expand All @@ -94,7 +93,7 @@ public void onStartExecutorService() {
}

@Override
public void onStopExecutorService() {
public void onDestructExecutorService() {

}

Expand Down

0 comments on commit 7a84511

Please sign in to comment.