ConvertColumnTransfer优化

This commit is contained in:
redkale
2024-06-04 11:05:38 +08:00
parent 9b22fc3f5d
commit 897eb97d46
14 changed files with 224 additions and 64 deletions

View File

@@ -0,0 +1,72 @@
/*
*/
package org.redkale.test.convert;
import org.junit.jupiter.api.*;
import org.redkale.convert.ConvertColumn;
import org.redkale.convert.ConvertColumnTransfer;
import org.redkale.convert.json.JsonConvert;
import org.redkale.util.Attribute;
/**
*
* @author zhangjx
*/
public class ConvertTransferTest {
public static void main(String[] args) throws Throwable {
ConvertTransferTest test = new ConvertTransferTest();
test.run1();
}
@Test
public void run1() throws Throwable {
ParamRequest param = new ParamRequest();
param.setName("haha");
param.setPhone("1381234500");
Assertions.assertEquals("{\"name\":\"haha\",\"phone\":\"138****00\"}", param.toString());
}
public static class ParamRequest {
private String name;
@ConvertColumn(tranfer = ParamTransfer.class)
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return JsonConvert.root().convertTo(this);
}
}
public static class ParamTransfer implements ConvertColumnTransfer<String> {
@Override
public Object transfer(Object obj, Attribute attribute, String value) {
if (value == null || value.length() < 5) {
return value;
} else {
return value.substring(0, 3) + "****" + value.substring(value.length() - 2);
}
}
}
}

View File

@@ -77,14 +77,14 @@ public class CustMessage2Test {
protected void afterInitEnMember(ConvertFactory factory) {
Function func1 = t -> eventName;
Attribute attribute1 = Attribute.create(clazz, "event", String.class, func1, null);
EnMember member1 = new EnMember(attribute1, factory.loadEncoder(String.class), null, null);
EnMember member1 = new EnMember(attribute1, factory.loadEncoder(String.class), null, null, null);
setIndex(member1, 1);
setPosition(member1, 1);
initForEachEnMember(factory, member1);
Function func2 = t -> t;
Attribute attribute2 = Attribute.create(clazz, "result", clazz, func2, null);
EnMember member2 = new EnMember(attribute2, valEncoder, null, null);
EnMember member2 = new EnMember(attribute2, valEncoder, null, null, null);
setIndex(member2, 2);
setPosition(member2, 2);
initForEachEnMember(factory, member2);

View File

@@ -2,10 +2,9 @@
*/
package org.redkale.test.convert;
import java.lang.annotation.*;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.*;
import java.util.function.*;
import org.junit.jupiter.api.*;
import org.redkale.convert.*;
@@ -73,7 +72,7 @@ public class CustMessageTest {
protected void afterInitEnMember(ConvertFactory factory) {
Function func = t -> t;
Attribute attribute = Attribute.create(clazz, getMessageName(clazz), clazz, func, null);
EnMember member = new EnMember(attribute, valEncoder, null, null);
EnMember member = new EnMember(attribute, valEncoder, null, null, null);
setIndex(member, 1);
setPosition(member, 1);
initForEachEnMember(factory, member);

View File

@@ -97,14 +97,14 @@ public class PBCustMessage2Test {
protected void afterInitEnMember(ConvertFactory factory) {
Function func1 = t -> eventName;
Attribute attribute1 = Attribute.create(clazz, "event", String.class, func1, null);
EnMember member1 = new EnMember(attribute1, factory.loadEncoder(String.class), null, null);
EnMember member1 = new EnMember(attribute1, factory.loadEncoder(String.class), null, null, null);
setIndex(member1, 1);
setPosition(member1, 1);
initForEachEnMember(factory, member1);
Function func2 = t -> t;
Attribute attribute2 = Attribute.create(clazz, "data", clazz, func2, null);
EnMember member2 = new EnMember(attribute2, valEncoder, null, null);
EnMember member2 = new EnMember(attribute2, valEncoder, null, null, null);
setIndex(member2, 2);
setPosition(member2, 2);
initForEachEnMember(factory, member2);

View File

@@ -2,10 +2,9 @@
*/
package org.redkale.test.convert.proto;
import java.lang.annotation.*;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.*;
import java.util.*;
import java.util.function.*;
import org.junit.jupiter.api.*;
@@ -84,7 +83,7 @@ public class PBCustMessageTest {
protected void afterInitEnMember(ConvertFactory factory) {
Function func = t -> t;
Attribute attribute = Attribute.create(clazz, getMessageName(clazz), clazz, func, null);
EnMember member = new EnMember(attribute, valEncoder, null, null);
EnMember member = new EnMember(attribute, valEncoder, null, null, null);
setIndex(member, 1);
setPosition(member, 1);
initForEachEnMember(factory, member);