Skip to content

Commit

Permalink
[INLONG-11209][SDK] Transform TRIM() function add usage of BTRIM()
Browse files Browse the repository at this point in the history
  • Loading branch information
emptyOVO committed Sep 28, 2024
1 parent e0d7f8d commit 1619a1c
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@
/**
* TrimFunction
* description: trim(string)--Remove Spaces before and after the string.
* btrim(string)--Remove Spaces before and after the string.
*/
@TransformFunction(names = {"trim"})
@TransformFunction(names = {"trim", "btrim"})
public class TrimFunction implements ValueParser {

private ValueParser stringParser;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,41 @@ public void testTrimFunction() throws Exception {
Assert.assertEquals(1, output2.size());
Assert.assertEquals(output2.get(0), "result=in long");
String transformSql3 = "select trim(string2) from source";
TransformConfig config3 = new TransformConfig(transformSql2);
TransformConfig config3 = new TransformConfig(transformSql3);
TransformProcessor<String, String> processor3 = TransformProcessor
.create(config2, SourceDecoderFactory.createCsvDecoder(csvSource),
.create(config3, SourceDecoderFactory.createCsvDecoder(csvSource),
SinkEncoderFactory.createKvEncoder(kvSink));
// case3: trim(' in long ')
List<String> output3 = processor3.transform(" in long|in long | in long ", new HashMap<>());
Assert.assertEquals(1, output3.size());
Assert.assertEquals(output3.get(0), "result=in long");

String transformSql4 = "select btrim(string1) from source";
TransformConfig config4 = new TransformConfig(transformSql4);
TransformProcessor<String, String> processor4 = TransformProcessor
.create(config4, SourceDecoderFactory.createCsvDecoder(csvSource),
SinkEncoderFactory.createKvEncoder(kvSink));
// case4: btrim(' in long')
List<String> output4 = processor4.transform(" in long|in long | in long ", new HashMap<>());
Assert.assertEquals(1, output4.size());
Assert.assertEquals(output4.get(0), "result=in long");
String transformSql5 = "select btrim(string2) from source";
TransformConfig config5 = new TransformConfig(transformSql5);
TransformProcessor<String, String> processor5 = TransformProcessor
.create(config5, SourceDecoderFactory.createCsvDecoder(csvSource),
SinkEncoderFactory.createKvEncoder(kvSink));
// case5: btrim('in long ')
List<String> output5 = processor5.transform(" in long|in long | in long ", new HashMap<>());
Assert.assertEquals(1, output5.size());
Assert.assertEquals(output5.get(0), "result=in long");
String transformSql6 = "select btrim(string2) from source";
TransformConfig config6 = new TransformConfig(transformSql6);
TransformProcessor<String, String> processor6 = TransformProcessor
.create(config6, SourceDecoderFactory.createCsvDecoder(csvSource),
SinkEncoderFactory.createKvEncoder(kvSink));
// case6: btrim(' in long ')
List<String> output6 = processor6.transform(" in long|in long | in long ", new HashMap<>());
Assert.assertEquals(1, output6.size());
Assert.assertEquals(output6.get(0), "result=in long");
}
}

0 comments on commit 1619a1c

Please sign in to comment.