From 7c1b5b1a482834f3343790dfbff1ba3f87584c65 Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Fri, 12 Jul 2024 17:14:32 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2596-=E4=BF=AE=E5=A4=8DNPE=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/workflow/core/version/MultiVersionBeanUtils.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/version/MultiVersionBeanUtils.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/version/MultiVersionBeanUtils.java index 294de8973..a6393917d 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/version/MultiVersionBeanUtils.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/version/MultiVersionBeanUtils.java @@ -28,7 +28,7 @@ public class MultiVersionBeanUtils { throw new NullPointerException("no beans of type " + clazz.getName()); } if (StringUtils.isEmpty(version)) { - T t = beans.values().stream().filter(bean -> bean.getVersion() == null).findFirst().orElse(null); + T t = beans.values().stream().filter(bean -> bean.getVersion() == null || bean.getVersion() == UNKNOWN_VERSION).findFirst().orElse(null); if (t != null) { return t; } @@ -42,7 +42,8 @@ public class MultiVersionBeanUtils { }).collect(Collectors.toList()); DefaultArtifactVersion targetVersion = new DefaultArtifactVersion(version); for (int i = sortedList.size() - 1; i >= 0; i--) { - int flag = sortedList.get(i).getVersion().compareTo(targetVersion); + DefaultArtifactVersion classVersion = sortedList.get(i).getVersion() == null ? UNKNOWN_VERSION : sortedList.get(i).getVersion(); + int flag = classVersion.compareTo(targetVersion); if (flag <= 0) { return sortedList.get(i); }