Skip to Content
0
Former Member
Jul 28, 2016 at 05:58 AM

One line transform to multiple Nodes in UDF

48 Views

Hi,

I have a problem about UDF. Using fixed length,4, to split the source string and write them into one table with many rows.

LIKE THIS:

Source

<record>

<details>

TESTSTRING

</details>

</record>

Target

<result>

<name>1</name>

<data>1</data>

<status>1</status>

</result>

<result>

<name>2</name>

<data>2</data>

<status>2</status>

</result>

<result>

<name>3</name>

<data>3</data>

<status>3</status>

</result>

I create a UDF, for example, var1 is the length of the source string.

public void calculate2(int[] var1, ResultList title, ResultList name, ResultList result, ResultList status, Container container) throws StreamTransformationException{

int i = var1[0]+1;

for (int i2 = 1; i2 < i; i2++)

{

title.addValue(i2);

name.addValue(i2);

result.addValue(i2);

status.addValue(i2);

}

}

UDF:

Mapping:

Test result :

<result1> <name>1</name> <name>2</name> <name>3</name> <result>1</result> <result>2</result> <result>3</result> <status>1</status> <status>2</status> <status>3</status> </result1> <result1/> <result1/>

Test Result

Do you have any good ideas?

Thanks a lot!

Regards,

Lily

Attachments

ESR TEST RESULT.jpg (103.9 kB)
ESR UFD.jpg (64.8 kB)
ESR Mapping.jpg (114.5 kB)