Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

squid:S1213 - The members of an interface declaration or class should… #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/main/java/org/slf4j/impl/StaticLoggerBinder.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@

public final class StaticLoggerBinder implements LoggerFactoryBinder {

public static final String REQUESTED_API_VERSION = "1.6";

private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder();

private StaticLoggerBinder() { }

public static StaticLoggerBinder getSingleton() {
return SINGLETON;
}

public static final String REQUESTED_API_VERSION = "1.6";

private StaticLoggerBinder() { }

public ILoggerFactory getLoggerFactory() {
return TestLoggerFactory.getInstance();
}
Expand Down
210 changes: 105 additions & 105 deletions src/main/java/uk/org/lidalia/slf4jtest/LoggingEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,111 @@
@SuppressWarnings({ "PMD.ExcessivePublicCount", "PMD.TooManyMethods" })
public class LoggingEvent extends RichObject {

private static final Function<Object, Object> TO_NON_NULL_VALUE = new Function<Object, Object>() {
@Override
public Object apply(final Object input) {
return fromNullable(input).or((Object) absent());
}
};

@Identity private final Level level;
@Identity private final ImmutableMap<String, String> mdc;
@Identity private final Optional<Marker> marker;
@Identity private final Optional<Throwable> throwable;
@Identity private final String message;
@Identity private final ImmutableList<Object> arguments;

private final Optional<TestLogger> creatingLogger;
private final Instant timestamp = new Instant();
private final String threadName = Thread.currentThread().getName();

private static final Function<TestLogger, String> toLoggerNameString = new Function<TestLogger, String>() {
@Override
public String apply(final TestLogger logger) {
return " " + logger.getName();
}
};

public LoggingEvent(final Level level, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), Optional.<Marker>absent(), Optional.<Throwable>absent(),
message, arguments);
}

public LoggingEvent(final Level level, final Throwable throwable, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), Optional.<Marker>absent(), fromNullable(throwable),
message, arguments);
}

public LoggingEvent(final Level level, final Marker marker, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), fromNullable(marker), Optional.<Throwable>absent(),
message, arguments);
}

public LoggingEvent(
final Level level, final Marker marker, final Throwable throwable, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), fromNullable(marker), fromNullable(throwable), message, arguments);
}

public LoggingEvent(final Level level, final Map<String, String> mdc, final String message, final Object... arguments) {
this(level, mdc, Optional.<Marker>absent(), Optional.<Throwable>absent(), message, arguments);
}

public LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Throwable throwable,
final String message,
final Object... arguments) {
this(level, mdc, Optional.<Marker>absent(), fromNullable(throwable), message, arguments);
}

public LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Marker marker,
final String message,
final Object... arguments) {
this(level, mdc, fromNullable(marker), Optional.<Throwable>absent(), message, arguments);
}

public LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Marker marker,
final Throwable throwable,
final String message,
final Object... arguments) {
this(level, mdc, fromNullable(marker), fromNullable(throwable), message, arguments);
}

private LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Optional<Marker> marker,
final Optional<Throwable> throwable,
final String message,
final Object... arguments) {
this(Optional.<TestLogger>absent(), level, mdc, marker, throwable, message, arguments);
}

LoggingEvent(
final Optional<TestLogger> creatingLogger,
final Level level,
final Map<String, String> mdc,
final Optional<Marker> marker,
final Optional<Throwable> throwable,
final String message,
final Object... arguments) {
super();
this.creatingLogger = creatingLogger;
this.level = checkNotNull(level);
this.mdc = ImmutableMap.copyOf(mdc);
this.marker = checkNotNull(marker);
this.throwable = checkNotNull(throwable);
this.message = checkNotNull(message);
this.arguments = from(asList(arguments)).transform(TO_NON_NULL_VALUE).toList();
}

public static LoggingEvent trace(final String message, final Object... arguments) {
return new LoggingEvent(Level.TRACE, message, arguments);
}
Expand Down Expand Up @@ -248,104 +353,6 @@ public static LoggingEvent error(
return new LoggingEvent(Level.ERROR, mdc, marker, throwable, message, arguments);
}

public LoggingEvent(final Level level, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), Optional.<Marker>absent(), Optional.<Throwable>absent(),
message, arguments);
}

public LoggingEvent(final Level level, final Throwable throwable, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), Optional.<Marker>absent(), fromNullable(throwable),
message, arguments);
}

public LoggingEvent(final Level level, final Marker marker, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), fromNullable(marker), Optional.<Throwable>absent(),
message, arguments);
}

public LoggingEvent(
final Level level, final Marker marker, final Throwable throwable, final String message, final Object... arguments) {
this(level, Collections.<String, String>emptyMap(), fromNullable(marker), fromNullable(throwable), message, arguments);
}

public LoggingEvent(final Level level, final Map<String, String> mdc, final String message, final Object... arguments) {
this(level, mdc, Optional.<Marker>absent(), Optional.<Throwable>absent(), message, arguments);
}

public LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Throwable throwable,
final String message,
final Object... arguments) {
this(level, mdc, Optional.<Marker>absent(), fromNullable(throwable), message, arguments);
}

public LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Marker marker,
final String message,
final Object... arguments) {
this(level, mdc, fromNullable(marker), Optional.<Throwable>absent(), message, arguments);
}

public LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Marker marker,
final Throwable throwable,
final String message,
final Object... arguments) {
this(level, mdc, fromNullable(marker), fromNullable(throwable), message, arguments);
}

private LoggingEvent(
final Level level,
final Map<String, String> mdc,
final Optional<Marker> marker,
final Optional<Throwable> throwable,
final String message,
final Object... arguments) {
this(Optional.<TestLogger>absent(), level, mdc, marker, throwable, message, arguments);
}

LoggingEvent(
final Optional<TestLogger> creatingLogger,
final Level level,
final Map<String, String> mdc,
final Optional<Marker> marker,
final Optional<Throwable> throwable,
final String message,
final Object... arguments) {
super();
this.creatingLogger = creatingLogger;
this.level = checkNotNull(level);
this.mdc = ImmutableMap.copyOf(mdc);
this.marker = checkNotNull(marker);
this.throwable = checkNotNull(throwable);
this.message = checkNotNull(message);
this.arguments = from(asList(arguments)).transform(TO_NON_NULL_VALUE).toList();
}

private static final Function<Object, Object> TO_NON_NULL_VALUE = new Function<Object, Object>() {
@Override
public Object apply(final Object input) {
return fromNullable(input).or((Object) absent());
}
};

@Identity private final Level level;
@Identity private final ImmutableMap<String, String> mdc;
@Identity private final Optional<Marker> marker;
@Identity private final Optional<Throwable> throwable;
@Identity private final String message;
@Identity private final ImmutableList<Object> arguments;

private final Optional<TestLogger> creatingLogger;
private final Instant timestamp = new Instant();
private final String threadName = Thread.currentThread().getName();

public Level getLevel() {
return level;
}
Expand Down Expand Up @@ -416,13 +423,6 @@ private String safeLoggerName() {
return creatingLogger.transform(toLoggerNameString).or("");
}

private static final Function<TestLogger, String> toLoggerNameString = new Function<TestLogger, String>() {
@Override
public String apply(final TestLogger logger) {
return " " + logger.getName();
}
};

private String getFormattedMessage() {
return MessageFormatter.arrayFormat(getMessage(), getArguments().toArray()).getMessage();
}
Expand Down
22 changes: 11 additions & 11 deletions src/main/java/uk/org/lidalia/slf4jtest/OverridableProperties.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,6 @@ class OverridableProperties {
private final String propertySourceName;
private final Properties properties;

OverridableProperties(final String propertySourceName) throws IOException {
this.propertySourceName = propertySourceName;
this.properties = getProperties();
}

private Properties getProperties() throws IOException {
final Optional<InputStream> resourceAsStream = fromNullable(Thread.currentThread().getContextClassLoader()
.getResourceAsStream(propertySourceName + ".properties"));
return resourceAsStream.transform(loadProperties).or(EMPTY_PROPERTIES);
}

private static final Function<InputStream, Properties> loadProperties = new Function<InputStream, Properties>() {
@Override
public Properties apply(final InputStream propertyResource) {
Expand All @@ -39,6 +28,17 @@ public Properties apply(final InputStream propertyResource) {
}
};

OverridableProperties(final String propertySourceName) throws IOException {
this.propertySourceName = propertySourceName;
this.properties = getProperties();
}

private Properties getProperties() throws IOException {
final Optional<InputStream> resourceAsStream = fromNullable(Thread.currentThread().getContextClassLoader()
.getResourceAsStream(propertySourceName + ".properties"));
return resourceAsStream.transform(loadProperties).or(EMPTY_PROPERTIES);
}

String getProperty(final String propertyKey, final String defaultValue) {
final String propertyFileProperty = properties.getProperty(propertyKey, defaultValue);
return System.getProperty(propertySourceName + "." + propertyKey, propertyFileProperty);
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/uk/org/lidalia/slf4jtest/Suppliers.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

final class Suppliers {

private Suppliers() {
throw new UnsupportedOperationException("Not instantiable");
}

static <T> Supplier<List<T>> makeEmptyMutableList() {
return new Supplier<List<T>>() {
@Override
Expand All @@ -27,7 +31,4 @@ public Map<K, V> get() {
};
}

private Suppliers() {
throw new UnsupportedOperationException("Not instantiable");
}
}
29 changes: 14 additions & 15 deletions src/main/java/uk/org/lidalia/slf4jtest/TestLoggerFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,22 @@
import static com.google.common.base.Preconditions.checkNotNull;

public final class TestLoggerFactory implements ILoggerFactory {

private static final LazyValue<TestLoggerFactory> INSTANCE = new LazyValue<>(new TestLoggerFactoryMaker());

private final ConcurrentMap<String, TestLogger> loggers = new ConcurrentHashMap<>();
private final List<LoggingEvent> allLoggingEvents = new CopyOnWriteArrayList<>();
private final ThreadLocal<List<LoggingEvent>> loggingEvents =
new ThreadLocal<>(Suppliers.<LoggingEvent>makeEmptyMutableList());
private volatile Level printLevel;

public TestLoggerFactory() {
this(Level.OFF);
}

public TestLoggerFactory(final Level printLevel) {
this.printLevel = checkNotNull(printLevel);
}

public static TestLoggerFactory getInstance() {
return INSTANCE.call();
}
Expand Down Expand Up @@ -60,20 +73,6 @@ public static List<LoggingEvent> getAllLoggingEvents() {
return getInstance().getAllLoggingEventsFromLoggers();
}

private final ConcurrentMap<String, TestLogger> loggers = new ConcurrentHashMap<>();
private final List<LoggingEvent> allLoggingEvents = new CopyOnWriteArrayList<>();
private final ThreadLocal<List<LoggingEvent>> loggingEvents =
new ThreadLocal<>(Suppliers.<LoggingEvent>makeEmptyMutableList());
private volatile Level printLevel;

public TestLoggerFactory() {
this(Level.OFF);
}

public TestLoggerFactory(final Level printLevel) {
this.printLevel = checkNotNull(printLevel);
}

public Level getPrintLevel() {
return printLevel;
}
Expand Down