/** * @since 2.6.1 */ @Override public Message newMessage(final String message, final Object p0, final Object p1, final Object p2) { return new FormattedMessage(message, p0, p1, p2); }
/** * Returns the formatted message after looking up the format in the resource bundle. * * @return The formatted message String. */ @Override public String getFormattedMessage() { if (formattedMessage != null) { return formattedMessage; } ResourceBundle bundle = this.resourceBundle; if (bundle == null) { if (baseName != null) { bundle = getResourceBundle(baseName, locale, false); } else { bundle = getResourceBundle(loggerName, locale, true); } } final String myKey = getFormat(); final String msgPattern = (bundle == null || !bundle.containsKey(myKey)) ? myKey : bundle.getString(myKey); final Object[] array = argArray == null ? stringArgs : argArray; final FormattedMessage msg = new FormattedMessage(msgPattern, array); formattedMessage = msg.getFormattedMessage(); throwable = msg.getThrowable(); return formattedMessage; }
@Override public Throwable getThrowable() { if (throwable != null) { return throwable; } if (message == null) { message = getMessage(messagePattern, argArray, null); } return message.getThrowable(); }
@Test public void testNoArgs() { final String testMsg = "Test message {0}"; FormattedMessage msg = new FormattedMessage(testMsg, (Object[]) null); String result = msg.getFormattedMessage(); final String expected = "Test message {0}"; assertEquals(expected, result); final Object[] array = null; msg = new FormattedMessage(testMsg, array, null); result = msg.getFormattedMessage(); assertEquals(expected, result); }
@Test public void testSerialization() throws IOException, ClassNotFoundException { final FormattedMessage expected = new FormattedMessage("Msg", "a", "b", "c"); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (final ObjectOutputStream out = new ObjectOutputStream(baos)) { out.writeObject(expected); } final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); final ObjectInputStream in = new ObjectInputStream(bais); final FormattedMessage actual = (FormattedMessage) in.readObject(); Assert.assertEquals(expected, actual); Assert.assertEquals(expected.getFormat(), actual.getFormat()); Assert.assertEquals(expected.getFormattedMessage(), actual.getFormattedMessage()); Assert.assertArrayEquals(expected.getParameters(), actual.getParameters()); } }
@Override public String toString() { return getFormattedMessage(); }
@Test public void testParamNoArgs() { final String testMsg = "Test message {}"; FormattedMessage msg = new FormattedMessage(testMsg, (Object[]) null); String result = msg.getFormattedMessage(); assertEquals(testMsg, result); final Object[] array = null; msg = new FormattedMessage(testMsg, array, null); result = msg.getFormattedMessage(); assertEquals(testMsg, result); }
private void writeObject(final ObjectOutputStream out) throws IOException { out.defaultWriteObject(); getFormattedMessage(); out.writeUTF(formattedMessage); out.writeUTF(messagePattern); out.writeInt(argArray.length); stringArgs = new String[argArray.length]; int i = 0; for (final Object obj : argArray) { final String string = String.valueOf(obj); stringArgs[i] = string; out.writeUTF(string); ++i; } } }
@Test public void testStringNoArgs() { final String testMsg = "Test message %1s"; FormattedMessage msg = new FormattedMessage(testMsg, (Object[]) null); String result = msg.getFormattedMessage(); final String expected = "Test message null"; assertEquals(expected, result); final Object[] array = null; msg = new FormattedMessage(testMsg, array, null); result = msg.getFormattedMessage(); assertEquals(expected, result); }
/** * @since 2.6.1 */ @Override public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5) { return new FormattedMessage(message, p0, p1, p2, p3, p4, p5); }
/** * Returns the formatted message after looking up the format in the resource bundle. * * @return The formatted message String. */ @Override public String getFormattedMessage() { if (formattedMessage != null) { return formattedMessage; } ResourceBundle bundle = this.resourceBundle; if (bundle == null) { if (baseName != null) { bundle = getResourceBundle(baseName, locale, false); } else { bundle = getResourceBundle(loggerName, locale, true); } } final String myKey = getFormat(); final String msgPattern = (bundle == null || !bundle.containsKey(myKey)) ? myKey : bundle.getString(myKey); final Object[] array = argArray == null ? stringArgs : argArray; final FormattedMessage msg = new FormattedMessage(msgPattern, array); formattedMessage = msg.getFormattedMessage(); throwable = msg.getThrowable(); return formattedMessage; }
@Override public String toString() { return getFormattedMessage(); }
/** * Gets the formatted message. * @return the formatted message. */ @Override public String getFormattedMessage() { if (formattedMessage == null) { if (message == null) { message = getMessage(messagePattern, argArray, throwable); } formattedMessage = message.getFormattedMessage(); } return formattedMessage; }
@Test public void tesStringOneArgLocaleUs() { final String testMsg = "Test message e = %+10.4f"; final FormattedMessage msg = new FormattedMessage(Locale.US, testMsg, Math.E); final String result = msg.getFormattedMessage(); final String expected = "Test message e = +2.7183"; assertEquals(expected, result); }
/** * @since 2.6.1 */ @Override public Message newMessage(final String message, final Object p0, final Object p1) { return new FormattedMessage(message, p0, p1); }
private void writeObject(final ObjectOutputStream out) throws IOException { out.defaultWriteObject(); getFormattedMessage(); out.writeUTF(formattedMessage); out.writeUTF(messagePattern); out.writeInt(argArray.length); stringArgs = new String[argArray.length]; int i = 0; for (final Object obj : argArray) { final String string = String.valueOf(obj); stringArgs[i] = string; out.writeUTF(string); ++i; } } }
@Override public Throwable getThrowable() { if (throwable != null) { return throwable; } if (message == null) { message = getMessage(messagePattern, argArray, null); } return message.getThrowable(); }
@Test public void tesStringOneStringArg() { final String testMsg = "Test message %1s"; final FormattedMessage msg = new FormattedMessage(testMsg, "Apache"); final String result = msg.getFormattedMessage(); final String expected = "Test message Apache"; assertEquals(expected, result); }
/** * @since 2.6.1 */ @Override public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6) { return new FormattedMessage(message, p0, p1, p2, p3, p4, p5, p6); }
/** * Gets the formatted message. * @return the formatted message. */ @Override public String getFormattedMessage() { if (formattedMessage == null) { if (message == null) { message = getMessage(messagePattern, argArray, throwable); } formattedMessage = message.getFormattedMessage(); } return formattedMessage; }