pb
This commit is contained in:
@@ -26,7 +26,7 @@ public class RequiredBeanTest {
|
||||
|
||||
@Test
|
||||
public void run() throws Exception {
|
||||
RequiredBean bean = RequiredBean.create();
|
||||
RequiredBean bean = createRequiredBean();
|
||||
ProtobufConvert convert = ProtobufConvert.root();
|
||||
byte[] bytes = convert.convertTo(bean);
|
||||
System.out.println("序列化0: 26.[0x08,0x0c,0x12,0x03,0x61,0x61,0x61,0x12,0x03,0x62,0x62,0x62,"
|
||||
@@ -52,83 +52,36 @@ public class RequiredBeanTest {
|
||||
Assertions.assertEquals(jsons1, jsons2);
|
||||
}
|
||||
|
||||
public static RequiredBean createRequiredBean() {
|
||||
RequiredBean bean = new RequiredBean();
|
||||
bean.id = 6;
|
||||
bean.strs1 = new String[] {"aaa", "bbb"};
|
||||
bean.strs2 = List.of("ccc", "ddd");
|
||||
bean.zbig1 = List.of(new AtomicInteger(1), new AtomicInteger(2));
|
||||
return bean;
|
||||
}
|
||||
|
||||
public static class RequiredArray {
|
||||
|
||||
@ConvertColumn(index = 1)
|
||||
private RequiredBean[] beans;
|
||||
public RequiredBean[] beans;
|
||||
|
||||
@ConvertColumn(index = 2)
|
||||
private int id;
|
||||
|
||||
public RequiredBean[] getBeans() {
|
||||
return beans;
|
||||
}
|
||||
|
||||
public void setBeans(RequiredBean[] beans) {
|
||||
this.beans = beans;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
public int id;
|
||||
}
|
||||
|
||||
public static class RequiredBean {
|
||||
|
||||
public static RequiredBean create() {
|
||||
RequiredBean bean = new RequiredBean();
|
||||
bean.id = 6;
|
||||
bean.strs1 = new String[] {"aaa", "bbb"};
|
||||
bean.strs2 = List.of("ccc", "ddd");
|
||||
bean.zbig1 = List.of(new AtomicInteger(1), new AtomicInteger(2));
|
||||
return bean;
|
||||
}
|
||||
|
||||
@ConvertColumn(index = 1)
|
||||
private int id;
|
||||
public int id;
|
||||
|
||||
@ConvertColumn(index = 2)
|
||||
private String[] strs1;
|
||||
public String[] strs1;
|
||||
|
||||
@ConvertColumn(index = 3)
|
||||
private List<String> strs2;
|
||||
public List<String> strs2;
|
||||
|
||||
@ConvertColumn(index = 4)
|
||||
private List<AtomicInteger> zbig1;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String[] getStrs1() {
|
||||
return strs1;
|
||||
}
|
||||
|
||||
public void setStrs1(String[] strs1) {
|
||||
this.strs1 = strs1;
|
||||
}
|
||||
|
||||
public List<String> getStrs2() {
|
||||
return strs2;
|
||||
}
|
||||
|
||||
public void setStrs2(List<String> strs2) {
|
||||
this.strs2 = strs2;
|
||||
}
|
||||
|
||||
public List<AtomicInteger> getZbig1() {
|
||||
return zbig1;
|
||||
}
|
||||
|
||||
public void setZbig1(List<AtomicInteger> zbig1) {
|
||||
this.zbig1 = zbig1;
|
||||
}
|
||||
public List<AtomicInteger> zbig1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,60 +26,60 @@ public class UserBeanProtoDynEncoder extends ProtobufDynEncoder<UserBean> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertTo(ProtobufWriter out0, EnMember parentMember, UserBean value) {
|
||||
public void convertTo(ProtobufWriter out, EnMember parentMember, UserBean value) {
|
||||
if (value == null) {
|
||||
return;
|
||||
}
|
||||
ProtobufWriter out = objectWriter(out0, parentMember, value);
|
||||
out.writeObjectB(value);
|
||||
out.writeFieldValue(1, value.getSeqid());
|
||||
out.writeFieldValue(2, value.getName());
|
||||
out.writeFieldValue(3, value.getImg());
|
||||
out.writeFieldValue(4, numberSimpledCoder, value.getNumber());
|
||||
out.writeFieldValue(5, scaleSimpledCoder, value.getScale());
|
||||
out.writeFieldValue(6, value.getBit());
|
||||
ProtobufWriter subout = acceptWriter(out, parentMember);
|
||||
subout.writeObjectB(value);
|
||||
subout.writeFieldValue(1, value.getSeqid());
|
||||
subout.writeFieldValue(2, value.getName());
|
||||
subout.writeFieldValue(3, value.getImg());
|
||||
subout.writeFieldValue(4, numberSimpledCoder, value.getNumber());
|
||||
subout.writeFieldValue(5, scaleSimpledCoder, value.getScale());
|
||||
subout.writeFieldValue(6, value.getBit());
|
||||
|
||||
out.writeFieldValue(7, value.isFlag());
|
||||
out.writeFieldValue(8, value.getStatus());
|
||||
out.writeFieldValue(9, value.getId());
|
||||
out.writeFieldValue(10, value.getCreateTime());
|
||||
out.writeFieldValue(11, value.getPoint());
|
||||
out.writeFieldValue(12, value.getMoney());
|
||||
subout.writeFieldValue(7, value.isFlag());
|
||||
subout.writeFieldValue(8, value.getStatus());
|
||||
subout.writeFieldValue(9, value.getId());
|
||||
subout.writeFieldValue(10, value.getCreateTime());
|
||||
subout.writeFieldValue(11, value.getPoint());
|
||||
subout.writeFieldValue(12, value.getMoney());
|
||||
|
||||
out.writeFieldValue(13, value.getFlag2());
|
||||
out.writeFieldValue(14, value.getStatus2());
|
||||
out.writeFieldValue(15, value.getId2());
|
||||
out.writeFieldValue(16, value.getCreateTime2());
|
||||
out.writeFieldValue(17, value.getPoint2());
|
||||
out.writeFieldValue(18, value.getMoney2());
|
||||
subout.writeFieldValue(13, value.getFlag2());
|
||||
subout.writeFieldValue(14, value.getStatus2());
|
||||
subout.writeFieldValue(15, value.getId2());
|
||||
subout.writeFieldValue(16, value.getCreateTime2());
|
||||
subout.writeFieldValue(17, value.getPoint2());
|
||||
subout.writeFieldValue(18, value.getMoney2());
|
||||
|
||||
out.writeFieldValue(19, value.id3);
|
||||
out.writeFieldValue(20, value.createTime3);
|
||||
out.writeFieldValue(21, value.point3);
|
||||
out.writeFieldValue(22, value.money3);
|
||||
out.writeFieldValue(23, value.bit3);
|
||||
subout.writeFieldValue(19, value.id3);
|
||||
subout.writeFieldValue(20, value.createTime3);
|
||||
subout.writeFieldValue(21, value.point3);
|
||||
subout.writeFieldValue(22, value.money3);
|
||||
subout.writeFieldValue(23, value.bit3);
|
||||
|
||||
out.writeFieldValue(19, value.getId4());
|
||||
out.writeFieldValue(20, value.getCreateTime4());
|
||||
out.writeFieldValue(21, value.getPoint4());
|
||||
out.writeFieldValue(22, value.getMoney4());
|
||||
out.writeFieldValue(23, value.getBit4());
|
||||
subout.writeFieldValue(19, value.getId4());
|
||||
subout.writeFieldValue(20, value.getCreateTime4());
|
||||
subout.writeFieldValue(21, value.getPoint4());
|
||||
subout.writeFieldValue(22, value.getMoney4());
|
||||
subout.writeFieldValue(23, value.getBit4());
|
||||
|
||||
out.writeFieldValue(19, value.getId5());
|
||||
out.writeFieldValue(20, value.getCreateTime5());
|
||||
out.writeFieldValue(21, value.getPoint5());
|
||||
out.writeFieldValue(22, value.getMoney5());
|
||||
out.writeFieldValue(23, value.getBit5());
|
||||
subout.writeFieldValue(19, value.getId5());
|
||||
subout.writeFieldValue(20, value.getCreateTime5());
|
||||
subout.writeFieldValue(21, value.getPoint5());
|
||||
subout.writeFieldValue(22, value.getMoney5());
|
||||
subout.writeFieldValue(23, value.getBit5());
|
||||
|
||||
out.writeFieldIntsValue(19, value.getId6());
|
||||
out.writeFieldLongsValue(20, value.getCreateTime6());
|
||||
out.writeFieldFloatsValue(21, value.getPoint6());
|
||||
out.writeFieldDoublesValue(22, value.getMoney6());
|
||||
out.writeFieldBytesValue(23, value.getBit6());
|
||||
out.writeFieldStringsValue(23, value.getStrs());
|
||||
subout.writeFieldIntsValue(19, value.getId6());
|
||||
subout.writeFieldLongsValue(20, value.getCreateTime6());
|
||||
subout.writeFieldFloatsValue(21, value.getPoint6());
|
||||
subout.writeFieldDoublesValue(22, value.getMoney6());
|
||||
subout.writeFieldBytesValue(23, value.getBit6());
|
||||
subout.writeFieldStringsValue(23, value.getStrs());
|
||||
|
||||
out.writeObjectField(mapEnMember, value);
|
||||
out.writeObjectE(value);
|
||||
offerWriter(out0, out);
|
||||
subout.writeObjectField(mapEnMember, value);
|
||||
subout.writeObjectE(value);
|
||||
offerWriter(out, subout);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
*/
|
||||
package org.redkale.test.convert.pb;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Type;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.redkale.convert.Encodeable;
|
||||
@@ -19,10 +21,20 @@ public class UserDynTest {
|
||||
public static void main(String[] args) throws Throwable {
|
||||
UserDynTest test = new UserDynTest();
|
||||
test.run1();
|
||||
test.run2();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void run1() throws Exception {
|
||||
ProtobufFactory factory = ProtobufFactory.root();
|
||||
Method method = ProtobufFactory.class.getDeclaredMethod("createObjectEncoder", Type.class);
|
||||
method.setAccessible(true);
|
||||
Encodeable encoder = (Encodeable) method.invoke(factory, UserBean.class);
|
||||
Assertions.assertTrue(!ProtobufDynEncoder.class.isAssignableFrom(encoder.getClass()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void run2() throws Exception {
|
||||
ProtobufFactory factory = ProtobufFactory.root();
|
||||
Encodeable encoder = factory.loadEncoder(UserBean.class);
|
||||
Assertions.assertTrue(ProtobufDynEncoder.class.isAssignableFrom(encoder.getClass()));
|
||||
|
||||
Reference in New Issue
Block a user