From c6fa2a688c8f011d6728ddbe924bd34b41b85f24 Mon Sep 17 00:00:00 2001 From: redkale Date: Wed, 7 Aug 2024 21:16:52 +0800 Subject: [PATCH] isEmpty --- .../java/org/redkale/boot/NodeServer.java | 2 +- .../org/redkale/convert/ConvertFactory.java | 2 +- .../org/redkale/convert/bson/BsonConvert.java | 2 +- .../convert/proto/ProtobufConvert.java | 7 +++- .../redkale/mq/spi/MessageAsmMethodBoost.java | 37 +++++++++---------- .../org/redkale/net/http/HttpRequest.java | 2 +- src/main/java/org/redkale/net/http/Rest.java | 2 +- .../org/redkale/net/http/WebSocketNode.java | 13 +++---- .../redkale/scheduled/spi/CronExpression.java | 2 +- .../java/org/redkale/service/RetCodes.java | 9 +++-- .../redkale/source/AbstractDataSqlSource.java | 16 ++++---- .../org/redkale/source/CacheMemorySource.java | 12 +++--- .../java/org/redkale/source/EntityInfo.java | 6 +-- .../java/org/redkale/source/SearchQuery.java | 5 ++- .../java/org/redkale/util/AnyValueWriter.java | 2 +- src/main/java/org/redkale/util/Utility.java | 2 +- 16 files changed, 64 insertions(+), 57 deletions(-) diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 2945e116b..860a89adf 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -571,7 +571,7 @@ public abstract class NodeServer { return cf; } AnyValue[] proplist = this.serverConf.getAnyValues(properties); - if (proplist == null || proplist.length < 1) { + if (Utility.isEmpty(proplist)) { cf.setRefused(true); return cf; } diff --git a/src/main/java/org/redkale/convert/ConvertFactory.java b/src/main/java/org/redkale/convert/ConvertFactory.java index 7643a60ad..96b4a44be 100644 --- a/src/main/java/org/redkale/convert/ConvertFactory.java +++ b/src/main/java/org/redkale/convert/ConvertFactory.java @@ -726,7 +726,7 @@ public abstract class ConvertFactory { } ConvertFactory columnFactory(Type type, ConvertCoder[] coders, boolean encode) { - if (coders == null || coders.length < 1) { + if (Utility.isEmpty(coders)) { return this; } final ConvertType ct = this.getConvertType(); diff --git a/src/main/java/org/redkale/convert/bson/BsonConvert.java b/src/main/java/org/redkale/convert/bson/BsonConvert.java index cc4850fda..ef8a68322 100644 --- a/src/main/java/org/redkale/convert/bson/BsonConvert.java +++ b/src/main/java/org/redkale/convert/bson/BsonConvert.java @@ -182,7 +182,7 @@ public class BsonConvert extends BinaryConvert { @Override @SuppressWarnings("unchecked") public T convertFrom(final Type type, final ByteBuffer... buffers) { - if (type == null || buffers.length < 1) { + if (type == null || Utility.isEmpty(buffers)) { return null; } return (T) factory.loadDecoder(type).convertFrom(new BsonByteBufferReader(buffers)); diff --git a/src/main/java/org/redkale/convert/proto/ProtobufConvert.java b/src/main/java/org/redkale/convert/proto/ProtobufConvert.java index 80b237e97..a9effe2b9 100644 --- a/src/main/java/org/redkale/convert/proto/ProtobufConvert.java +++ b/src/main/java/org/redkale/convert/proto/ProtobufConvert.java @@ -10,6 +10,7 @@ import java.lang.reflect.*; import java.nio.ByteBuffer; import java.util.*; import java.util.function.*; +import org.redkale.annotation.Nullable; import org.redkale.convert.*; import org.redkale.convert.ext.StringArraySimpledCoder; import org.redkale.util.*; @@ -28,12 +29,14 @@ public class ProtobufConvert extends BinaryConvert writerPool = Utility.withInitialThreadLocal(ProtobufWriter::new); - private final Consumer writerConsumer = w -> offerWriter(w); + private final Consumer writerConsumer = this::offerWriter; private final ThreadLocal readerPool = Utility.withInitialThreadLocal(ProtobufReader::new); + @Nullable private Encodeable lastConvertEncodeable; + @Nullable private Decodeable lastConvertDecodeable; protected ProtobufConvert(ConvertFactory factory, int features) { @@ -634,7 +637,7 @@ public class ProtobufConvert extends BinaryConvert { */ public String getParametersToString(String prefix) { byte[] rbs = queryBytes; - if (rbs == null || rbs.length < 1) { + if (Utility.isEmpty(rbs)) { return ""; } Charset charset = this.context.getCharset(); diff --git a/src/main/java/org/redkale/net/http/Rest.java b/src/main/java/org/redkale/net/http/Rest.java index 532e49e3c..9cb75afa6 100644 --- a/src/main/java/org/redkale/net/http/Rest.java +++ b/src/main/java/org/redkale/net/http/Rest.java @@ -114,7 +114,7 @@ public final class Rest { } public static JsonFactory createJsonFactory(int features, RestConvert[] converts, RestConvertCoder[] coders) { - if ((converts == null || converts.length < 1) && (coders == null || coders.length < 1)) { + if (Utility.isEmpty(converts) && Utility.isEmpty(coders)) { return JsonFactory.root(); } final JsonFactory childFactory = JsonFactory.create(); diff --git a/src/main/java/org/redkale/net/http/WebSocketNode.java b/src/main/java/org/redkale/net/http/WebSocketNode.java index 9538270f1..b3d87b209 100644 --- a/src/main/java/org/redkale/net/http/WebSocketNode.java +++ b/src/main/java/org/redkale/net/http/WebSocketNode.java @@ -5,9 +5,6 @@ */ package org.redkale.net.http; -import static org.redkale.boot.Application.RESNAME_APP_NODEID; -import static org.redkale.net.http.WebSocket.RETCODE_GROUP_EMPTY; - import java.io.Serializable; import java.net.InetSocketAddress; import java.util.*; @@ -17,9 +14,11 @@ import java.util.stream.*; import org.redkale.annotation.*; import org.redkale.annotation.Comment; import org.redkale.boot.Application; +import static org.redkale.boot.Application.RESNAME_APP_NODEID; import org.redkale.convert.*; import org.redkale.convert.json.JsonConvert; import org.redkale.mq.spi.MessageAgent; +import static org.redkale.net.http.WebSocket.RETCODE_GROUP_EMPTY; import org.redkale.net.sncp.Sncp; import org.redkale.service.*; import org.redkale.source.CacheSource; @@ -659,7 +658,7 @@ public abstract class WebSocketNode implements Service { @Local public CompletableFuture sendMessage( final Convert convert, final Object message0, final boolean last, final Serializable... userids) { - if (userids == null || userids.length < 1) { + if (Utility.isEmpty(userids)) { return CompletableFuture.completedFuture(RETCODE_GROUP_EMPTY); } if (userids[0] instanceof WebSocketUserAddress) { @@ -748,7 +747,7 @@ public abstract class WebSocketNode implements Service { @Local public CompletableFuture sendMessage( Convert convert, Object message0, boolean last, WebSocketUserAddress... useraddrs) { - if (useraddrs == null || useraddrs.length < 1) { + if (Utility.isEmpty(useraddrs)) { return CompletableFuture.completedFuture(RETCODE_GROUP_EMPTY); } if (message0 instanceof CompletableFuture) { @@ -1102,7 +1101,7 @@ public abstract class WebSocketNode implements Service { */ @Local public CompletableFuture sendAction(final WebSocketAction action, final Serializable... userids) { - if (userids == null || userids.length < 1) { + if (Utility.isEmpty(userids)) { return CompletableFuture.completedFuture(RETCODE_GROUP_EMPTY); } if (userids[0] instanceof WebSocketUserAddress) { @@ -1175,7 +1174,7 @@ public abstract class WebSocketNode implements Service { @Local public CompletableFuture sendAction( final WebSocketAction action, final WebSocketUserAddress... useraddrs) { - if (useraddrs == null || useraddrs.length < 1) { + if (Utility.isEmpty(useraddrs)) { return CompletableFuture.completedFuture(RETCODE_GROUP_EMPTY); } if (this.localEngine != null && this.source == null) { // 本地模式且没有分布式 diff --git a/src/main/java/org/redkale/scheduled/spi/CronExpression.java b/src/main/java/org/redkale/scheduled/spi/CronExpression.java index 529620597..89493aedf 100644 --- a/src/main/java/org/redkale/scheduled/spi/CronExpression.java +++ b/src/main/java/org/redkale/scheduled/spi/CronExpression.java @@ -667,7 +667,7 @@ public class CronExpression { } public static CronField compose(CronField[] fields, CronType type, String value) { - if (fields == null || fields.length < 1) { + if (Utility.isEmpty(fields)) { throw new RedkaleException("Fields must not be empty"); } if (Utility.isBlank(value)) { diff --git a/src/main/java/org/redkale/service/RetCodes.java b/src/main/java/org/redkale/service/RetCodes.java index 9e33b4b15..cf82b7095 100644 --- a/src/main/java/org/redkale/service/RetCodes.java +++ b/src/main/java/org/redkale/service/RetCodes.java @@ -9,6 +9,7 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicInteger; +import org.redkale.util.Utility; /** * 错误码加载器 @@ -67,7 +68,7 @@ public abstract class RetCodes { if (retcode == 0) { return RetResult.success(); } - if (args == null || args.length < 1) { + if (Utility.isEmpty(args)) { return new RetResult(retcode, retInfo(retcode)); } String info = MessageFormat.format(retInfo(retcode), args); @@ -78,7 +79,7 @@ public abstract class RetCodes { if (retcode == 0) { return RetResult.success(); } - if (args == null || args.length < 1) { + if (Utility.isEmpty(args)) { return new RetResult(retcode, retInfo(locale, retcode)); } String info = MessageFormat.format(retInfo(locale, retcode), args); @@ -105,7 +106,7 @@ public abstract class RetCodes { if (retcode == 0) { return result.retcode(0).retinfo(""); } - if (args == null || args.length < 1) { + if (Utility.isEmpty(args)) { return result.retcode(retcode).retinfo(retInfo(retcode)); } String info = MessageFormat.format(retInfo(retcode), args); @@ -116,7 +117,7 @@ public abstract class RetCodes { if (retcode == 0) { return result.retcode(0).retinfo(""); } - if (args == null || args.length < 1) { + if (Utility.isEmpty(args)) { return result.retcode(retcode).retinfo(retInfo(locale, retcode)); } String info = MessageFormat.format(retInfo(locale, retcode), args); diff --git a/src/main/java/org/redkale/source/AbstractDataSqlSource.java b/src/main/java/org/redkale/source/AbstractDataSqlSource.java index 77f61a2e8..4e9f0d43e 100644 --- a/src/main/java/org/redkale/source/AbstractDataSqlSource.java +++ b/src/main/java/org/redkale/source/AbstractDataSqlSource.java @@ -283,7 +283,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource @Override @ResourceChanged public void onResourceChange(ResourceEvent[] events) { - if (events == null || events.length < 1) { + if (Utility.isEmpty(events)) { return; } // 不支持读写分离模式的动态切换 @@ -643,7 +643,8 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource || column.getType() == java.util.Date.class || "java.sql.Date".equals(column.getType().getName())) { sqltype = "DATE"; - } else if (column.getType() == java.time.LocalTime.class || "java.sql.Time".equals(column.getType().getName())) { + } else if (column.getType() == java.time.LocalTime.class + || "java.sql.Time".equals(column.getType().getName())) { sqltype = "TIME"; } else if (column.getType() == java.time.LocalDateTime.class || "java.sql.Timestamp".equals(column.getType().getName())) { @@ -797,7 +798,8 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource || column.getType() == java.util.Date.class || "java.sql.Date".equals(column.getType().getName())) { sqltype = "DATE"; - } else if (column.getType() == java.time.LocalTime.class || "java.sql.Time".equals(column.getType().getName())) { + } else if (column.getType() == java.time.LocalTime.class + || "java.sql.Time".equals(column.getType().getName())) { sqltype = "TIME"; } else if (column.getType() == java.time.LocalDateTime.class || "java.sql.Timestamp".equals(column.getType().getName())) { @@ -2084,7 +2086,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource */ @Override public int updateColumn(final Class clazz, final Serializable pk, final ColumnValue... values) { - if (values == null || values.length < 1) { + if (Utility.isEmpty(values)) { return -1; } final EntityInfo info = loadEntityInfo(clazz); @@ -2107,7 +2109,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource @Override public CompletableFuture updateColumnAsync( final Class clazz, Serializable pk, ColumnValue... values) { - if (values == null || values.length < 1) { + if (Utility.isEmpty(values)) { return CompletableFuture.completedFuture(-1); } final EntityInfo info = loadEntityInfo(clazz); @@ -2172,7 +2174,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource @Override public int updateColumn( final Class clazz, final FilterNode node, final Flipper flipper, final ColumnValue... values) { - if (values == null || values.length < 1) { + if (Utility.isEmpty(values)) { return -1; } final EntityInfo info = loadEntityInfo(clazz); @@ -2194,7 +2196,7 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource @Override public CompletableFuture updateColumnAsync( Class clazz, FilterNode node, Flipper flipper, ColumnValue... values) { - if (values == null || values.length < 1) { + if (Utility.isEmpty(values)) { return CompletableFuture.completedFuture(-1); } final EntityInfo info = loadEntityInfo(clazz); diff --git a/src/main/java/org/redkale/source/CacheMemorySource.java b/src/main/java/org/redkale/source/CacheMemorySource.java index f296159e7..9a8e10ed2 100644 --- a/src/main/java/org/redkale/source/CacheMemorySource.java +++ b/src/main/java/org/redkale/source/CacheMemorySource.java @@ -256,7 +256,7 @@ public final class CacheMemorySource extends AbstractCacheSource { @Override public CompletableFuture subscribeAsync(CacheEventListener listener, String... topics) { Objects.requireNonNull(listener); - if (topics == null || topics.length < 1) { + if (Utility.isEmpty(topics)) { throw new RedkaleException("topics is empty"); } for (String topic : topics) { @@ -271,7 +271,7 @@ public final class CacheMemorySource extends AbstractCacheSource { public CompletableFuture unsubscribeAsync(CacheEventListener listener, String... topics) { int c = 0; if (listener == null) { - if (topics == null || topics.length < 1) { // 清空所有订阅者 + if (Utility.isEmpty(topics)) { // 清空所有订阅者 for (Set> listeners : pubsubListeners.values()) { c += listeners != null ? listeners.size() : 0; } @@ -283,7 +283,7 @@ public final class CacheMemorySource extends AbstractCacheSource { } } } else { - if (topics == null || topics.length < 1) { + if (Utility.isEmpty(topics)) { for (Set> listeners : pubsubListeners.values()) { c += listeners != null && listeners.remove(listener) ? 1 : 0; } @@ -1291,7 +1291,8 @@ public final class CacheMemorySource extends AbstractCacheSource { .collect(Collectors.toMap( Map.Entry::getKey, en -> CacheEntry.serialToObj(convert, type, en.getValue()))); } else { - Predicate regex = Pattern.compile(pattern.replace("*", ".*")).asPredicate(); + Predicate regex = + Pattern.compile(pattern.replace("*", ".*")).asPredicate(); Set> set = entry.mapValue.entrySet(); return set.stream() .filter(en -> regex.test(en.getKey())) @@ -2356,7 +2357,8 @@ public final class CacheMemorySource extends AbstractCacheSource { if (Utility.isEmpty(pattern)) { return sets.stream().collect(Collectors.toList()); } else { - Predicate regex = Pattern.compile(pattern.replace("*", ".*")).asPredicate(); + Predicate regex = + Pattern.compile(pattern.replace("*", ".*")).asPredicate(); return sets.stream().filter(en -> regex.test(en.getValue())).collect(Collectors.toList()); } } diff --git a/src/main/java/org/redkale/source/EntityInfo.java b/src/main/java/org/redkale/source/EntityInfo.java index a7fc1072c..7399573ad 100644 --- a/src/main/java/org/redkale/source/EntityInfo.java +++ b/src/main/java/org/redkale/source/EntityInfo.java @@ -1313,11 +1313,11 @@ public final class EntityInfo { if (tableStrategy == null) { return new String[] {table}; } - String[] t = tableStrategy.getTables(table, node); - if (t == null || t.length < 1) { + String[] ts = tableStrategy.getTables(table, node); + if (Utility.isEmpty(ts)) { throw new SourceException(table + " tableStrategy.getTable is empty, filter=" + node); } - return t; + return ts; } /** diff --git a/src/main/java/org/redkale/source/SearchQuery.java b/src/main/java/org/redkale/source/SearchQuery.java index 5bc214449..51f746b3a 100644 --- a/src/main/java/org/redkale/source/SearchQuery.java +++ b/src/main/java/org/redkale/source/SearchQuery.java @@ -8,6 +8,7 @@ package org.redkale.source; import java.util.*; import org.redkale.convert.*; import org.redkale.convert.json.JsonConvert; +import org.redkale.util.Utility; /** * SearchQuery用于构建搜索过滤条件
@@ -138,7 +139,7 @@ public interface SearchQuery extends java.io.Serializable { public SearchSimpleQuery(String keyword, String... fields) { this.keyword = keyword; this.fields = fields; - if (fields == null || fields.length < 1) { + if (Utility.isEmpty(fields)) { throw new IllegalArgumentException("fields is empty"); } } @@ -154,7 +155,7 @@ public interface SearchQuery extends java.io.Serializable { } public SearchSimpleQuery fields(String... fields) { - if (fields == null || fields.length < 1) { + if (Utility.isEmpty(fields)) { throw new IllegalArgumentException("fields is empty"); } this.fields = fields; diff --git a/src/main/java/org/redkale/util/AnyValueWriter.java b/src/main/java/org/redkale/util/AnyValueWriter.java index 1d791a5d1..c833ae22b 100644 --- a/src/main/java/org/redkale/util/AnyValueWriter.java +++ b/src/main/java/org/redkale/util/AnyValueWriter.java @@ -193,7 +193,7 @@ public class AnyValueWriter extends AnyValue { continue; } Entry[] ns = getAnyValueEntrys(en.name); - if (ns == null || ns.length < 1) { + if (Utility.isEmpty(ns)) { addValue(en.name, en.value); } else { boolean ok = false; diff --git a/src/main/java/org/redkale/util/Utility.java b/src/main/java/org/redkale/util/Utility.java index bb0e112a8..72e44b8cf 100644 --- a/src/main/java/org/redkale/util/Utility.java +++ b/src/main/java/org/redkale/util/Utility.java @@ -5093,7 +5093,7 @@ public final class Utility { final StringBuilder sb = new StringBuilder(); java.lang.reflect.Type[] us = wt.getUpperBounds(); java.lang.reflect.Type[] ls = wt.getLowerBounds(); - if (ls.length < 1) { + if (isEmpty(ls)) { if (us.length == 1 && us[0] == Object.class) { sb.append('*'); } else {