diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuator.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuator.java new file mode 100644 index 0000000..5479614 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuator.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.diframe; +public interface DiActuator { + +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuatorBase.java similarity index 50% rename from src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java rename to src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuatorBase.java index a24cf69..b8c22a9 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuatorBase.java @@ -1,4 +1,7 @@ -package com.my.graphiteDigesterBg.diframe.actuator; +package com.my.graphiteDigesterBg.diframe; + +import com.my.graphiteDigesterBg.diframe.DiActuator; + abstract public class DiActuatorBase implements DiActuator { // mid protected Integer mid; diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiApplicationRunner.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiApplicationRunner.java new file mode 100644 index 0000000..e5e930b --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiApplicationRunner.java @@ -0,0 +1,22 @@ +package com.my.graphiteDigesterBg.diframe; +import jakarta.annotation.Resource; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +@Order(1) +@Component +public class DiApplicationRunner implements ApplicationRunner { + @Resource + private DiDevice device; + + @Override + public void run(ApplicationArguments args) throws Exception { + this.scanAndRegisterTasks(); + } + + // scan tasks + private void scanAndRegisterTasks() { + System.out.println("DiApplicationRunner.scanAndRegisterTasks()"); + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java index c4f6da2..712a5ef 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java @@ -7,11 +7,14 @@ public class DiDevice { private DiDeviceIOManager io; // actuator manager private DiDeviceActuatorManager actuators; + // task executor + private DiTaskExecutor taskExecutor; @PostConstruct public void init() { this.io = new DiDeviceIOManager(this); this.actuators = new DiDeviceActuatorManager(this); + this.taskExecutor = new DiTaskExecutor(this); } // get io manager @@ -23,4 +26,9 @@ public class DiDevice { public DiDeviceActuatorManager getActuators() { return this.actuators; } + + // get task executor + public DiTaskExecutor getTaskExecutor() { + return this.taskExecutor; + } } \ No newline at end of file diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceActuatorManager.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceActuatorManager.java index 97ebf06..b6fc1d9 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceActuatorManager.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceActuatorManager.java @@ -1,5 +1,4 @@ package com.my.graphiteDigesterBg.diframe; -import com.my.graphiteDigesterBg.diframe.actuator.DiActuator; import java.util.HashMap; import java.util.Map; public class DiDeviceActuatorManager { diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTask.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTask.java new file mode 100644 index 0000000..191ccd1 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTask.java @@ -0,0 +1,5 @@ +package com.my.graphiteDigesterBg.diframe; +public interface DiTask { + // run + void run(); +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskBase.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskBase.java new file mode 100644 index 0000000..98e431b --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskBase.java @@ -0,0 +1,16 @@ +package com.my.graphiteDigesterBg.diframe; +import java.util.List; +import java.util.Map; +abstract public class DiTaskBase { + // parameter + private Map parameter; + // steps + private List steps; + // step index + private Integer stepIndex; + + // run + public void run() { + // do something + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskExecutor.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskExecutor.java new file mode 100644 index 0000000..30bf956 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskExecutor.java @@ -0,0 +1,10 @@ +package com.my.graphiteDigesterBg.diframe; +public class DiTaskExecutor { + // device instance + private DiDevice device; + + // constructor + public DiTaskExecutor(DiDevice device) { + this.device = device; + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStep.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStep.java new file mode 100644 index 0000000..2a24f50 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStep.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.diframe; + +public interface DiTaskStep { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActMotor.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActMotor.java index 8ee5c45..e483fb1 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActMotor.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActMotor.java @@ -1,4 +1,7 @@ package com.my.graphiteDigesterBg.diframe.actuator; + +import com.my.graphiteDigesterBg.diframe.DiActuatorBase; + public class DiActMotor extends DiActuatorBase { public void moveTo( Integer pos ) {} public void moveBy( Integer delta ) {} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java index 31fe55e..870fa7c 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java @@ -1,3 +1,6 @@ package com.my.graphiteDigesterBg.diframe.actuator; + +import com.my.graphiteDigesterBg.diframe.DiActuatorBase; + public class DiActPeristalticPump extends DiActuatorBase { } \ No newline at end of file diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActServo.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActServo.java index 980d0a4..18e2717 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActServo.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActServo.java @@ -1,3 +1,6 @@ package com.my.graphiteDigesterBg.diframe.actuator; + +import com.my.graphiteDigesterBg.diframe.DiActuatorBase; + public class DiActServo extends DiActuatorBase { } diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuator.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuator.java deleted file mode 100644 index e6a6e21..0000000 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuator.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.my.graphiteDigesterBg.diframe.actuator; -public interface DiActuator { - -} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiConsumable.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiConsumable.java new file mode 100644 index 0000000..6dbf358 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiConsumable.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.diframe.api; + +public class ApiConsumable { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiDevice.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiDevice.java new file mode 100644 index 0000000..d9461b2 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiDevice.java @@ -0,0 +1,8 @@ +package com.my.graphiteDigesterBg.diframe.api; +public class ApiDevice { + public void init() {} + public void start() {} + public void stop() {} + public void pause() {} + public void resume() {} +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiTask.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiTask.java new file mode 100644 index 0000000..8ad18a6 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiTask.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.diframe.api; +public class ApiTask { + public void append( String name, Object params ) {} +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiUser.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiUser.java new file mode 100644 index 0000000..483a5b6 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiUser.java @@ -0,0 +1,5 @@ +package com.my.graphiteDigesterBg.diframe.api; +public class ApiUser { + public void login() {} + public void logout() {} +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskDigestion.java b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskDigestion.java new file mode 100644 index 0000000..4d4de9d --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskDigestion.java @@ -0,0 +1,8 @@ +package com.my.graphiteDigesterBg.task; +import com.my.graphiteDigesterBg.diframe.DiTaskBase; +public class TaskDigestion extends DiTaskBase { + @Override + public void run() { + System.out.println("TaskDigestion.run()"); + } +}