diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/AndOperator.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/AndOperator.java index 0e5f731ab..29d663cbe 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/AndOperator.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/AndOperator.java @@ -16,7 +16,7 @@ import com.yomahub.liteflow.flow.element.condition.BooleanConditionTypeEnum; public class AndOperator extends BaseOperator { @Override public AndOrCondition build(Object[] objects) throws Exception { - OperatorHelper.checkObjectSizeGtTwo(objects); + OperatorHelper.checkObjectSizeGteTwo(objects); AndOrCondition andOrCondition = new AndOrCondition(); andOrCondition.setBooleanConditionType(BooleanConditionTypeEnum.AND); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/MustOperator.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/MustOperator.java index b3e3f0c28..8a903008c 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/MustOperator.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/MustOperator.java @@ -19,7 +19,7 @@ public class MustOperator extends BaseOperator { @Override public WhenCondition build(Object[] objects) throws Exception { - OperatorHelper.checkObjectSizeGtTwo(objects); + OperatorHelper.checkObjectSizeGteTwo(objects); String errorMsg = "The caller must be WhenCondition item"; WhenCondition whenCondition = OperatorHelper.convert(objects[0], WhenCondition.class, errorMsg); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/OrOperator.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/OrOperator.java index d084a7536..361ab62bb 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/OrOperator.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/OrOperator.java @@ -16,7 +16,7 @@ import com.yomahub.liteflow.flow.element.condition.BooleanConditionTypeEnum; public class OrOperator extends BaseOperator { @Override public AndOrCondition build(Object[] objects) throws Exception { - OperatorHelper.checkObjectSizeGtTwo(objects); + OperatorHelper.checkObjectSizeGteTwo(objects); AndOrCondition andOrCondition = new AndOrCondition(); andOrCondition.setBooleanConditionType(BooleanConditionTypeEnum.OR); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/ToOperator.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/ToOperator.java index d38722a03..4eede8779 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/ToOperator.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/ToOperator.java @@ -15,7 +15,7 @@ public class ToOperator extends BaseOperator { @Override public SwitchCondition build(Object[] objects) throws Exception { - OperatorHelper.checkObjectSizeGtTwo(objects); + OperatorHelper.checkObjectSizeGteTwo(objects); String errorMsg = "The caller must be SwitchCondition item"; SwitchCondition switchCondition = OperatorHelper.convert(objects[0], SwitchCondition.class, errorMsg); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/base/OperatorHelper.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/base/OperatorHelper.java index c54681a63..07a163412 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/base/OperatorHelper.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/operator/base/OperatorHelper.java @@ -10,8 +10,6 @@ import com.yomahub.liteflow.exception.DataNotFoundException; import com.yomahub.liteflow.flow.element.Condition; import com.yomahub.liteflow.flow.element.Executable; import com.yomahub.liteflow.flow.element.Node; -import com.yomahub.liteflow.flow.element.condition.AndOrCondition; -import com.yomahub.liteflow.flow.element.condition.NotCondition; import java.util.Objects; @@ -35,13 +33,13 @@ public class OperatorHelper { } /** - * 检查参数数量,大于 2 + * 检查参数数量,大于等于 2 * @param objects objects * @throws QLException QLException */ - public static void checkObjectSizeGtTwo(Object[] objects) throws QLException { + public static void checkObjectSizeGteTwo(Object[] objects) throws QLException { checkObjectSizeGtZero(objects); - if (objects.length <= 1) { + if (objects.length < 2) { throw new QLException("parameter error"); } } diff --git a/liteflow-spring/src/main/java/com/yomahub/liteflow/spring/DeclBeanDefinition.java b/liteflow-spring/src/main/java/com/yomahub/liteflow/spring/DeclBeanDefinition.java index 017211abf..2a30ebb2a 100644 --- a/liteflow-spring/src/main/java/com/yomahub/liteflow/spring/DeclBeanDefinition.java +++ b/liteflow-spring/src/main/java/com/yomahub/liteflow/spring/DeclBeanDefinition.java @@ -30,7 +30,11 @@ public class DeclBeanDefinition implements BeanDefinitionRegistryPostProcessor { beanDefinitionHolderMap.entrySet().stream().filter(entry -> { Class rawClass = entry.getValue().getResolvableType().getRawClass(); - return Arrays.stream(rawClass.getMethods()).anyMatch(method -> AnnotationUtil.getAnnotation(method, LiteflowMethod.class) != null); + if (rawClass == null){ + return false; + }else{ + return Arrays.stream(rawClass.getMethods()).anyMatch(method -> AnnotationUtil.getAnnotation(method, LiteflowMethod.class) != null); + } }).forEach(entry -> { Class rawClass = entry.getValue().getResolvableType().getRawClass(); List declWarpBeanList = DeclComponentParserHolder.loadDeclComponentParser().parseDeclBean(rawClass); diff --git a/pom.xml b/pom.xml index 789f9544e..eda93cec2 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ - 2.11.4 + 2.11.4.1 UTF-8 UTF-8 8