From b3b17b231e2f2840332ce6eb96f791865fdec6d5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 16:38:16 +0800
Subject: [PATCH] 代码优化
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolUnit.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolUnit.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolUnit.java
new file mode 100644
index 0000000..1e26b29
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolUnit.java
@@ -0,0 +1,93 @@
+package com.dy.common.mw.protocol;
+
+import java.util.Collection;
+import java.util.HashMap;
+
+import com.dy.common.mw.UnitAdapterInterface;
+import com.dy.common.mw.UnitInterface;
+import com.dy.common.mw.UnitCallbackInterface;
+
+
+public class ProtocolUnit implements UnitInterface {
+
+ private static final ProtocolUnit instance = new ProtocolUnit() ;
+
+ public ProtocolUnitAdapter adapter ;
+
+ private ProtocolUnit(){}
+
+ public static ProtocolUnit getInstance(){
+ return instance ;
+ }
+
+ @Override
+ public void setAdapter(UnitAdapterInterface adapter) throws Exception {
+ if(adapter == null){
+ throw new Exception("鍗忚妯″潡閫傞厤鍣ㄥ璞′笉鑳戒负绌猴紒") ;
+ }
+ this.adapter = (ProtocolUnitAdapter)adapter ;
+
+ ProtocolConfigVo vo = this.adapter.getConfig() ;
+ if(vo == null){
+ throw new Exception("鍗忚妯″潡閰嶇疆瀵硅薄涓嶈兘涓虹┖锛�") ;
+ }
+ if(vo.centerAddr < 0 || vo.centerAddr > 4){//浜戞帶鍒朵腑蹇冨湴鍧�鏄�0
+ throw new Exception("鍗忚妯″潡閰嶇疆瀵硅薄灞炴�т腑蹇冨湴鍧�鍙兘鏄�0銆�1銆�2銆�3銆�4 锛�") ;
+ }
+ }
+
+ /**
+ * 鍚姩妯″潡
+ */
+ public void start(UnitCallbackInterface callback) throws Exception {
+ //寰楀埌鍞竴瀹炰緥锛� 骞跺湪鐢熸垚鍞竴瀹炰緥鏃讹紝鎵弿娉ㄨВ绫�
+ AnnotationScan.getIntance() ;
+
+ //鍚勪釜鍗忚椹卞姩绫绘壂鎻忚嚜宸辩殑鍔熻兘鐮佹敞瑙�
+ HashMap<String, AnnotationDriverVo> drivers = ProtocolCache.getDriverMap() ;
+ Collection<String> keys = drivers.keySet() ;
+ StringBuilder totalProtocols = new StringBuilder() ;
+ for(String protocolNameVersion : keys){
+ if(!totalProtocols.isEmpty()){
+ totalProtocols.append("锛�") ;
+ }
+ totalProtocols.append(protocolNameVersion) ;
+ Driver dri = ProtocolCache.getDriver(protocolNameVersion) ;
+ if(dri != null){
+ dri.scanAnnotationCode();
+ dri.setNotify(adapter.getSingleRtuInfoNotify(protocolNameVersion));
+ }
+ }
+ if(adapter.getConfig().showStartInfo){
+ System.out.println("鍗忚妯″潡鎴愬姛鍚姩锛�"
+ + "鏀寔鐨勫崗璁細" + totalProtocols );
+ }
+ callback.call(null);
+ }
+
+ /**
+ * 鏄惁鍙湁涓�涓崗璁�
+ * @return 缁撴灉
+ */
+ @SuppressWarnings("unused")
+ public boolean isOnlyOneProtocol(){
+ HashMap<String, AnnotationDriverVo> drivers = ProtocolCache.getDriverMap() ;
+ return drivers.size() == 1 ;
+ }
+
+ @Override
+ public void stop(UnitCallbackInterface callback) {
+ }
+
+ /*
+ public static void main(String[] args) throws Exception{
+ ProtocolUnit protoUnit = ProtocolUnit.getInstance();
+ protoUnit.start(new UnitStartedCallbackInterface(){
+ @Override
+ public void call(Object obj) {
+ }
+ });
+ }
+ */
+
+}
--
Gitblit v1.8.0