You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/11/27 03:27:25 UTC
[commons-vfs] 06/08: Fix PMD and unlikely but possible NPE and throw appropriate exception instead.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
commit 5e737636e5b2e0735ac5b61078a47fdb86758a5e
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Nov 26 22:12:55 2021 -0500
Fix PMD and unlikely but possible NPE and throw appropriate exception
instead.
Fix PMD: Don't use octal literals.
---
.../vfs2/provider/AbstractRandomAccessContent.java | 4 +++-
.../vfs2/provider/ram/RamFileRandomAccessContent.java | 3 +++
.../commons/vfs2/provider/tar/TarFileSystem.java | 13 ++++++++++---
.../apache/commons/vfs2/util/PosixPermissions.java | 19 ++++++++++---------
4 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractRandomAccessContent.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractRandomAccessContent.java
index 0cc1208..26fa7f5 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractRandomAccessContent.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractRandomAccessContent.java
@@ -17,6 +17,7 @@
package org.apache.commons.vfs2.provider;
import java.io.IOException;
+import java.util.Objects;
import org.apache.commons.vfs2.RandomAccessContent;
import org.apache.commons.vfs2.util.RandomAccessMode;
@@ -29,6 +30,7 @@ import org.apache.commons.vfs2.util.RandomAccessMode;
public abstract class AbstractRandomAccessContent implements RandomAccessContent {
protected AbstractRandomAccessContent(final RandomAccessMode mode) {
+ Objects.requireNonNull(mode, "mode");
}
/**
@@ -40,7 +42,7 @@ public abstract class AbstractRandomAccessContent implements RandomAccessContent
@Override
@Deprecated
public String readLine() throws IOException {
- throw new UnsupportedOperationException("deprecated");
+ throw new UnsupportedOperationException("Deprecated");
}
@Override
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ram/RamFileRandomAccessContent.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ram/RamFileRandomAccessContent.java
index e2e24b2..927585b 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ram/RamFileRandomAccessContent.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ram/RamFileRandomAccessContent.java
@@ -23,6 +23,7 @@ import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
+import java.util.Objects;
import org.apache.commons.vfs2.RandomAccessContent;
import org.apache.commons.vfs2.util.RandomAccessMode;
@@ -76,6 +77,8 @@ public class RamFileRandomAccessContent implements RandomAccessContent {
* @param mode The access mode.
*/
public RamFileRandomAccessContent(final RamFileObject file, final RandomAccessMode mode) {
+ Objects.requireNonNull(file, "file");
+ Objects.requireNonNull(mode, "mode");
this.buf = file.getData().getContent();
this.file = file;
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileSystem.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileSystem.java
index 50f7c00..96fe00a 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileSystem.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileSystem.java
@@ -23,14 +23,17 @@ import java.nio.file.Files;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import java.util.Objects;
import java.util.zip.GZIPInputStream;
+import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.vfs2.Capability;
import org.apache.commons.vfs2.FileName;
+import org.apache.commons.vfs2.FileNotFoundException;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemOptions;
@@ -133,11 +136,16 @@ public class TarFileSystem extends AbstractFileSystem {
}
public InputStream getInputStream(final TarArchiveEntry entry) throws FileSystemException {
+ Objects.requireNonNull(entry, "entry");
resetTarFile();
try {
- while (!tarFile.getNextEntry().equals(entry)) {
+ ArchiveEntry next;
+ while ((next = tarFile.getNextEntry()) != null) {
+ if (next.equals(entry)) {
+ return tarFile;
+ }
}
- return tarFile;
+ throw new FileNotFoundException(entry.toString());
} catch (final IOException e) {
throw new FileSystemException(e);
}
@@ -147,7 +155,6 @@ public class TarFileSystem extends AbstractFileSystem {
if (tarFile == null && this.file.exists()) {
recreateTarFile();
}
-
return tarFile;
}
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/PosixPermissions.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/PosixPermissions.java
index ac9fa9d..67cf313 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/PosixPermissions.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/PosixPermissions.java
@@ -31,50 +31,51 @@ public class PosixPermissions {
* Permission types.
*/
public enum Type {
+
/**
* User right readable.
*/
- UserReadable(00400),
+ UserReadable(0x100),
/**
* User right writable.
*/
- UserWritable(00200),
+ UserWritable(0x080),
/**
* User right executable.
*/
- UserExecutable(00100),
+ UserExecutable(0x040),
/**
* Group right readable.
*/
- GroupReadable(00040),
+ GroupReadable(0x020),
/**
* Group right writable.
*/
- GroupWritable(00020),
+ GroupWritable(0x010),
/**
* Group right executable.
*/
- GroupExecutable(00010),
+ GroupExecutable(0x008),
/**
* Other right readable.
*/
- OtherReadable(00004),
+ OtherReadable(0x004),
/**
* Other right writable.
*/
- OtherWritable(00002),
+ OtherWritable(0x002),
/**
* Other right executable.
*/
- OtherExecutable(00001);
+ OtherExecutable(0x001);
private final int mask;