From 920f043b1455a186a2752950d24264e3569cd661 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 23 Jan 2024 11:46:05 +0800 Subject: [PATCH] 1 --- .../diframe/DiDeviceRegister.java | 2 + .../diframe/DiDeviceRegisterManager.java | 2 + .../diframe/DiDeviceResourceManager.java | 4 ++ .../diframe/DiResourceManager.java | 2 + .../diframe/DiResourceManagerBase.java | 2 + .../diframe/ResourceManager.java | 9 +++++ .../diframe/util/ClassHelper.java | 46 ---------------------- .../diframe/util/DiByteBuffer.java | 4 ++ .../diframe/util/DiClassHelper.java | 46 ++++++++++++++++++++++ .../resource/ResHeatingTubeRackSlot.java | 4 ++ .../resource/ResHeatingTubeRackSlotManager.java | 10 +++++ .../my/graphiteDigesterBg/task/TaskSampleAdd.java | 2 + .../my/graphiteDigesterBg/task/TaskStartReset.java | 2 + src/src/main/resources/device.yml | 0 src/web/src/utils/ApiClient.js | 36 +++++++++++++++++ 15 files changed, 125 insertions(+), 46 deletions(-) create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegister.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegisterManager.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceResourceManager.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManager.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManagerBase.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/ResourceManager.java delete mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/util/ClassHelper.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiByteBuffer.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiClassHelper.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlot.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlotManager.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java create mode 100644 src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java create mode 100644 src/src/main/resources/device.yml create mode 100644 src/web/src/utils/ApiClient.js diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegister.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegister.java new file mode 100644 index 0000000..2c24d93 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegister.java @@ -0,0 +1,2 @@ +package com.my.graphiteDigesterBg.diframe;public class DiDeviceRegister { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegisterManager.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegisterManager.java new file mode 100644 index 0000000..9ce1b19 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRegisterManager.java @@ -0,0 +1,2 @@ +package com.my.graphiteDigesterBg.diframe;public class DiDeviceRegisterManager { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceResourceManager.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceResourceManager.java new file mode 100644 index 0000000..fc49417 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceResourceManager.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.diframe; +public class DiResourceManager { + +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManager.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManager.java new file mode 100644 index 0000000..7777b49 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManager.java @@ -0,0 +1,2 @@ +package com.my.graphiteDigesterBg.diframe;public interface DiResourceManager { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManagerBase.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManagerBase.java new file mode 100644 index 0000000..1e8f08d --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiResourceManagerBase.java @@ -0,0 +1,2 @@ +package com.my.graphiteDigesterBg.diframe;public class DiResourceManagerBase { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/ResourceManager.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/ResourceManager.java new file mode 100644 index 0000000..668dbc4 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/ResourceManager.java @@ -0,0 +1,9 @@ +package com.my.graphiteDigesterBg.diframe.util; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +@Retention(RetentionPolicy.RUNTIME) +@Target({java.lang.annotation.ElementType.TYPE}) +public @interface ResourceManager { + String name(); +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/ClassHelper.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/ClassHelper.java deleted file mode 100644 index 8114c9c..0000000 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/ClassHelper.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.my.graphiteDigesterBg.diframe.util; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -public class ClassHelper { - // get all classes in package - public static List> getAllClassesInPackage(String packageName) { - List> classes = new ArrayList<>(); - try { - String packagePath = packageName.replace(".", "/"); - List resources = Collections.list(Thread.currentThread().getContextClassLoader().getResources(packagePath)); - for (URL resource : resources) { - if ( "file".equals(resource.getProtocol()) ) { - ClassHelper.getClassListByGivenFilePath(packageName,resource.getFile(), classes); - } else { - throw new RuntimeException("Unsupported protocol: " + resource.getProtocol()); - } - } - } catch (IOException e) { - throw new RuntimeException(e); - } - return classes; - } - - // get class list by given file path - private static void getClassListByGivenFilePath( String packageName, String filePath, List> classes ) { - File file = new File(filePath); - if ( file.isDirectory() ) { - for ( File subFile : file.listFiles() ) { - ClassHelper.getClassListByGivenFilePath(packageName + "." + subFile.getName(), subFile.getAbsolutePath(), classes); - } - } else { - if ( file.getName().endsWith(".class") ) { - try { - String className = packageName.substring(0, packageName.length() - 6); - classes.add(Class.forName(className)); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } - } - } - } -} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiByteBuffer.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiByteBuffer.java new file mode 100644 index 0000000..a09e94e --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiByteBuffer.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.diframe.util; +public class MyByteBuffer { + +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiClassHelper.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiClassHelper.java new file mode 100644 index 0000000..8114c9c --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/util/DiClassHelper.java @@ -0,0 +1,46 @@ +package com.my.graphiteDigesterBg.diframe.util; +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +public class ClassHelper { + // get all classes in package + public static List> getAllClassesInPackage(String packageName) { + List> classes = new ArrayList<>(); + try { + String packagePath = packageName.replace(".", "/"); + List resources = Collections.list(Thread.currentThread().getContextClassLoader().getResources(packagePath)); + for (URL resource : resources) { + if ( "file".equals(resource.getProtocol()) ) { + ClassHelper.getClassListByGivenFilePath(packageName,resource.getFile(), classes); + } else { + throw new RuntimeException("Unsupported protocol: " + resource.getProtocol()); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + return classes; + } + + // get class list by given file path + private static void getClassListByGivenFilePath( String packageName, String filePath, List> classes ) { + File file = new File(filePath); + if ( file.isDirectory() ) { + for ( File subFile : file.listFiles() ) { + ClassHelper.getClassListByGivenFilePath(packageName + "." + subFile.getName(), subFile.getAbsolutePath(), classes); + } + } else { + if ( file.getName().endsWith(".class") ) { + try { + String className = packageName.substring(0, packageName.length() - 6); + classes.add(Class.forName(className)); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + } + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlot.java b/src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlot.java new file mode 100644 index 0000000..ae8f77a --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlot.java @@ -0,0 +1,4 @@ +package com.my.graphiteDigesterBg.resource; +public class HeatingTubeRackSlot { + +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlotManager.java b/src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlotManager.java new file mode 100644 index 0000000..a7c0d1b --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/resource/ResHeatingTubeRackSlotManager.java @@ -0,0 +1,10 @@ +package com.my.graphiteDigesterBg.resource; +import com.my.graphiteDigesterBg.diframe.DiResourceManagerBase; +import com.my.graphiteDigesterBg.diframe.util.ResourceManager; +@ResourceManager(name="HeatingTubeRackSlot") +public class HeatingTubeRackSlotManager extends DiResourceManagerBase { + // get free slot + public HeatingTubeRackSlot getFreeSlot() { + return null; + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java new file mode 100644 index 0000000..76fe694 --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java @@ -0,0 +1,2 @@ +package com.my.graphiteDigesterBg.task;public class TaskSampleAdd { +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java new file mode 100644 index 0000000..6fb042d --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java @@ -0,0 +1,2 @@ +package com.my.graphiteDigesterBg.task;public class TaskStartReset { +} diff --git a/src/src/main/resources/device.yml b/src/src/main/resources/device.yml new file mode 100644 index 0000000..e69de29 diff --git a/src/web/src/utils/ApiClient.js b/src/web/src/utils/ApiClient.js new file mode 100644 index 0000000..3cde90c --- /dev/null +++ b/src/web/src/utils/ApiClient.js @@ -0,0 +1,36 @@ +import axios from 'axios'; +export default class ApiClient { + // client instance + static client = null; + + /** + * get client instance + * @returns {ApiClient} + */ + static getClient() { + if (ApiClient.client === null) { + ApiClient.client = new ApiClient(); + } + return ApiClient.client; + } + + // constructor + constructor() { + + } + + // call api + async call( name, params ) { + debugger; + const response = await axios.post(`/api/${name}`, params); + return response.data; + } + + // append task + async taskAppend( name, params={} ) { + return await this.call('task.append', { + name: name, + params: params, + }); + } +} \ No newline at end of file