0

Revert "Only use ColorMapper if jansi is present, ignore it if not"

This reverts commit 50c1303034.
This commit is contained in:
TheE
2017-07-31 16:17:07 +02:00
parent 3ab68c1e37
commit 08dc4dbaa7
2 changed files with 19 additions and 68 deletions

View File

@@ -16,13 +16,13 @@
*/
package info.ronjenkins.slf4bukkit;
import com.google.common.collect.ImmutableMap;
import java.util.Map;
import org.bukkit.ChatColor;
import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Attribute;
import java.util.Map;
import com.google.common.collect.ImmutableMap;
/**
* Utility class that maps {@link ChatColor} values to their JAnsi equivalents,
@@ -32,11 +32,8 @@ import java.util.Map;
*/
public final class ColorMapper {
private ColorMapper() {
}
// @formatter:off
private final Map<ChatColor, String> MAP = ImmutableMap.<ChatColor, String>builder()
private static final Map<ChatColor, String> MAP = ImmutableMap.<ChatColor, String>builder()
.put(ChatColor.BLACK, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLACK).boldOff().toString())
.put(ChatColor.DARK_BLUE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLUE).boldOff().toString())
.put(ChatColor.DARK_GREEN, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.GREEN).boldOff().toString())
@@ -62,47 +59,20 @@ public final class ColorMapper {
.build();
// @formatter:on
/**
* Attempts to create a new ColorMapper.
*
* @return a new ColorMapper instance
* @throws UnsupportedByBukkitImplementationException if colorMapping is not supported on the BukkitImplementation on
* which this method is called
*/
public static ColorMapper create() throws UnsupportedByBukkitImplementationException {
try {
return new ColorMapper();
} catch (Throwable e) {
throw new UnsupportedByBukkitImplementationException(e);
}
}
/**
* Translates {@link ChatColor} directives to their JAnsi equivalents.
*
* @param input null is coerced to the empty string.
* @param input
* null is coerced to the empty string.
* @return never null.
*/
public String map(final String input) {
if (input == null) {
return "";
}
public static String map(final String input) {
if (input == null) { return ""; }
String output = input;
for (final Map.Entry<ChatColor, String> mapping : MAP.entrySet()) {
for (final Map.Entry<ChatColor, String> mapping : ColorMapper.MAP.entrySet()) {
output = output.replace(mapping.getKey().toString(), mapping.getValue());
}
return output;
}
/**
* Thrown when an operation is not supported by the Bukkit implementation the operation runs on.
*/
public static class UnsupportedByBukkitImplementationException extends Exception {
private UnsupportedByBukkitImplementationException(Throwable e) {
super(e);
}
}
}

View File

@@ -44,11 +44,17 @@
*/
package org.slf4j.impl;
import com.google.common.collect.ImmutableMap;
import info.ronjenkins.slf4bukkit.ColorMapper;
import info.ronjenkins.slf4bukkit.ColorMarker;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -61,13 +67,7 @@ import org.slf4j.helpers.FormattingTuple;
import org.slf4j.helpers.MessageFormatter;
import org.yaml.snakeyaml.Yaml;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.common.collect.ImmutableMap;
/**
* <p>
@@ -219,22 +219,11 @@ public final class BukkitLoggerAdapter implements Logger {
private final String name;
// The short name of this simple log instance
private transient String shortLogName = null;
private final ThreadLocal<ColorMapper> mapper;
// NOTE: BukkitPluginLoggerAdapter constructor should have only package access
// so that only BukkitPluginLoggerFactory be able to create one.
BukkitLoggerAdapter(final String name) {
this.name = name;
this.mapper = new ThreadLocal<ColorMapper>() {
@Override
protected ColorMapper initialValue() {
try {
return ColorMapper.create();
} catch (ColorMapper.UnsupportedByBukkitImplementationException ignore) {
return null;
}
}
};
}
/**
@@ -363,7 +352,7 @@ public final class BukkitLoggerAdapter implements Logger {
*
* @param property
* the config property where the map exists.
* @param defaultValues
* @param defaultValue
* the fallback values returned by this method.
* @return never null, always contains one mapping for each {@link Level}, and
* contains no null keys/values. Equal to {@code defaultValue} if the
@@ -1054,14 +1043,6 @@ public final class BukkitLoggerAdapter implements Logger {
// Log the message.
logger.log(BukkitLoggerAdapter.slf4jLevelIntToBukkitJULLevel(level),
mapColors(buf.toString()));
}
private String mapColors(String input) {
ColorMapper colorMapper = mapper.get();
if (colorMapper != null) {
return colorMapper.map(input);
}
return input;
ColorMapper.map(buf.toString()));
}
}