This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push:
new 35a2e04 Fix SpotBugs warnings
35a2e04 is described below
commit 35a2e044d5988466b21b664610ce57b502833cd2
Author: Mark Thomas <[email protected]>
AuthorDate: Thu Feb 25 15:57:30 2021 +0000
Fix SpotBugs warnings
---
java/org/apache/catalina/startup/HostConfig.java | 8 +++++---
res/findbugs/filter-false-positives.xml | 6 ++++++
.../catalina/nonblocking/TestNonBlockingAPI.java | 18 +++++++++---------
3 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/java/org/apache/catalina/startup/HostConfig.java
b/java/org/apache/catalina/startup/HostConfig.java
index 6f332b2..b34ea58 100644
--- a/java/org/apache/catalina/startup/HostConfig.java
+++ b/java/org/apache/catalina/startup/HostConfig.java
@@ -1237,6 +1237,7 @@ public class HostConfig implements LifecycleListener {
ExecutorService es = host.getStartStopExecutor();
List<Future<?>> results = new ArrayList<>();
+ // Should not be null as we test above if this is a directory
String[] migrationCandidates = legacyAppBase.list();
for (String migrationCandidate : migrationCandidates) {
File source = new File(legacyAppBase, migrationCandidate);
@@ -1282,7 +1283,8 @@ public class HostConfig implements LifecycleListener {
tempNew = File.createTempFile("new", null,
host.getLegacyAppBaseFile());
tempOld = File.createTempFile("old", null,
host.getLegacyAppBaseFile());
// createTempFile is not directly compatible with directories, so
cleanup
- tempNew.delete();
+ Files.delete(tempNew.toPath());
+ Files.delete(tempOld.toPath());
// The use of defaults is deliberate here to avoid having to
// recreate every configuration option on the host. Better to
change
@@ -1295,8 +1297,8 @@ public class HostConfig implements LifecycleListener {
migration.execute();
// Use rename
- destination.renameTo(tempOld);
- tempNew.renameTo(destination);
+ Files.move(destination.toPath(), tempOld.toPath());
+ Files.move(tempNew.toPath(), destination.toPath());
ExpandWar.delete(tempOld);
} catch (Throwable t) {
diff --git a/res/findbugs/filter-false-positives.xml
b/res/findbugs/filter-false-positives.xml
index e47e128..69cfd78 100644
--- a/res/findbugs/filter-false-positives.xml
+++ b/res/findbugs/filter-false-positives.xml
@@ -532,6 +532,12 @@
<Bug code="NP" />
</Match>
<Match>
+ <!-- legacyAppBase is tested a few lines earlier -->
+ <Class name="org.apache.catalina.startup.HostConfig" />
+ <Method name="migrateLegacyApps" />
+ <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" />
+ </Match>
+ <Match>
<!-- Domain resolution not an issue here -->
<Class name="org.apache.catalina.startup.WebappServiceLoader" />
<Method name="load" />
diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index 0ca028b..97c6a22 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -1376,9 +1376,9 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
private static final long serialVersionUID = 1L;
- private final CountDownLatch responseCommitLatch;
- private final CountDownLatch clientCloseLatch;
- private final CountDownLatch asyncCompleteLatch;
+ private final transient CountDownLatch responseCommitLatch;
+ private final transient CountDownLatch clientCloseLatch;
+ private final transient CountDownLatch asyncCompleteLatch;
private final boolean swallowIoException;
public NBWriteServlet02(CountDownLatch responseCommitLatch,
CountDownLatch clientCloseLatch,
@@ -1441,7 +1441,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
private final CountDownLatch responseCommitLatch;
private final CountDownLatch clientCloseLatch;
private final boolean swallowIoException;
- private volatile int stage = 0;
+ private volatile AtomicInteger stage = new AtomicInteger(0);
public TestWriteListener02(AsyncContext ac, CountDownLatch
responseCommitLatch,
CountDownLatch clientCloseLatch, boolean swallowIoException) {
@@ -1456,12 +1456,12 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
try {
ServletOutputStream sos = ac.getResponse().getOutputStream();
do {
- if (stage == 0) {
+ if (stage.get() == 0) {
// Commit the response
ac.getResponse().flushBuffer();
responseCommitLatch.countDown();
- stage++;
- } else if (stage == 1) {
+ stage.incrementAndGet();
+ } else if (stage.get() == 1) {
// Wait for the client to drop the connection
try {
clientCloseLatch.await();
@@ -1469,8 +1469,8 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
// Ignore
}
sos.print("TEST");
- stage++;
- } else if (stage == 2) {
+ stage.incrementAndGet();
+ } else if (stage.get() == 2) {
sos.flush();
}
} while (sos.isReady());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]