Search in sources :

Example 1 with ExtendedMessageFormat

use of org.apache.commons.text.ExtendedMessageFormat in project bender by Nextdoor.

the class FormattedSubstitutionTest method testStringSubStatic.

@Test
public void testStringSubStatic() throws FieldNotFoundException {
    Variable.StaticVariable v = new Variable.StaticVariable();
    v.setValue("1234");
    ArrayList<Substitution> substitutions = new ArrayList<Substitution>();
    substitutions.add(new FormattedSubstitution("bar", new ExtendedMessageFormat("static = {0}"), Arrays.asList(v), true));
    DummpyMapEvent devent = new DummpyMapEvent();
    InternalEvent ievent = new InternalEvent("", null, 0);
    ievent.setEventObj(devent);
    SubstitutionOperation op = new SubstitutionOperation(substitutions);
    op.perform(ievent);
    assertEquals(1, devent.payload.size());
    assertEquals("static = 1234", devent.getField("bar"));
}
Also used : FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) ArrayList(java.util.ArrayList) ExtendedMessageFormat(org.apache.commons.text.ExtendedMessageFormat) DummpyMapEvent(com.nextdoor.bender.testutils.DummyDeserializerHelper.DummpyMapEvent) FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) InternalEvent(com.nextdoor.bender.InternalEvent) Test(org.junit.Test)

Example 2 with ExtendedMessageFormat

use of org.apache.commons.text.ExtendedMessageFormat in project bender by Nextdoor.

the class FormattedSubstitutionTest method testStringSubKnown.

@Test
public void testStringSubKnown() throws FieldNotFoundException {
    Variable.FieldVariable v = new Variable.FieldVariable();
    v.setFailSrcNotFound(true);
    v.setSrcFields(Arrays.asList("foo"));
    ArrayList<Substitution> substitutions = new ArrayList<Substitution>();
    substitutions.add(new FormattedSubstitution("bar", new ExtendedMessageFormat("foo = {0}"), Arrays.asList(v), true));
    DummpyMapEvent devent = new DummpyMapEvent();
    devent.setField("foo", "1234");
    InternalEvent ievent = new InternalEvent("", null, 0);
    ievent.setEventObj(devent);
    SubstitutionOperation op = new SubstitutionOperation(substitutions);
    op.perform(ievent);
    assertEquals(2, devent.payload.size());
    assertEquals("foo = 1234", devent.getField("bar"));
    assertEquals("1234", devent.getField("foo"));
}
Also used : FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) ArrayList(java.util.ArrayList) ExtendedMessageFormat(org.apache.commons.text.ExtendedMessageFormat) DummpyMapEvent(com.nextdoor.bender.testutils.DummyDeserializerHelper.DummpyMapEvent) FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) InternalEvent(com.nextdoor.bender.InternalEvent) Test(org.junit.Test)

Example 3 with ExtendedMessageFormat

use of org.apache.commons.text.ExtendedMessageFormat in project bender by Nextdoor.

the class FormattedSubstitutionFactory method setConf.

@Override
public void setConf(AbstractConfig config) {
    this.config = (FormattedSubstitutionConfig) config;
    this.format = new ExtendedMessageFormat(this.config.getFormat());
}
Also used : ExtendedMessageFormat(org.apache.commons.text.ExtendedMessageFormat)

Example 4 with ExtendedMessageFormat

use of org.apache.commons.text.ExtendedMessageFormat in project bender by Nextdoor.

the class FormattedSubstitutionTest method testStringSubNumberKnown.

@Test
public void testStringSubNumberKnown() throws FieldNotFoundException {
    Variable.FieldVariable v = new Variable.FieldVariable();
    v.setFailSrcNotFound(true);
    v.setSrcFields(Arrays.asList("foo"));
    ArrayList<Substitution> substitutions = new ArrayList<Substitution>();
    substitutions.add(new FormattedSubstitution("bar", new ExtendedMessageFormat("number = {0}"), Arrays.asList(v), true));
    DummpyMapEvent devent = new DummpyMapEvent();
    devent.setField("foo", new Float(1.234f));
    InternalEvent ievent = new InternalEvent("", null, 0);
    ievent.setEventObj(devent);
    SubstitutionOperation op = new SubstitutionOperation(substitutions);
    op.perform(ievent);
    assertEquals(2, devent.payload.size());
    assertEquals("number = 1.234", devent.getField("bar"));
}
Also used : FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) ArrayList(java.util.ArrayList) ExtendedMessageFormat(org.apache.commons.text.ExtendedMessageFormat) DummpyMapEvent(com.nextdoor.bender.testutils.DummyDeserializerHelper.DummpyMapEvent) FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) InternalEvent(com.nextdoor.bender.InternalEvent) Test(org.junit.Test)

Example 5 with ExtendedMessageFormat

use of org.apache.commons.text.ExtendedMessageFormat in project bender by Nextdoor.

the class FormattedSubstitutionTest method testStringSubUnknownFail.

@Test(expected = OperationException.class)
public void testStringSubUnknownFail() throws FieldNotFoundException {
    Variable.FieldVariable v = new Variable.FieldVariable();
    v.setFailSrcNotFound(true);
    v.setSrcFields(Arrays.asList("baz"));
    ArrayList<Substitution> substitutions = new ArrayList<Substitution>();
    substitutions.add(new FormattedSubstitution("bar", new ExtendedMessageFormat("foo = {0}"), Arrays.asList(v), true));
    DummpyMapEvent devent = new DummpyMapEvent();
    devent.setField("foo", "1234");
    InternalEvent ievent = new InternalEvent("", null, 0);
    ievent.setEventObj(devent);
    SubstitutionOperation op = new SubstitutionOperation(substitutions);
    op.perform(ievent);
}
Also used : FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) ArrayList(java.util.ArrayList) ExtendedMessageFormat(org.apache.commons.text.ExtendedMessageFormat) DummpyMapEvent(com.nextdoor.bender.testutils.DummyDeserializerHelper.DummpyMapEvent) FormattedSubstitution(com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution) InternalEvent(com.nextdoor.bender.InternalEvent) Test(org.junit.Test)

Aggregations

ExtendedMessageFormat (org.apache.commons.text.ExtendedMessageFormat)8 InternalEvent (com.nextdoor.bender.InternalEvent)7 FormattedSubstitution (com.nextdoor.bender.operation.substitution.formatted.FormattedSubstitution)7 DummpyMapEvent (com.nextdoor.bender.testutils.DummyDeserializerHelper.DummpyMapEvent)7 ArrayList (java.util.ArrayList)7 Test (org.junit.Test)7