Search in sources :

Example 1 with PadStringLeft

use of io.atlasmap.v2.PadStringLeft in project atlasmap by atlasmap.

the class StringComplexFieldActionsTest method testPadStringLeft.

@Test
public void testPadStringLeft() {
    PadStringLeft padStringLeft = new PadStringLeft();
    padStringLeft.setPadCharacter("a");
    padStringLeft.setPadCount(3);
    assertEquals("aaa", StringComplexFieldActions.padStringLeft(padStringLeft, null));
    assertEquals("aaa", StringComplexFieldActions.padStringLeft(padStringLeft, ""));
    assertEquals("aaaa", StringComplexFieldActions.padStringLeft(padStringLeft, "a"));
    assertEquals("aaab", StringComplexFieldActions.padStringLeft(padStringLeft, "b"));
    try {
        StringComplexFieldActions.padStringLeft(null, "aa");
        fail("IllegalArgumentException expected");
    } catch (IllegalArgumentException e) {
        assertTrue(true);
    }
    try {
        StringComplexFieldActions.padStringLeft(new PadStringLeft(), "aa");
        fail("IllegalArgumentException expected");
    } catch (IllegalArgumentException e) {
        assertTrue(true);
    }
    try {
        PadStringLeft incomplete = new PadStringLeft();
        incomplete.setPadCharacter("f");
        StringComplexFieldActions.padStringLeft(incomplete, "aa");
        fail("IllegalArgumentException expected");
    } catch (IllegalArgumentException e) {
        assertTrue(true);
    }
    try {
        PadStringLeft incomplete = new PadStringLeft();
        incomplete.setPadCount(3);
        StringComplexFieldActions.padStringLeft(incomplete, "aa");
        fail("IllegalArgumentException expected");
    } catch (IllegalArgumentException e) {
        assertTrue(true);
    }
}
Also used : PadStringLeft(io.atlasmap.v2.PadStringLeft) Test(org.junit.Test)

Example 2 with PadStringLeft

use of io.atlasmap.v2.PadStringLeft in project atlasmap by atlasmap.

the class StringComplexFieldActions method padStringLeft.

@AtlasFieldActionInfo(name = "PadStringLeft", sourceType = FieldType.STRING, targetType = FieldType.STRING, sourceCollectionType = CollectionType.NONE, targetCollectionType = CollectionType.NONE)
public static String padStringLeft(Action action, String input) {
    if (action == null || !(action instanceof PadStringLeft) || ((PadStringLeft) action).getPadCharacter() == null || ((PadStringLeft) action).getPadCount() == null) {
        throw new IllegalArgumentException("PadStringLeft must be specfied with padCharacter and padCount");
    }
    PadStringLeft padStringLeft = (PadStringLeft) action;
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < padStringLeft.getPadCount(); i++) {
        builder.append(padStringLeft.getPadCharacter());
    }
    if (input != null) {
        builder.append(input);
    }
    return builder.toString();
}
Also used : PadStringLeft(io.atlasmap.v2.PadStringLeft) AtlasFieldActionInfo(io.atlasmap.spi.AtlasFieldActionInfo)

Example 3 with PadStringLeft

use of io.atlasmap.v2.PadStringLeft in project atlasmap by atlasmap.

the class AtlasBaseActionsTest method testActions.

@Test
public void testActions() throws Exception {
    List<ActionDetail> actions = DefaultAtlasContextFactory.getInstance().getFieldActionService().listActionDetails();
    for (ActionDetail d : actions) {
        System.out.println(d.getName());
    }
    this.runActionTest(new Uppercase(), "fname", "FNAME", String.class);
    this.runActionTest(new Lowercase(), "fnAme", "fname", String.class);
    this.runActionTest(new Trim(), " fname ", "fname", String.class);
    this.runActionTest(new TrimLeft(), " fname ", "fname ", String.class);
    this.runActionTest(new TrimRight(), " fname ", " fname", String.class);
    this.runActionTest(new Capitalize(), "fname", "Fname", String.class);
    this.runActionTest(new SeparateByDash(), "f:name", "f-name", String.class);
    this.runActionTest(new SeparateByUnderscore(), "f-na_me", "f_na_me", String.class);
    SubString s = new SubString();
    s.setStartIndex(0);
    s.setEndIndex(3);
    this.runActionTest(s, "12345", "123", String.class);
    SubStringAfter s1 = new SubStringAfter();
    s1.setStartIndex(3);
    s1.setEndIndex(null);
    s1.setMatch("foo");
    this.runActionTest(s1, "foobarblah", "blah", String.class);
    SubStringBefore s2 = new SubStringBefore();
    s2.setStartIndex(3);
    s2.setEndIndex(null);
    s2.setMatch("blah");
    this.runActionTest(s2, "foobarblah", "bar", String.class);
    PadStringRight ps = new PadStringRight();
    ps.setPadCharacter("X");
    ps.setPadCount(5);
    this.runActionTest(ps, "fname", "fnameXXXXX", String.class);
    PadStringLeft pl = new PadStringLeft();
    pl.setPadCharacter("X");
    pl.setPadCount(5);
    this.runActionTest(pl, "fname", "XXXXXfname", String.class);
    String result = (String) runActionTest(new GenerateUUID(), "fname", null, String.class);
    assertTrue(Pattern.compile("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}").matcher(result).matches());
}
Also used : ActionDetail(io.atlasmap.v2.ActionDetail) SeparateByUnderscore(io.atlasmap.v2.SeparateByUnderscore) Trim(io.atlasmap.v2.Trim) TrimRight(io.atlasmap.v2.TrimRight) SubString(io.atlasmap.v2.SubString) SubStringAfter(io.atlasmap.v2.SubStringAfter) PadStringLeft(io.atlasmap.v2.PadStringLeft) GenerateUUID(io.atlasmap.v2.GenerateUUID) SubString(io.atlasmap.v2.SubString) SeparateByDash(io.atlasmap.v2.SeparateByDash) TrimLeft(io.atlasmap.v2.TrimLeft) Uppercase(io.atlasmap.v2.Uppercase) Lowercase(io.atlasmap.v2.Lowercase) Capitalize(io.atlasmap.v2.Capitalize) PadStringRight(io.atlasmap.v2.PadStringRight) SubStringBefore(io.atlasmap.v2.SubStringBefore) Test(org.junit.Test)

Aggregations

PadStringLeft (io.atlasmap.v2.PadStringLeft)3 Test (org.junit.Test)2 AtlasFieldActionInfo (io.atlasmap.spi.AtlasFieldActionInfo)1 ActionDetail (io.atlasmap.v2.ActionDetail)1 Capitalize (io.atlasmap.v2.Capitalize)1 GenerateUUID (io.atlasmap.v2.GenerateUUID)1 Lowercase (io.atlasmap.v2.Lowercase)1 PadStringRight (io.atlasmap.v2.PadStringRight)1 SeparateByDash (io.atlasmap.v2.SeparateByDash)1 SeparateByUnderscore (io.atlasmap.v2.SeparateByUnderscore)1 SubString (io.atlasmap.v2.SubString)1 SubStringAfter (io.atlasmap.v2.SubStringAfter)1 SubStringBefore (io.atlasmap.v2.SubStringBefore)1 Trim (io.atlasmap.v2.Trim)1 TrimLeft (io.atlasmap.v2.TrimLeft)1 TrimRight (io.atlasmap.v2.TrimRight)1 Uppercase (io.atlasmap.v2.Uppercase)1