From b5a21838d21e52391ed78b00eb96d2815106f5e6 Mon Sep 17 00:00:00 2001 From: redkale Date: Thu, 9 Nov 2023 08:47:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/convert/ArrayDecoder.java | 1 + src/main/java/org/redkale/convert/ArrayEncoder.java | 1 + src/main/java/org/redkale/convert/CollectionDecoder.java | 1 + src/main/java/org/redkale/convert/CollectionEncoder.java | 1 + src/main/java/org/redkale/convert/Convert.java | 6 +++--- src/main/java/org/redkale/convert/ObjectDecoder.java | 3 +++ src/main/java/org/redkale/convert/ObjectEncoder.java | 6 ++++-- src/main/java/org/redkale/convert/bson/BsonConvert.java | 4 ++-- src/main/java/org/redkale/convert/json/JsonConvert.java | 4 ++-- .../java/org/redkale/convert/protobuf/ProtobufConvert.java | 4 ++-- .../org/redkale/convert/protobuf/ProtobufObjectDecoder.java | 4 ++++ .../org/redkale/convert/protobuf/ProtobufObjectEncoder.java | 4 ++++ 12 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/redkale/convert/ArrayDecoder.java b/src/main/java/org/redkale/convert/ArrayDecoder.java index 55b9ec142..af7517e35 100644 --- a/src/main/java/org/redkale/convert/ArrayDecoder.java +++ b/src/main/java/org/redkale/convert/ArrayDecoder.java @@ -93,6 +93,7 @@ public class ArrayDecoder implements Decodeable { try { condition.await(); } catch (Exception e) { + //do nothing } finally { lock.unlock(); } diff --git a/src/main/java/org/redkale/convert/ArrayEncoder.java b/src/main/java/org/redkale/convert/ArrayEncoder.java index 5e87eaf81..83ad4fae1 100644 --- a/src/main/java/org/redkale/convert/ArrayEncoder.java +++ b/src/main/java/org/redkale/convert/ArrayEncoder.java @@ -90,6 +90,7 @@ public class ArrayEncoder implements Encodeable { try { condition.await(); } catch (Exception e) { + //do nothing } finally { lock.unlock(); } diff --git a/src/main/java/org/redkale/convert/CollectionDecoder.java b/src/main/java/org/redkale/convert/CollectionDecoder.java index 6bc5e025e..70fe666c6 100644 --- a/src/main/java/org/redkale/convert/CollectionDecoder.java +++ b/src/main/java/org/redkale/convert/CollectionDecoder.java @@ -98,6 +98,7 @@ public class CollectionDecoder implements Decodeable> { try { condition.await(); } catch (Exception e) { + //do nothing } finally { lock.unlock(); } diff --git a/src/main/java/org/redkale/convert/CollectionEncoder.java b/src/main/java/org/redkale/convert/CollectionEncoder.java index 20bce50d4..5b74d880d 100644 --- a/src/main/java/org/redkale/convert/CollectionEncoder.java +++ b/src/main/java/org/redkale/convert/CollectionEncoder.java @@ -77,6 +77,7 @@ public class CollectionEncoder implements Encodeable> { try { condition.await(); } catch (Exception e) { + //do nothing } finally { lock.unlock(); } diff --git a/src/main/java/org/redkale/convert/Convert.java b/src/main/java/org/redkale/convert/Convert.java index fd7da1600..002502fe3 100644 --- a/src/main/java/org/redkale/convert/Convert.java +++ b/src/main/java/org/redkale/convert/Convert.java @@ -47,7 +47,7 @@ public abstract class Convert { } protected S fieldFunc(S writer, BiFunction objFieldFunc, - BiFunction mapFieldFunc, Function objExtFunc) { + BiFunction mapFieldFunc, Function objExtFunc) { writer.mapFieldFunc = mapFieldFunc; writer.objFieldFunc = objFieldFunc; writer.objExtFunc = objExtFunc; @@ -58,7 +58,7 @@ public abstract class Convert { return newConvert(objFieldFunc, null, null); } - public Convert newConvert(BiFunction objFieldFunc, BiFunction mapFieldFunc) { + public Convert newConvert(BiFunction objFieldFunc, BiFunction mapFieldFunc) { return newConvert(objFieldFunc, mapFieldFunc, null); } @@ -67,7 +67,7 @@ public abstract class Convert { } public abstract Convert newConvert(BiFunction objFieldFunc, - BiFunction mapFieldFunc, Function objExtFunc); + BiFunction mapFieldFunc, Function objExtFunc); public abstract boolean isBinary(); diff --git a/src/main/java/org/redkale/convert/ObjectDecoder.java b/src/main/java/org/redkale/convert/ObjectDecoder.java index 5fb719385..169f2288b 100644 --- a/src/main/java/org/redkale/convert/ObjectDecoder.java +++ b/src/main/java/org/redkale/convert/ObjectDecoder.java @@ -175,6 +175,7 @@ public class ObjectDecoder implements Decodeable { continue; } } catch (Exception e) { + //do nothing } if (f == null) { boolean is = method.getParameterTypes()[0] == boolean.class || method.getParameterTypes()[0] == Boolean.class; @@ -184,6 +185,7 @@ public class ObjectDecoder implements Decodeable { continue; } } catch (Exception e) { + //do nothing } } } @@ -326,6 +328,7 @@ public class ObjectDecoder implements Decodeable { try { condition.await(); } catch (Exception e) { + //do nothing } finally { lock.unlock(); } diff --git a/src/main/java/org/redkale/convert/ObjectEncoder.java b/src/main/java/org/redkale/convert/ObjectEncoder.java index f5456b6a6..1985d25d1 100644 --- a/src/main/java/org/redkale/convert/ObjectEncoder.java +++ b/src/main/java/org/redkale/convert/ObjectEncoder.java @@ -25,8 +25,6 @@ import org.redkale.util.*; @SuppressWarnings("unchecked") public class ObjectEncoder implements Encodeable { - static final Type[] TYPEZERO = new Type[0]; - protected final Type type; protected final Class typeClass; @@ -162,6 +160,7 @@ public class ObjectEncoder implements Encodeable { small = f.getAnnotation(ConvertSmallString.class); } } catch (Exception e) { + //do nothing } } Field maybeField = ConvertFactory.readGetSetField(method); @@ -206,6 +205,7 @@ public class ObjectEncoder implements Encodeable { try { dissorts.add(new EnMember(createAttribute(factory, type, clazz, f, null, null), null, f, null)); //虚构 } catch (RuntimeException e) { + //do nothing } } catch (NoSuchFieldException nsfe) { //不存在field, 可能存在getter方法 char[] fs = constructorField.toCharArray(); @@ -221,6 +221,7 @@ public class ObjectEncoder implements Encodeable { try { dissorts.add(new EnMember(createAttribute(factory, type, clazz, null, getter, null), null, null, null)); //虚构 } catch (RuntimeException e) { + //do nothing } } } @@ -275,6 +276,7 @@ public class ObjectEncoder implements Encodeable { try { condition.await(); } catch (Exception e) { + //do nothing } finally { lock.unlock(); } diff --git a/src/main/java/org/redkale/convert/bson/BsonConvert.java b/src/main/java/org/redkale/convert/bson/BsonConvert.java index 7e57ec4f1..b5232eba8 100644 --- a/src/main/java/org/redkale/convert/bson/BsonConvert.java +++ b/src/main/java/org/redkale/convert/bson/BsonConvert.java @@ -65,7 +65,7 @@ public class BsonConvert extends BinaryConvert { } @Override - public BsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { + public BsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { return newConvert(objFieldFunc, mapFieldFunc, null); } @@ -75,7 +75,7 @@ public class BsonConvert extends BinaryConvert { } @Override - public BsonConvert newConvert(final BiFunction fieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { + public BsonConvert newConvert(final BiFunction fieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { return new BsonConvert(getFactory(), features) { @Override protected S configWrite(S writer) { diff --git a/src/main/java/org/redkale/convert/json/JsonConvert.java b/src/main/java/org/redkale/convert/json/JsonConvert.java index 19bfe1f56..75d8c2079 100644 --- a/src/main/java/org/redkale/convert/json/JsonConvert.java +++ b/src/main/java/org/redkale/convert/json/JsonConvert.java @@ -69,12 +69,12 @@ public class JsonConvert extends TextConvert { } @Override - public JsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { + public JsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { return newConvert(objFieldFunc, mapFieldFunc, null); } @Override - public JsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { + public JsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { return new JsonConvert(getFactory(), features) { @Override protected S configWrite(S writer) { diff --git a/src/main/java/org/redkale/convert/protobuf/ProtobufConvert.java b/src/main/java/org/redkale/convert/protobuf/ProtobufConvert.java index b7ef48110..ac85d9524 100644 --- a/src/main/java/org/redkale/convert/protobuf/ProtobufConvert.java +++ b/src/main/java/org/redkale/convert/protobuf/ProtobufConvert.java @@ -55,7 +55,7 @@ public class ProtobufConvert extends BinaryConvert objFieldFunc, BiFunction mapFieldFunc) { + public ProtobufConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { return newConvert(objFieldFunc, mapFieldFunc, null); } @@ -65,7 +65,7 @@ public class ProtobufConvert extends BinaryConvert fieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { + public ProtobufConvert newConvert(final BiFunction fieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { return new ProtobufConvert(getFactory(), features) { @Override protected S configWrite(S writer) { diff --git a/src/main/java/org/redkale/convert/protobuf/ProtobufObjectDecoder.java b/src/main/java/org/redkale/convert/protobuf/ProtobufObjectDecoder.java index ac87fbcd1..286faf878 100644 --- a/src/main/java/org/redkale/convert/protobuf/ProtobufObjectDecoder.java +++ b/src/main/java/org/redkale/convert/protobuf/ProtobufObjectDecoder.java @@ -8,6 +8,7 @@ package org.redkale.convert.protobuf; import java.lang.reflect.Type; import org.redkale.convert.*; import org.redkale.util.Attribute; +import org.redkale.util.Utility; /** * @@ -22,6 +23,9 @@ public class ProtobufObjectDecoder extends ObjectDecoder { @Override protected void initForEachDeMember(ConvertFactory factory, DeMember member) { + if(member.getIndex() < 1) { + throw new ConvertException(Utility.orElse(member.getField(), member.getMethod()) + " not found @" + ConvertColumn.class.getSimpleName() + ".index"); + } Attribute attr = member.getAttribute(); setTag(member, ProtobufFactory.getTag(attr.field(), attr.genericType(), member.getPosition(), ((ProtobufFactory) factory).enumtostring)); } diff --git a/src/main/java/org/redkale/convert/protobuf/ProtobufObjectEncoder.java b/src/main/java/org/redkale/convert/protobuf/ProtobufObjectEncoder.java index 0818e6f1c..2b5b7d0ed 100644 --- a/src/main/java/org/redkale/convert/protobuf/ProtobufObjectEncoder.java +++ b/src/main/java/org/redkale/convert/protobuf/ProtobufObjectEncoder.java @@ -8,6 +8,7 @@ package org.redkale.convert.protobuf; import java.lang.reflect.Type; import org.redkale.convert.*; import org.redkale.util.Attribute; +import org.redkale.util.Utility; /** * @@ -21,6 +22,9 @@ public class ProtobufObjectEncoder extends ObjectEncoder { @Override protected void initForEachEnMember(ConvertFactory factory, EnMember member) { + if (member.getIndex() < 1) { + throw new ConvertException(Utility.orElse(member.getField(), member.getMethod()) + " not found @" + ConvertColumn.class.getSimpleName() + ".index"); + } Attribute attr = member.getAttribute(); setTag(member, ProtobufFactory.getTag(attr.field(), attr.genericType(), member.getPosition(), ((ProtobufFactory) factory).enumtostring)); }