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);
}
}
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();
}
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());
}
Aggregations