提交 8b893a1c 编写于 作者: S StefanSpieker 提交者: Oleg Nenashev

[JENKINS-36720]: Fixed some Spotbugs issues (#4180)

* [JENKINS-36720]: Fixed Spotbugs issues WMI_WRONG_MAP_ITERATOR and OS_OPEN_STREAM in core

* merged try with resources with try finally

* reverted auto format from IDE

* reverted auto format from IDE

* use Util.fileToPath() as suggested to remove catch block

* merged try statements

* merged try statements

* reverted some whitespace fixes

* reverted another whitespace fix

* Apply suggestions from code review
Co-Authored-By: NOleg Nenashev <o.v.nenashev@gmail.com>

* reverted change

* reverted change

* reverted change
Co-authored-by: NOleg Nenashev <o.v.nenashev@gmail.com>
上级 45d7cf16
......@@ -1669,7 +1669,10 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
JSONArray dependencies = new JSONArray();
try {
Manifest m = new JarFile(t).getManifest();
Manifest m;
try (JarFile jarFile = new JarFile(t)) {
m = jarFile.getManifest();
}
String deps = m.getMainAttributes().getValue("Plugin-Dependencies");
if (StringUtils.isNotBlank(deps)) {
......
......@@ -64,11 +64,12 @@ public class SlowTriggerAdminMonitor extends AdministrativeMonitor {
if (errors.size() >= MAX_ENTRIES && !errors.containsKey(trigger)) {
String oldest_trigger = null;
LocalDateTime oldest_time = null;
for (String local_trigger : errors.keySet()) {
for (Map.Entry<String, Value> entry : errors.entrySet()) {
String local_trigger = entry.getKey();
if (oldest_trigger == null
|| errors.get(local_trigger).getTimeLDT().compareTo(oldest_time) < 0) {
|| entry.getValue().getTimeLDT().compareTo(oldest_time) < 0) {
oldest_trigger = local_trigger;
oldest_time = errors.get(local_trigger).getTimeLDT();
oldest_time = entry.getValue().getTimeLDT();
}
}
errors.remove(oldest_trigger);
......
package hudson.util;
import hudson.Functions;
import hudson.Util;
import hudson.model.TaskListener;
import java.io.InputStream;
......@@ -15,7 +16,6 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.nio.file.LinkOption;
import java.security.GeneralSecurityException;
import java.security.InvalidKeyException;
import java.util.Base64;
......@@ -84,37 +84,33 @@ public class SecretRewriter {
AtomicFileWriter w = new AtomicFileWriter(f, "UTF-8");
try {
boolean modified = false; // did we actually change anything?
try (PrintWriter out = new PrintWriter(new BufferedWriter(w))) {
try (InputStream fin = Files.newInputStream(f.toPath())) {
BufferedReader r = new BufferedReader(new InputStreamReader(fin, StandardCharsets.UTF_8));
String line;
StringBuilder buf = new StringBuilder();
while ((line = r.readLine()) != null) {
int copied = 0;
buf.setLength(0);
while (true) {
int sidx = line.indexOf('>', copied);
if (sidx < 0) break;
int eidx = line.indexOf('<', sidx);
if (eidx < 0) break;
String elementText = line.substring(sidx + 1, eidx);
String replacement = tryRewrite(elementText);
if (!replacement.equals(elementText))
modified = true;
buf.append(line, copied, sidx + 1);
buf.append(replacement);
copied = eidx;
}
buf.append(line.substring(copied));
out.println(buf.toString());
try (PrintWriter out = new PrintWriter(new BufferedWriter(w));
InputStream fin = Files.newInputStream(Util.fileToPath(f));
BufferedReader r = new BufferedReader(new InputStreamReader(fin, StandardCharsets.UTF_8))) {
String line;
StringBuilder buf = new StringBuilder();
while ((line = r.readLine()) != null) {
int copied = 0;
buf.setLength(0);
while (true) {
int sidx = line.indexOf('>', copied);
if (sidx < 0) break;
int eidx = line.indexOf('<', sidx);
if (eidx < 0) break;
String elementText = line.substring(sidx + 1, eidx);
String replacement = tryRewrite(elementText);
if (!replacement.equals(elementText))
modified = true;
buf.append(line, copied, sidx + 1);
buf.append(replacement);
copied = eidx;
}
} catch (InvalidPathException e) {
throw new IOException(e);
buf.append(line.substring(copied));
out.println(buf.toString());
}
}
......
......@@ -113,12 +113,13 @@ public class TextFile {
*/
public void write(String text) throws IOException {
file.getParentFile().mkdirs();
AtomicFileWriter w = new AtomicFileWriter(file);
try {
w.write(text);
w.commit();
} finally {
w.abort();
try (AtomicFileWriter w = new AtomicFileWriter(file)) {
try {
w.write(text);
w.commit();
} finally {
w.abort();
}
}
}
......
......@@ -201,8 +201,7 @@ class DefaultRuntimeSpringConfiguration implements RuntimeSpringConfiguration {
applicationContext.registerBeanDefinition(bc.getName(),
bc.getBeanDefinition());
}
for (String key : beanDefinitions.keySet()) {
BeanDefinition bd = beanDefinitions.get(key);
beanDefinitions.forEach((key, bd) -> {
if (LOGGER.isLoggable(Level.FINER)) {
LOGGER.finer("[RuntimeConfiguration] Registering bean [" + key + "]");
if (LOGGER.isLoggable(Level.FINEST)) {
......@@ -217,7 +216,7 @@ class DefaultRuntimeSpringConfiguration implements RuntimeSpringConfiguration {
applicationContext.registerBeanDefinition(key, bd);
}
});
}
/**
......
......@@ -179,8 +179,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
cache.put(getId(), b == null ? RESOLVES_TO_NONE : b.getNumber());
File storage = storageFor(buildDir);
LOGGER.fine(() -> "saving to " + storage + ": " + cache);
try {
AtomicFileWriter cw = new AtomicFileWriter(storage);
try (AtomicFileWriter cw = new AtomicFileWriter(storage)) {
try {
for (Map.Entry<String, Integer> entry : cache.entrySet()) {
cw.write(entry.getKey());
......
......@@ -117,8 +117,7 @@ public final class RunIdMigrator {
private void save(File dir) {
File f = new File(dir, MAP_FILE);
try {
AtomicFileWriter w = new AtomicFileWriter(f);
try (AtomicFileWriter w = new AtomicFileWriter(f)) {
try {
for (Map.Entry<String,Integer> entry : idToNumber.entrySet()) {
w.write(entry.getKey() + ' ' + entry.getValue() + '\n');
......
......@@ -142,7 +142,7 @@ public class RekeySecretAdminMonitor extends AsynchronousAdministrativeMonitor {
PrintStream log = listener.getLogger();
log.println("Started re-keying " + new Date());
int count = rewriter.rewriteRecursive(Jenkins.get().getRootDir(), listener);
log.printf("Completed re-keying %d files on %s\n",count,new Date());
log.printf("Completed re-keying %d files on %s%n",count,new Date());
new RekeySecretAdminMonitor().done.on();
LOGGER.info("Secret re-keying completed");
} catch (Exception e) {
......
......@@ -42,8 +42,7 @@ abstract class ConfigDirectory<T,COL extends Collection<T>> extends ConfigFile<T
for (String fragment : fragments) {
File f = new File(dir, fragment);
try {
BufferedReader reader = new BufferedReader(new FileReader(f));
try (BufferedReader reader = new BufferedReader(new FileReader(f))) {
String line;
while ((line=reader.readLine())!=null) {
if (line.startsWith("#")) continue; // comment
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册