BiFunctionConvertTest
This commit is contained in:
35
.github/workflows/maven.yml
vendored
Normal file
35
.github/workflows/maven.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
|
||||||
|
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
# This workflow uses actions that are not certified by GitHub.
|
||||||
|
# They are provided by a third-party and are governed by
|
||||||
|
# separate terms of service, privacy policy, and support
|
||||||
|
# documentation.
|
||||||
|
|
||||||
|
name: Maven CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "main" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "main" ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
java-version: '11'
|
||||||
|
distribution: 'temurin'
|
||||||
|
cache: maven
|
||||||
|
- name: Build with Maven
|
||||||
|
run: mvn -B package --file pom.xml
|
||||||
|
|
||||||
|
# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
|
||||||
|
- name: Update dependency graph
|
||||||
|
uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
/*
|
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
|
||||||
* To change this template file, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
package org.redkale.test.convert;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.redkale.convert.ConvertField;
|
|
||||||
import org.redkale.convert.json.JsonConvert;
|
|
||||||
import org.redkale.util.Attribute;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* test
|
|
||||||
*
|
|
||||||
* @author zhangjx
|
|
||||||
*/
|
|
||||||
public class BiFunctionConvertTest {
|
|
||||||
|
|
||||||
public static class GamePlayer {
|
|
||||||
|
|
||||||
public int userid;
|
|
||||||
|
|
||||||
public String username;
|
|
||||||
|
|
||||||
public int[] cards;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class GameTable {
|
|
||||||
|
|
||||||
public int tableid;
|
|
||||||
|
|
||||||
public GamePlayer[] players;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void run() throws Throwable {
|
|
||||||
GamePlayer player1 = new GamePlayer();
|
|
||||||
player1.userid = 1;
|
|
||||||
player1.username = "玩家1";
|
|
||||||
player1.cards = new int[] {11, 12, 13, 14, 15};
|
|
||||||
GamePlayer player2 = new GamePlayer();
|
|
||||||
player2.userid = 2;
|
|
||||||
player2.username = "玩家2";
|
|
||||||
player2.cards = new int[] {21, 22, 23, 24, 25};
|
|
||||||
GamePlayer player3 = new GamePlayer();
|
|
||||||
player3.userid = 3;
|
|
||||||
player3.username = "玩家3";
|
|
||||||
player3.cards = new int[] {31, 32, 33, 34, 35};
|
|
||||||
GameTable table = new GameTable();
|
|
||||||
table.tableid = 100;
|
|
||||||
table.players = new GamePlayer[] {player1, player2, player3};
|
|
||||||
JsonConvert convert1 = JsonConvert.root();
|
|
||||||
System.out.println(convert1.convertTo(table));
|
|
||||||
JsonConvert convert2 = convert1.newConvert(
|
|
||||||
(Attribute t, Object u) -> {
|
|
||||||
if (t.field().equals("cards") && u instanceof GamePlayer) {
|
|
||||||
int userid = ((GamePlayer) u).userid;
|
|
||||||
if (userid == 3) return null; // 玩家3的cards不输出
|
|
||||||
return t.get(u);
|
|
||||||
}
|
|
||||||
return t.get(u);
|
|
||||||
},
|
|
||||||
(Object u) -> {
|
|
||||||
if (table != u) return null;
|
|
||||||
// return new ConvertField[]{new ConvertField("extcol1", 30),
|
|
||||||
// new ConvertField("extcol2", "扩展字段值")};
|
|
||||||
return ConvertField.ofArray("extcol1", 30, "extcol2", "扩展字段值");
|
|
||||||
});
|
|
||||||
System.out.println(convert2.convertTo(table));
|
|
||||||
Assertions.assertEquals(
|
|
||||||
"{\"players\":[{\"cards\":[11,12,13,14,15],\"userid\":1,\"username\":\"玩家1\"},"
|
|
||||||
+ "{\"cards\":[21,22,23,24,25],\"userid\":2,\"username\":\"玩家2\"},"
|
|
||||||
+ "{\"userid\":3,\"username\":\"玩家3\"}],"
|
|
||||||
+ "\"tableid\":100,\"extcol1\":30,\"extcol2\":\"扩展字段值\"}",
|
|
||||||
convert2.convertTo(table));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user