From 9f5e970f653f3d251fbbb8ace04a1a87728ce61e Mon Sep 17 00:00:00 2001 From: sige Date: Wed, 17 Jan 2024 15:17:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../my/graphiteDigesterBg/diframe/DiActuator.java | 4 ++++ .../graphiteDigesterBg/diframe/DiActuatorBase.java | 8 ++++++++ .../diframe/DiApplicationRunner.java | 22 ++++++++++++++++++++++ .../my/graphiteDigesterBg/diframe/DiDevice.java | 8 ++++++++ .../diframe/DiDeviceActuatorManager.java | 1 - .../com/my/graphiteDigesterBg/diframe/DiTask.java | 5 +++++ .../my/graphiteDigesterBg/diframe/DiTaskBase.java | 16 ++++++++++++++++ .../graphiteDigesterBg/diframe/DiTaskExecutor.java | 10 ++++++++++ .../my/graphiteDigesterBg/diframe/DiTaskStep.java | 4 ++++ .../diframe/actuator/DiActMotor.java | 3 +++ .../diframe/actuator/DiActPeristalticPump.java | 3 +++ .../diframe/actuator/DiActServo.java | 3 +++ .../diframe/actuator/DiActuator.java | 4 ---- .../diframe/actuator/DiActuatorBase.java | 5 ----- .../diframe/api/ApiConsumable.java | 4 ++++ .../graphiteDigesterBg/diframe/api/ApiDevice.java | 8 ++++++++ .../my/graphiteDigesterBg/diframe/api/ApiTask.java | 4 ++++ .../my/graphiteDigesterBg/diframe/api/ApiUser.java | 5 +++++ .../my/graphiteDigesterBg/task/TaskDigestion.java | 8 ++++++++ 19 files changed, 115 insertions(+), 10 deletions(-) create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuator.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuatorBase.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiApplicationRunner.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTask.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskBase.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskExecutor.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStep.java delete mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuator.java delete mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiConsumable.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiDevice.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiTask.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiUser.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/task/TaskDigestion.java 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/DiActuatorBase.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuatorBase.java new file mode 100644 index 0000000..b8c22a9 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiActuatorBase.java @@ -0,0 +1,8 @@ +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/actuator/DiActuatorBase.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java deleted file mode 100644 index a24cf69..0000000 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.my.graphiteDigesterBg.diframe.actuator; -abstract public class DiActuatorBase implements DiActuator { - // mid - protected Integer mid; -} 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()"); + } +}