From 8fa83cf473dc75af9c3f39268f699b57e2f40723 Mon Sep 17 00:00:00 2001 From: "lancer.hong" Date: Sun, 8 May 2022 14:18:36 +0800 Subject: [PATCH 1/4] Upgrade netty and tcnative --- fizz-bootstrap/pom.xml | 4 ++-- pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fizz-bootstrap/pom.xml b/fizz-bootstrap/pom.xml index 801d1d9..c230cf6 100644 --- a/fizz-bootstrap/pom.xml +++ b/fizz-bootstrap/pom.xml @@ -20,7 +20,7 @@ Dragonfruit-SR3 Dysprosium-SR25 5.3.7.RELEASE - 4.1.76.Final + 4.1.77.Final 4.4.15 2.17.2 1.7.36 @@ -34,7 +34,7 @@ 1.15 2.11.1 2.8.9 - 2.0.51.Final + 2.0.52.Final 2.2.9.RELEASE 1.30 diff --git a/pom.xml b/pom.xml index f06b3af..c1d7015 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ Dysprosium-SR25 5.3.7.RELEASE 2.2.7.RELEASE - 4.1.76.Final + 4.1.77.Final 4.4.15 2.17.2 1.7.36 @@ -22,7 +22,7 @@ 0.8.2 0.9.11 2.11.1 - 2.0.51.Final + 2.0.52.Final 2.2.9.RELEASE 1.30 From e7b6866f09f77137b7d99f19bb5c8d0bf5a6b605 Mon Sep 17 00:00:00 2001 From: "lancer.hong" Date: Sat, 14 May 2022 00:12:14 +0800 Subject: [PATCH 2/4] Upgrade spring to 5.2.22.RELEASE --- fizz-bootstrap/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fizz-bootstrap/pom.xml b/fizz-bootstrap/pom.xml index c230cf6..bfab05e 100644 --- a/fizz-bootstrap/pom.xml +++ b/fizz-bootstrap/pom.xml @@ -16,7 +16,7 @@ 1.8 - 5.2.21.RELEASE + 5.2.22.RELEASE Dragonfruit-SR3 Dysprosium-SR25 5.3.7.RELEASE diff --git a/pom.xml b/pom.xml index c1d7015..1fcd4fb 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 2.2.13.RELEASE - 5.2.21.RELEASE + 5.2.22.RELEASE Dysprosium-SR25 5.3.7.RELEASE 2.2.7.RELEASE From c57ed0051eff9fc338f0d22aa407dfb13db671c7 Mon Sep 17 00:00:00 2001 From: Francis Dong Date: Mon, 16 May 2022 09:12:28 +0800 Subject: [PATCH 3/4] update snack3 version to 3.2.24 #425 --- fizz-core/src/main/java/we/fizz/input/PathMapping.java | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fizz-core/src/main/java/we/fizz/input/PathMapping.java b/fizz-core/src/main/java/we/fizz/input/PathMapping.java index 0046aea..d2b9fd2 100644 --- a/fizz-core/src/main/java/we/fizz/input/PathMapping.java +++ b/fizz-core/src/main/java/we/fizz/input/PathMapping.java @@ -70,12 +70,12 @@ public class PathMapping { } ONode cur = target; for (int i = 0; i < keys.length - 1; i++) { - cur = cur.get(keys[i]); + cur = cur.getOrNew(keys[i]); } if ((obj instanceof ONode && ((ONode) obj).isArray()) || obj instanceof Collection || (obj instanceof ONode && ((ONode) obj).isObject()) || obj instanceof Map) { - ONode subNode = cur.get(keys[keys.length - 1]); + ONode subNode = cur.getOrNew(keys[keys.length - 1]); if ((obj instanceof ONode && ((ONode) obj).isArray()) || obj instanceof Collection) { if (subNode.isArray()) { if (obj instanceof ONode) { diff --git a/pom.xml b/pom.xml index 1fcd4fb..dbed724 100644 --- a/pom.xml +++ b/pom.xml @@ -282,7 +282,7 @@ org.noear snack3 - 3.1.14 + 3.2.24 From ec7e6115dd00b11df36c7703573e5950174b1452 Mon Sep 17 00:00:00 2001 From: Francis Dong Date: Mon, 16 May 2022 10:06:55 +0800 Subject: [PATCH 4/4] update contains method of condition --- .../fizz/component/condition/Condition.java | 59 ++++++++++++++++--- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/fizz-core/src/main/java/we/fizz/component/condition/Condition.java b/fizz-core/src/main/java/we/fizz/component/condition/Condition.java index 9a3990d..2134bb3 100644 --- a/fizz-core/src/main/java/we/fizz/component/condition/Condition.java +++ b/fizz-core/src/main/java/we/fizz/component/condition/Condition.java @@ -25,6 +25,7 @@ import org.noear.snack.ONode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; import com.alibaba.fastjson.JSON; @@ -140,13 +141,15 @@ public class Condition implements IComponent { } if (v1 instanceof Collection && !(v2 instanceof Collection)) { Collection coll1 = (Collection) v1; - Object el = v2; if (v2 instanceof Integer || v2 instanceof Long) { - el = Long.valueOf(v2.toString()); + Long el = Long.valueOf(v2.toString()); + rs = containsLong(coll1, el); } else if (v2 instanceof Float || v2 instanceof Double) { - el = Double.valueOf(v2.toString()); + Double el = Double.valueOf(v2.toString()); + rs = containsDouble(coll1, el); + } else { + rs = CollectionUtils.contains(coll1.iterator(), v2); } - rs = CollectionUtils.contains(coll1.iterator(), el); } else if (!(v1 instanceof Collection)) { throw new FizzRuntimeException("value1 must be a collection"); } else if (v2 instanceof Collection) { @@ -160,13 +163,15 @@ public class Condition implements IComponent { } if (v1 instanceof Collection && !(v2 instanceof Collection)) { Collection coll1 = (Collection) v1; - Object el = v2; if (v2 instanceof Integer || v2 instanceof Long) { - el = Long.valueOf(v2.toString()); + Long el = Long.valueOf(v2.toString()); + rs = !containsLong(coll1, el); } else if (v2 instanceof Float || v2 instanceof Double) { - el = Double.valueOf(v2.toString()); + Double el = Double.valueOf(v2.toString()); + rs = !containsDouble(coll1, el); + } else { + rs = !CollectionUtils.contains(coll1.iterator(), v2); } - rs = !CollectionUtils.contains(coll1.iterator(), el); } else if (!(v1 instanceof Collection)) { throw new FizzRuntimeException("value1 must be a collection"); } else if (v2 instanceof Collection) { @@ -275,4 +280,42 @@ public class Condition implements IComponent { } return val; } + + @SuppressWarnings("rawtypes") + private boolean containsLong(Collection coll, Long el) { + if (CollectionUtils.isEmpty(coll)) { + return false; + } + + for (Object obj : coll) { + Long obj2 = null; + if (obj instanceof Integer) { + obj2 = Long.valueOf(obj.toString()); + } + if (ObjectUtils.nullSafeEquals(obj2, el)) { + return true; + } + } + + return false; + } + + @SuppressWarnings("rawtypes") + private boolean containsDouble(Collection coll, Double el) { + if (CollectionUtils.isEmpty(coll)) { + return false; + } + + for (Object obj : coll) { + Double obj2 = null; + if (obj instanceof Float) { + obj2 = Double.valueOf(obj.toString()); + } + if (ObjectUtils.nullSafeEquals(obj2, el)) { + return true; + } + } + + return false; + } }