public JsonMessageConverter(String[] options) { super(WORD, WORD); if (options != null) { for (String option: options) { if (OPT_FLATTEN.equalsIgnoreCase(option)) { converter.setFlatten(true); } else if (OPT_ESCAPE.equalsIgnoreCase(option)) { converter.setEscape(true); } } } }
@Override public void start() { List<String> options = getOptionList(); if (options != null) { for (String option: options) { if (OPT_FLATTEN.equalsIgnoreCase(option)) { converter.setFlatten(true); } else if (OPT_ESCAPE.equalsIgnoreCase(option)) { converter.setEscape(true); } } } super.start(); } }
@Test public void testArrayMsgFlattened() { DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); assertThat(formatMsg(jmc, ARRAY_MSG), is(ARRAY_MSG.substring(1, ARRAY_MSG.length() - 1))); }
@Test public void testObjMsgFlattened() { DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); assertThat(formatMsg(jmc, OBJ_MSG), is(OBJ_MSG.substring(1, OBJ_MSG.length() - 1))); }
@Test public void testLogRecordMsgFlattened() { DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); RequestRecord lrec = new RequestRecord(LOG_PROVIDER); String lmsg = lrec.toString(); assertThat(formatMsg(jmc, lmsg), is(lmsg.substring(1, lmsg.length() - 1))); }
@Test public void testObjNestedBraces() { String nestedBracesMsg = "\"request\": \"/Foo(${bar})\""; String logMsg = " {" + nestedBracesMsg + "} "; DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); assertThat(formatMsg(jmc, logMsg), is(nestedBracesMsg)); }
@Test public void testInvalidObjNestedBraces() { String nestedBracesMsg = "\"request\": \"/Foo(${bar)\""; String logMsg = " {" + nestedBracesMsg; DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); assertThat(formatMsg(jmc, logMsg), is(logMsg)); }
@Test public void testObjNestedBrackets() { String nestedBracketsMsg = "\"request\", \"/Foo($[bar])\""; String logMsg = " [" + nestedBracketsMsg + "] "; DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); assertThat(formatMsg(jmc, logMsg), is(nestedBracketsMsg)); }
@Test public void testObjIncompleteNestedBraces() { String nestedBracesMsg = "\"request\": \"/Foo(${bar)\""; String logMsg = " {" + nestedBracesMsg + "} "; DefaultMessageConverter jmc = new DefaultMessageConverter(); jmc.setFlatten(true); assertThat(formatMsg(jmc, logMsg), is(nestedBracesMsg)); }