From 1e6561acc89b7105c1dcbf5395845d6046f1453d Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 21 二月 2025 16:55:09 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolCache.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolCache.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolCache.java index c076537..81bc5b7 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolCache.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/ProtocolCache.java @@ -19,17 +19,35 @@ * 鍦ㄥ崟绾跨▼鐜涓繍琛� * 閫氳繃鍗忚椹卞姩鐨勭被鍚嶏紝寰楀埌绫诲崟渚� * @param protocolName 鍗忚鍚嶇О + * @param protocolVersion 鍗忚鐗堟湰鍙� * @return 椹卞姩 * @throws Exception 寮傚父 */ - public static Driver getDriver(String protocolName) throws Exception{ - Driver dri = drivers.get(protocolName); + public static Driver getDriver(String protocolName, short protocolVersion) throws Exception{ + Driver dri = drivers.get(protocolName + protocolVersion) ; if(dri == null){ - AnnotationDriverVo vo = driverMap.get(protocolName) ; + AnnotationDriverVo vo = driverMap.get(protocolName + protocolVersion) ; if(vo != null && vo.clazz != null){ dri = (Driver)vo.clazz.getDeclaredConstructor().newInstance(); - //dri = (Driver)vo.clazz.newInstance() ; - drivers.put(protocolName, dri) ; + drivers.put(protocolName + protocolVersion, dri) ; + } + } + return dri ; + } + /** + * 鍦ㄥ崟绾跨▼鐜涓繍琛� + * 閫氳繃鍗忚椹卞姩鐨勭被鍚嶏紝寰楀埌绫诲崟渚� + * @param protocolNameVersion 鍗忚鍚嶇О鍜岀増鏈彿 + * @return 椹卞姩 + * @throws Exception 寮傚父 + */ + public static Driver getDriver(String protocolNameVersion) throws Exception{ + Driver dri = drivers.get(protocolNameVersion) ; + if(dri == null){ + AnnotationDriverVo vo = driverMap.get(protocolNameVersion) ; + if(vo != null && vo.clazz != null){ + dri = (Driver)vo.clazz.getDeclaredConstructor().newInstance(); + drivers.put(protocolNameVersion, dri) ; } } return dri ; @@ -79,6 +97,18 @@ return onLineMap; } + protected AnnotationDriverVo getAnnotationDriver(String protocolName, Short protocolVersion){ + return driverMap.get(protocolName + "" + protocolVersion) ; + } + + protected static AnnotationPrefixedDataAvailableVo getAnnotationPrefixedDataAvailable(String protocolName, Short protocolVersion){ + return prefixedDataAvailableMap.get(protocolName + "" + protocolVersion) ; + } + + protected static AnnotationOnLineVo getAnnotationOnLine(String protocolName, Short protocolVersion){ + return onLineMap.get(protocolName + "" + protocolVersion) ; + } + /* public static void main(String[] args){ HashMap<String, Integer> mp = new HashMap<>() ; -- Gitblit v1.8.0