From 8e9bb7274f7b387e0cb11e9d1a8b063fc44227ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=B0=E5=B9=B3=E7=BA=BF?= <22250530@qq.com> Date: Sat, 30 May 2015 20:49:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E7=89=88EntityXInfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/wentch/redkale/source/FilterNode.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/wentch/redkale/source/FilterNode.java b/src/com/wentch/redkale/source/FilterNode.java index 8e4cb6fca..c1b8f60e1 100644 --- a/src/com/wentch/redkale/source/FilterNode.java +++ b/src/com/wentch/redkale/source/FilterNode.java @@ -82,7 +82,9 @@ public abstract class FilterNode { protected final Predicate createFilterPredicate(final EntityInfo info, Object bean) { if (info == null) return null; - Predicate filter = createFilterPredicate(info.getAttribute(column), getValue(bean)); + final Serializable val = getValue(bean); + if (val == null && express != ISNULL && express != ISNOTNULL) return null; + Predicate filter = createFilterPredicate(info.getAttribute(column), val); if (nodes == null) return filter; for (FilterNode node : this.nodes) { Predicate f = node.createFilterPredicate(info, bean); @@ -92,9 +94,8 @@ public abstract class FilterNode { return filter; } - protected final Predicate createFilterPredicate(final Attribute attr, final Serializable val) { + private Predicate createFilterPredicate(final Attribute attr, final Serializable val) { if (attr == null) return null; - if (val == null && express != ISNULL && express != ISNOTNULL) return null; switch (express) { case EQUAL: return (T t) -> val.equals(attr.get(t)); case NOTEQUAL: return (T t) -> !val.equals(attr.get(t));