CPD Results
The following document contains the results of PMD's CPD 4.3.
Duplications
File | Line |
---|
org/apache/logging/log4j/core/config/JSONConfiguration.java | 84 |
org/apache/logging/log4j/core/config/XMLConfiguration.java | 104 |
for (Map.Entry<String, String> entry : rootNode.getAttributes().entrySet()) {
if ("status".equalsIgnoreCase(entry.getKey())) {
status = Level.toLevel(getSubst().replace(entry.getValue()), null);
if (status == null) {
status = Level.ERROR;
messages.add("Invalid status specified: " + entry.getValue() + ". Defaulting to ERROR");
}
} else if ("dest".equalsIgnoreCase(entry.getKey())) {
String dest = entry.getValue();
if (dest != null) {
if (dest.equalsIgnoreCase("err")) {
stream = System.err;
} else {
try {
File destFile = FileUtils.fileFromURI(new URI(dest));
stream = new PrintStream(new FileOutputStream(destFile));
} catch (URISyntaxException use) {
System.err.println("Unable to write to " + dest + ". Writing to stdout");
}
}
}
} else if ("verbose".equalsIgnoreCase(entry.getKey())) {
verbose = Boolean.parseBoolean(getSubst().replace(entry.getValue()));
} else if ("packages".equalsIgnoreCase(entry.getKey())) { |
File | Line |
---|
org/apache/logging/log4j/core/filter/MapFilter.java | 123 |
org/apache/logging/log4j/core/filter/StructuredDataFilter.java | 107 |
org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java | 116 |
LOGGER.error("keys and values must be specified for the MapFilter");
return null;
}
Map<String, List<String>> map = new HashMap<String, List<String>>();
for (KeyValuePair pair : pairs) {
String key = pair.getKey();
if (key == null) {
LOGGER.error("A null key is not valid in MapFilter");
continue;
}
String value = pair.getValue();
if (value == null) {
LOGGER.error("A null value for key " + key + " is not allowed in MapFilter");
continue;
}
List<String> list = map.get(pair.getKey());
if (list != null) {
list.add(value);
} else {
list = new ArrayList<String>();
list.add(value);
map.put(pair.getKey(), list);
}
}
if (map.size() == 0) {
LOGGER.error("MapFilter is not configured with any valid key value pairs"); |
File | Line |
---|
org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java | 73 |
org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java | 74 |
public static ExtendedThrowablePatternConverter newInstance(final String[] options) {
String type = null;
String[] array = options;
if (options != null && options.length == 1 && options[0].length() > 0) {
String[] opts = options[0].split(",", 2);
String first = opts[0].trim();
String filter;
Scanner scanner = new Scanner(first);
if (first.equalsIgnoreCase(FULL) || first.equalsIgnoreCase(SHORT) || scanner.hasNextInt()) {
type = first;
filter = opts[1].trim();
} else {
filter = options[0].trim();
}
array = new String[] {type, filter};
}
return new ExtendedThrowablePatternConverter(array); |
File | Line |
---|
org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java | 49 |
org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java | 50 |
super("ExtendedThrowable", "throwable", options);
List<String> tempPackages = null;
if (options != null && options.length > 1) {
if (options[1].startsWith(FILTERS) && options[1].endsWith(")")) {
String filterStr = options[1].substring(FILTERS.length(), options[1].length() - 1);
String[] array = filterStr.split(",");
if (array.length > 0) {
tempPackages = new ArrayList<String>(array.length);
for (String token : array) {
tempPackages.add(token.trim());
}
}
}
}
packages = tempPackages;
}
/**
* Gets an instance of the class.
*
* @param options pattern options, may be null. If first element is "short",
* only the first line of the throwable will be formatted.
* @return instance of class.
*/
public static ExtendedThrowablePatternConverter newInstance(final String[] options) { |
File | Line |
---|
org/apache/logging/log4j/core/layout/HTMLLayout.java | 192 |
org/apache/logging/log4j/core/layout/XMLLayout.java | 217 |
private void appendThrowableAsHTML(Throwable throwable, StringBuilder sbuf) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
try {
throwable.printStackTrace(pw);
} catch (RuntimeException ex) {
// Ignore the exception.
}
pw.flush();
LineNumberReader reader = new LineNumberReader(new StringReader(sw.toString()));
ArrayList<String> lines = new ArrayList<String>();
try {
String line = reader.readLine();
while (line != null) {
lines.add(line);
line = reader.readLine();
}
} catch (IOException ex) {
if (ex instanceof InterruptedIOException) {
Thread.currentThread().interrupt();
}
lines.add(ex.toString());
} |
File | Line |
---|
org/apache/logging/log4j/core/appender/rolling/helper/GZCompressAction.java | 57 |
org/apache/logging/log4j/core/appender/rolling/helper/ZipCompressAction.java | 58 |
public GZCompressAction(final File source, final File destination, final boolean deleteSource) {
if (source == null) {
throw new NullPointerException("source");
}
if (destination == null) {
throw new NullPointerException("destination");
}
this.source = source;
this.destination = destination;
this.deleteSource = deleteSource;
}
/**
* Compress.
*
* @return true if successfully compressed.
* @throws IOException on IO exception.
*/
@Override
public boolean execute() throws IOException {
return execute(source, destination, deleteSource);
}
/**
* Compress a file.
*
* @param source file to compress, may not be null.
* @param destination compressed file, may not be null.
* @param deleteSource if true, attempt to delete file on completion. Failure to delete
* does not cause an exception to be thrown or affect return value.
* @return true if source file compressed.
* @throws IOException on IO exception.
*/
public static boolean execute(final File source, final File destination, final boolean deleteSource)
throws IOException {
if (source.exists()) {
FileInputStream fis = new FileInputStream(source);
FileOutputStream fos = new FileOutputStream(destination); |
File | Line |
---|
org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java | 105 |
org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java | 106 |
String trace = t.getExtendedStackTrace(packages);
int len = toAppendTo.length();
if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) {
toAppendTo.append(" ");
}
if (lines > 0) {
StringBuilder sb = new StringBuilder();
String[] array = trace.split("\n");
for (int i = 0; i < lines; ++i) {
sb.append(array[i]).append("\n");
}
toAppendTo.append(sb.toString());
} else {
toAppendTo.append(trace);
}
}
}
} |
File | Line |
---|
org/apache/logging/log4j/core/filter/BurstFilter.java | 88 |
org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java | 57 |
org/apache/logging/log4j/core/filter/ThresholdFilter.java | 46 |
}
@Override
public Result filter(Logger logger, Level level, Marker marker, String msg, Object[] params) {
return filter(level);
}
@Override
public Result filter(Logger logger, Level level, Marker marker, Object msg, Throwable t) {
return filter(level);
}
@Override
public Result filter(Logger logger, Level level, Marker marker, Message msg, Throwable t) {
return filter(level);
}
@Override
public Result filter(LogEvent event) {
return filter(event.getLevel());
}
/**
* Decide if we're going to log <code>event</code> based on whether the
* maximum burst of log statements has been exceeded.
*
* @param level The log level.
* @return The onMatch value if the filter passes, onMismatch otherwise.
*/
private Result filter(Level level) { |
File | Line |
---|
org/apache/logging/log4j/core/config/JSONConfiguration.java | 125 |
org/apache/logging/log4j/core/config/XMLConfiguration.java | 148 |
StatusListener listener = statusIter.next();
if (listener instanceof StatusConsoleListener) {
found = true;
((StatusConsoleListener) listener).setLevel(status);
if (!verbose) {
((StatusConsoleListener) listener).setFilters(VERBOSE_CLASSES);
}
}
}
if (!found && status != Level.OFF) {
StatusConsoleListener listener = new StatusConsoleListener(status, stream);
if (!verbose) {
listener.setFilters(VERBOSE_CLASSES);
}
((StatusLogger) LOGGER).registerListener(listener);
for (String msg : messages) {
LOGGER.error(msg);
}
} |