You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ec...@apache.org on 2018/11/01 23:11:47 UTC

svn commit: r1845521 - in /commons/proper/vfs/trunk: commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/ commons-vfs2/src/main/java/org/apache/commons/vfs2/ commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/ commons-vfs2/src/main...

Author: ecki
Date: Thu Nov  1 23:11:46 2018
New Revision: 1845521

URL: http://svn.apache.org/viewvc?rev=1845521&view=rev
Log:
[VFS-678] fix various LGTM.com warnings.

Modified:
    commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
    commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
    commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
    commons/proper/vfs/trunk/src/changes/changes.xml

Modified: commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java Thu Nov  1 23:11:46 2018
@@ -23,6 +23,7 @@ import java.io.InputStreamReader;
 import java.nio.charset.Charset;
 import java.text.DateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
@@ -154,7 +155,7 @@ public final class Shell {
         }
         final FileOperationProvider[] ops = mgr.getOperationProviders(scheme);
         if (ops != null && ops.length > 0) {
-            System.out.println("  operations: " + ops);
+            System.out.println("  operations: " + Arrays.asList(ops));
         }
     }
 

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java Thu Nov  1 23:11:46 2018
@@ -127,28 +127,6 @@ public interface FileName extends Compar
     FileName getParent();
 
     /**
-     * Resolves a name, relative to this file name. Equivalent to calling
-     * {@code resolveName( path, NameScope.FILE_SYSTEM )}.
-     *
-     * @param name The name to resolve.
-     * @return A {@link FileName} object representing the resolved file name.
-     * @throws FileSystemException If the name is invalid.
-     */
-    // FileName resolveName(String name) throws FileSystemException;
-
-    /**
-     * Resolves a name, relative to this file name. Refer to {@link NameScope} for a description of how names are
-     * resolved.
-     *
-     * @param name The name to resolve.
-     * @param scope The scope to use when resolving the name.
-     * @return A {@link FileName} object representing the resolved file name.
-     * @throws FileSystemException If the name is invalid.
-     */
-    // FileName resolveName(String name, NameScope scope)
-    // throws FileSystemException;
-
-    /**
      * Converts a file name to a relative name, relative to this file name.
      *
      * @param name The name to convert to a relative path.

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java Thu Nov  1 23:11:46 2018
@@ -129,7 +129,7 @@ public class UserAuthenticationData {
         final Iterator<char[]> iterAuthenticationData = authenticationData.values().iterator();
         while (iterAuthenticationData.hasNext()) {
             final char[] data = iterAuthenticationData.next();
-            if (data == null || data.length < 0) {
+            if (data == null) {
                 continue;
             }
 

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java Thu Nov  1 23:11:46 2018
@@ -487,11 +487,11 @@ public class DefaultFileMonitor implemen
                     } else {
                         // First set of children - Break out the cigars
                         if (newChildren.length > 0) {
-                            this.children = new HashMap<>();
-                        }
-                        for (final FileObject element : newChildren) {
-                            this.children.put(element.getName(), new Object()); // null?
-                            this.fireAllCreate(element);
+                        	this.children = new HashMap<>();
+                        	for (final FileObject element : newChildren) {
+                        		this.children.put(element.getName(), new Object()); // null?
+                        		this.fireAllCreate(element);
+                        	}
                         }
                     }
                 }

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java Thu Nov  1 23:11:46 2018
@@ -37,15 +37,6 @@ public abstract class CompressedFileFile
     }
 
     /**
-     * Parses an absolute URI.
-     *
-     * @param uri The URI to parse.
-     */
-    /*
-     * public FileName parseUri(final String uri) throws FileSystemException { return ZipFileName.parseUri(uri); }
-     */
-
-    /**
      * Creates a layered file system. This method is called if the file system is not cached.
      *
      * @param scheme The URI scheme.

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java Thu Nov  1 23:11:46 2018
@@ -121,9 +121,10 @@ public class ShowFileTask extends VfsTas
      * Writes the content of the file to Ant log.
      */
     private void logContent(final FileObject file, final String prefix) throws Exception {
-        final InputStream instr = file.getContent().getInputStream();
-        try {
-            final BufferedReader reader = new BufferedReader(new InputStreamReader(instr));
+        try (
+            final InputStream instr = file.getContent().getInputStream();
+            final BufferedReader reader = new BufferedReader(new InputStreamReader(instr)); ) 
+        {
             while (true) {
                 final String line = reader.readLine();
                 if (line == null) {
@@ -131,8 +132,6 @@ public class ShowFileTask extends VfsTas
                 }
                 log(prefix + line);
             }
-        } finally {
-            instr.close();
         }
     }
 }

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java Thu Nov  1 23:11:46 2018
@@ -96,24 +96,28 @@ public class DefaultCryptor implements C
         return builder.toString();
     }
 
-    /** Decodes Hey-Bytes. */
+    /** Decodes Hex-Bytes. */
     private byte[] decode(final String str) {
-        final int length = str.length() / 2;
-        final byte[] decoded = new byte[length];
         final char[] chars = str.toCharArray();
+        final int length = chars.length / 2;
+        final byte[] decoded = new byte[length];
+        if (length * 2 != chars.length)
+        {
+        	throw new IllegalArgumentException("The given string must have even number of hex chars.");
+        }
         int index = 0;
-        for (int i = 0; i < chars.length; ++i) {
-            final int id1 = indexOf(HEX_CHARS, chars[i]);
-            if (id1 == -1) {
+        for (int i = 0; i < length; i++) {
+            final int id1 = indexOf(HEX_CHARS, chars[index++]);
+            if (id1 == INDEX_NOT_FOUND) {
                 throw new IllegalArgumentException(
-                        "Character " + chars[i] + " at position " + i + " is not a valid hexidecimal character");
+                        "Character " + chars[index-1] + " at position " + (index-1) + " is not a valid hexidecimal character");
             }
-            final int id2 = indexOf(HEX_CHARS, chars[++i]);
-            if (id2 == -1) {
+            final int id2 = indexOf(HEX_CHARS, chars[index++]);
+            if (id2 == INDEX_NOT_FOUND) {
                 throw new IllegalArgumentException(
-                        "Character " + chars[i] + " at position " + i + " is not a valid hexidecimal character");
+                        "Character " + chars[index-1] + " at position " + (index-1) + " is not a valid hexidecimal character");
             }
-            decoded[index++] = (byte) ((id1 << BITS_IN_HALF_BYTE) | id2);
+            decoded[i] = (byte) ((id1 << BITS_IN_HALF_BYTE) | id2);
         }
         return decoded;
     }

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java Thu Nov  1 23:11:46 2018
@@ -57,7 +57,7 @@ public class MonitorInputStream extends
      * @throws IOException if an error occurs.
      */
     @Override
-    public int read() throws IOException {
+    public synchronized int read() throws IOException { // lgtm [java/non-sync-override]
         if (finished.get()) {
             return EOF_CHAR;
         }
@@ -83,14 +83,14 @@ public class MonitorInputStream extends
      * @throws IOException if an error occurs.
      */
     @Override
-    public int read(final byte[] buffer, final int offset, final int length) throws IOException {
+    public int read(final byte[] buffer, final int offset, final int length) throws IOException { // lgtm [java/non-sync-override]
         if (finished.get()) {
             return EOF_CHAR;
         }
 
         final int nread = super.read(buffer, offset, length);
         if (nread != EOF_CHAR) {
-            atomicCount.addAndGet(nread);
+        	atomicCount.addAndGet(nread);
             return nread;
         }
         return EOF_CHAR;

Modified: commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java Thu Nov  1 23:11:46 2018
@@ -75,6 +75,11 @@ public abstract class AbstractProviderTe
         this.baseFolder = baseFolder;
         this.readFolder = readFolder;
         this.writeFolder = writeFolder;
+        assertNotNull("setConfig manager", manager);
+        assertNotNull("setConfig providerConfig", providerConfig);
+        assertNotNull("setConfig baseFolder", baseFolder);
+        assertNotNull("setConfig readFolder", readFolder);
+        assertNotNull("setConfig writeFolder", writeFolder);
     }
 
     /**
@@ -172,7 +177,7 @@ public abstract class AbstractProviderTe
         if (caps != null) {
             for (final Capability cap2 : caps) {
                 final Capability cap = cap2;
-                final FileSystem fs = readFolder.getFileSystem();
+                final FileSystem fs = getFileSystem();
                 if (!fs.hasCapability(cap)) {
                     // String name = fs.getClass().getName();
                     // int index = name.lastIndexOf('.');

Modified: commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java Thu Nov  1 23:11:46 2018
@@ -35,6 +35,13 @@ public class EncryptDecryptTest {
 
         final String decrypted = cryptor.decrypt(encrypted);
         assertEquals(source, decrypted);
-
+    }
+    
+    @Test(expected=IllegalArgumentException.class)
+    public void testInvalidDecrypt() throws Exception {
+    	// provider.HostFileNameParser.extractToPath(String, StringBuilder) catches `Exception`
+    	final String broken = "91458";
+        final Cryptor cryptor = CryptorFactory.getCryptor();
+        /* ignored */ cryptor.decrypt(broken);
     }
 }

Modified: commons/proper/vfs/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1845521&r1=1845520&r2=1845521&view=diff
==============================================================================
--- commons/proper/vfs/trunk/src/changes/changes.xml (original)
+++ commons/proper/vfs/trunk/src/changes/changes.xml Thu Nov  1 23:11:46 2018
@@ -50,6 +50,9 @@ The <action> type attribute can be add,u
 <!--        [Local] Need an easy way to convert from a FileObject to a File. -->
 <!--       </action> -->
 <!-- START Might need to be moved to the next version -->
+      <action issue="VFS-678" dev="ecki" type="fix">
+        Fix various LGTM.com code review warnings.
+      </action>
       <action issue="VFS-652" dev="ecki" type="fix">
         PatternFileSelector documentation to describe actual matching against getPath().
       </action>



AW: svn commit: r1845521 - in /commons/proper/vfs/trunk:commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/commons-vfs2/src/main/java/org/apache/commons/vfs2/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/commons-vfs2/src/main...

Posted by Bernd Eckenfels <ec...@zusammenkunft.net>.
Yes toString is better, forgot about this.

-- 
http://bernd.eckenfels.net

Von: Gary Gregory
Gesendet: Freitag, 2. November 2018 00:25
An: Commons Developers List
Betreff: Re: svn commit: r1845521 - in /commons/proper/vfs/trunk:commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/commons-vfs2/src/main/java/org/apache/commons/vfs2/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/commons-vfs2/src/main...

+            System.out.println("  operations: " + Arrays.asList(ops));

Shouldn't this be Arrays.toString(ops)? Why bother with the List?

Gary

On Thu, Nov 1, 2018 at 5:11 PM <ec...@apache.org> wrote:

> Author: ecki
> Date: Thu Nov  1 23:11:46 2018
> New Revision: 1845521
>
> URL: http://svn.apache.org/viewvc?rev=1845521&view=rev
> Log:
> [VFS-678] fix various LGTM.com warnings.
>
> Modified:
>
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
>     commons/proper/vfs/trunk/src/changes/changes.xml
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
> Thu Nov  1 23:11:46 2018
> @@ -23,6 +23,7 @@ import java.io.InputStreamReader;
>  import java.nio.charset.Charset;
>  import java.text.DateFormat;
>  import java.util.ArrayList;
> +import java.util.Arrays;
>  import java.util.Collection;
>  import java.util.Date;
>  import java.util.List;
> @@ -154,7 +155,7 @@ public final class Shell {
>          }
>          final FileOperationProvider[] ops =
> mgr.getOperationProviders(scheme);
>          if (ops != null && ops.length > 0) {
> -            System.out.println("  operations: " + ops);
> +            System.out.println("  operations: " + Arrays.asList(ops));
>          }
>      }
>
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
> Thu Nov  1 23:11:46 2018
> @@ -127,28 +127,6 @@ public interface FileName extends Compar
>      FileName getParent();
>
>      /**
> -     * Resolves a name, relative to this file name. Equivalent to calling
> -     * {@code resolveName( path, NameScope.FILE_SYSTEM )}.
> -     *
> -     * @param name The name to resolve.
> -     * @return A {@link FileName} object representing the resolved file
> name.
> -     * @throws FileSystemException If the name is invalid.
> -     */
> -    // FileName resolveName(String name) throws FileSystemException;
> -
> -    /**
> -     * Resolves a name, relative to this file name. Refer to {@link
> NameScope} for a description of how names are
> -     * resolved.
> -     *
> -     * @param name The name to resolve.
> -     * @param scope The scope to use when resolving the name.
> -     * @return A {@link FileName} object representing the resolved file
> name.
> -     * @throws FileSystemException If the name is invalid.
> -     */
> -    // FileName resolveName(String name, NameScope scope)
> -    // throws FileSystemException;
> -
> -    /**
>       * Converts a file name to a relative name, relative to this file
> name.
>       *
>       * @param name The name to convert to a relative path.
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
> Thu Nov  1 23:11:46 2018
> @@ -129,7 +129,7 @@ public class UserAuthenticationData {
>          final Iterator<char[]> iterAuthenticationData =
> authenticationData.values().iterator();
>          while (iterAuthenticationData.hasNext()) {
>              final char[] data = iterAuthenticationData.next();
> -            if (data == null || data.length < 0) {
> +            if (data == null) {
>                  continue;
>              }
>
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
> Thu Nov  1 23:11:46 2018
> @@ -487,11 +487,11 @@ public class DefaultFileMonitor implemen
>                      } else {
>                          // First set of children - Break out the cigars
>                          if (newChildren.length > 0) {
> -                            this.children = new HashMap<>();
> -                        }
> -                        for (final FileObject element : newChildren) {
> -                            this.children.put(element.getName(), new
> Object()); // null?
> -                            this.fireAllCreate(element);
> +                               this.children = new HashMap<>();
> +                               for (final FileObject element :
> newChildren) {
> +
>  this.children.put(element.getName(), new Object()); // null?
> +                                       this.fireAllCreate(element);
> +                               }
>                          }
>                      }
>                  }
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
> Thu Nov  1 23:11:46 2018
> @@ -37,15 +37,6 @@ public abstract class CompressedFileFile
>      }
>
>      /**
> -     * Parses an absolute URI.
> -     *
> -     * @param uri The URI to parse.
> -     */
> -    /*
> -     * public FileName parseUri(final String uri) throws
> FileSystemException { return ZipFileName.parseUri(uri); }
> -     */
> -
> -    /**
>       * Creates a layered file system. This method is called if the file
> system is not cached.
>       *
>       * @param scheme The URI scheme.
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
> Thu Nov  1 23:11:46 2018
> @@ -121,9 +121,10 @@ public class ShowFileTask extends VfsTas
>       * Writes the content of the file to Ant log.
>       */
>      private void logContent(final FileObject file, final String prefix)
> throws Exception {
> -        final InputStream instr = file.getContent().getInputStream();
> -        try {
> -            final BufferedReader reader = new BufferedReader(new
> InputStreamReader(instr));
> +        try (
> +            final InputStream instr = file.getContent().getInputStream();
> +            final BufferedReader reader = new BufferedReader(new
> InputStreamReader(instr)); )
> +        {
>              while (true) {
>                  final String line = reader.readLine();
>                  if (line == null) {
> @@ -131,8 +132,6 @@ public class ShowFileTask extends VfsTas
>                  }
>                  log(prefix + line);
>              }
> -        } finally {
> -            instr.close();
>          }
>      }
>  }
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
> Thu Nov  1 23:11:46 2018
> @@ -96,24 +96,28 @@ public class DefaultCryptor implements C
>          return builder.toString();
>      }
>
> -    /** Decodes Hey-Bytes. */
> +    /** Decodes Hex-Bytes. */
>      private byte[] decode(final String str) {
> -        final int length = str.length() / 2;
> -        final byte[] decoded = new byte[length];
>          final char[] chars = str.toCharArray();
> +        final int length = chars.length / 2;
> +        final byte[] decoded = new byte[length];
> +        if (length * 2 != chars.length)
> +        {
> +               throw new IllegalArgumentException("The given string must
> have even number of hex chars.");
> +        }
>          int index = 0;
> -        for (int i = 0; i < chars.length; ++i) {
> -            final int id1 = indexOf(HEX_CHARS, chars[i]);
> -            if (id1 == -1) {
> +        for (int i = 0; i < length; i++) {
> +            final int id1 = indexOf(HEX_CHARS, chars[index++]);
> +            if (id1 == INDEX_NOT_FOUND) {
>                  throw new IllegalArgumentException(
> -                        "Character " + chars[i] + " at position " + i + "
> is not a valid hexidecimal character");
> +                        "Character " + chars[index-1] + " at position " +
> (index-1) + " is not a valid hexidecimal character");
>              }
> -            final int id2 = indexOf(HEX_CHARS, chars[++i]);
> -            if (id2 == -1) {
> +            final int id2 = indexOf(HEX_CHARS, chars[index++]);
> +            if (id2 == INDEX_NOT_FOUND) {
>                  throw new IllegalArgumentException(
> -                        "Character " + chars[i] + " at position " + i + "
> is not a valid hexidecimal character");
> +                        "Character " + chars[index-1] + " at position " +
> (index-1) + " is not a valid hexidecimal character");
>              }
> -            decoded[index++] = (byte) ((id1 << BITS_IN_HALF_BYTE) | id2);
> +            decoded[i] = (byte) ((id1 << BITS_IN_HALF_BYTE) | id2);
>          }
>          return decoded;
>      }
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
> Thu Nov  1 23:11:46 2018
> @@ -57,7 +57,7 @@ public class MonitorInputStream extends
>       * @throws IOException if an error occurs.
>       */
>      @Override
> -    public int read() throws IOException {
> +    public synchronized int read() throws IOException { // lgtm
> [java/non-sync-override]
>          if (finished.get()) {
>              return EOF_CHAR;
>          }
> @@ -83,14 +83,14 @@ public class MonitorInputStream extends
>       * @throws IOException if an error occurs.
>       */
>      @Override
> -    public int read(final byte[] buffer, final int offset, final int
> length) throws IOException {
> +    public int read(final byte[] buffer, final int offset, final int
> length) throws IOException { // lgtm [java/non-sync-override]
>          if (finished.get()) {
>              return EOF_CHAR;
>          }
>
>          final int nread = super.read(buffer, offset, length);
>          if (nread != EOF_CHAR) {
> -            atomicCount.addAndGet(nread);
> +               atomicCount.addAndGet(nread);
>              return nread;
>          }
>          return EOF_CHAR;
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
> Thu Nov  1 23:11:46 2018
> @@ -75,6 +75,11 @@ public abstract class AbstractProviderTe
>          this.baseFolder = baseFolder;
>          this.readFolder = readFolder;
>          this.writeFolder = writeFolder;
> +        assertNotNull("setConfig manager", manager);
> +        assertNotNull("setConfig providerConfig", providerConfig);
> +        assertNotNull("setConfig baseFolder", baseFolder);
> +        assertNotNull("setConfig readFolder", readFolder);
> +        assertNotNull("setConfig writeFolder", writeFolder);
>      }
>
>      /**
> @@ -172,7 +177,7 @@ public abstract class AbstractProviderTe
>          if (caps != null) {
>              for (final Capability cap2 : caps) {
>                  final Capability cap = cap2;
> -                final FileSystem fs = readFolder.getFileSystem();
> +                final FileSystem fs = getFileSystem();
>                  if (!fs.hasCapability(cap)) {
>                      // String name = fs.getClass().getName();
>                      // int index = name.lastIndexOf('.');
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
> Thu Nov  1 23:11:46 2018
> @@ -35,6 +35,13 @@ public class EncryptDecryptTest {
>
>          final String decrypted = cryptor.decrypt(encrypted);
>          assertEquals(source, decrypted);
> -
> +    }
> +
> +    @Test(expected=IllegalArgumentException.class)
> +    public void testInvalidDecrypt() throws Exception {
> +       // provider.HostFileNameParser.extractToPath(String,
> StringBuilder) catches `Exception`
> +       final String broken = "91458";
> +        final Cryptor cryptor = CryptorFactory.getCryptor();
> +        /* ignored */ cryptor.decrypt(broken);
>      }
>  }
>
> Modified: commons/proper/vfs/trunk/src/changes/changes.xml
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> --- commons/proper/vfs/trunk/src/changes/changes.xml (original)
> +++ commons/proper/vfs/trunk/src/changes/changes.xml Thu Nov  1 23:11:46
> 2018
> @@ -50,6 +50,9 @@ The <action> type attribute can be add,u
>  <!--        [Local] Need an easy way to convert from a FileObject to a
> File. -->
>  <!--       </action> -->
>  <!-- START Might need to be moved to the next version -->
> +      <action issue="VFS-678" dev="ecki" type="fix">
> +        Fix various LGTM.com code review warnings.
> +      </action>
>        <action issue="VFS-652" dev="ecki" type="fix">
>          PatternFileSelector documentation to describe actual matching
> against getPath().
>        </action>
>
>
>


Re: svn commit: r1845521 - in /commons/proper/vfs/trunk: commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/ commons-vfs2/src/main/java/org/apache/commons/vfs2/ commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/ commons-vfs2/src/main...

Posted by Gary Gregory <ga...@gmail.com>.
+            System.out.println("  operations: " + Arrays.asList(ops));

Shouldn't this be Arrays.toString(ops)? Why bother with the List?

Gary

On Thu, Nov 1, 2018 at 5:11 PM <ec...@apache.org> wrote:

> Author: ecki
> Date: Thu Nov  1 23:11:46 2018
> New Revision: 1845521
>
> URL: http://svn.apache.org/viewvc?rev=1845521&view=rev
> Log:
> [VFS-678] fix various LGTM.com warnings.
>
> Modified:
>
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
>
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
>     commons/proper/vfs/trunk/src/changes/changes.xml
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2-examples/src/main/java/org/apache/commons/vfs2/example/Shell.java
> Thu Nov  1 23:11:46 2018
> @@ -23,6 +23,7 @@ import java.io.InputStreamReader;
>  import java.nio.charset.Charset;
>  import java.text.DateFormat;
>  import java.util.ArrayList;
> +import java.util.Arrays;
>  import java.util.Collection;
>  import java.util.Date;
>  import java.util.List;
> @@ -154,7 +155,7 @@ public final class Shell {
>          }
>          final FileOperationProvider[] ops =
> mgr.getOperationProviders(scheme);
>          if (ops != null && ops.length > 0) {
> -            System.out.println("  operations: " + ops);
> +            System.out.println("  operations: " + Arrays.asList(ops));
>          }
>      }
>
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/FileName.java
> Thu Nov  1 23:11:46 2018
> @@ -127,28 +127,6 @@ public interface FileName extends Compar
>      FileName getParent();
>
>      /**
> -     * Resolves a name, relative to this file name. Equivalent to calling
> -     * {@code resolveName( path, NameScope.FILE_SYSTEM )}.
> -     *
> -     * @param name The name to resolve.
> -     * @return A {@link FileName} object representing the resolved file
> name.
> -     * @throws FileSystemException If the name is invalid.
> -     */
> -    // FileName resolveName(String name) throws FileSystemException;
> -
> -    /**
> -     * Resolves a name, relative to this file name. Refer to {@link
> NameScope} for a description of how names are
> -     * resolved.
> -     *
> -     * @param name The name to resolve.
> -     * @param scope The scope to use when resolving the name.
> -     * @return A {@link FileName} object representing the resolved file
> name.
> -     * @throws FileSystemException If the name is invalid.
> -     */
> -    // FileName resolveName(String name, NameScope scope)
> -    // throws FileSystemException;
> -
> -    /**
>       * Converts a file name to a relative name, relative to this file
> name.
>       *
>       * @param name The name to convert to a relative path.
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/UserAuthenticationData.java
> Thu Nov  1 23:11:46 2018
> @@ -129,7 +129,7 @@ public class UserAuthenticationData {
>          final Iterator<char[]> iterAuthenticationData =
> authenticationData.values().iterator();
>          while (iterAuthenticationData.hasNext()) {
>              final char[] data = iterAuthenticationData.next();
> -            if (data == null || data.length < 0) {
> +            if (data == null) {
>                  continue;
>              }
>
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
> Thu Nov  1 23:11:46 2018
> @@ -487,11 +487,11 @@ public class DefaultFileMonitor implemen
>                      } else {
>                          // First set of children - Break out the cigars
>                          if (newChildren.length > 0) {
> -                            this.children = new HashMap<>();
> -                        }
> -                        for (final FileObject element : newChildren) {
> -                            this.children.put(element.getName(), new
> Object()); // null?
> -                            this.fireAllCreate(element);
> +                               this.children = new HashMap<>();
> +                               for (final FileObject element :
> newChildren) {
> +
>  this.children.put(element.getName(), new Object()); // null?
> +                                       this.fireAllCreate(element);
> +                               }
>                          }
>                      }
>                  }
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/compressed/CompressedFileFileProvider.java
> Thu Nov  1 23:11:46 2018
> @@ -37,15 +37,6 @@ public abstract class CompressedFileFile
>      }
>
>      /**
> -     * Parses an absolute URI.
> -     *
> -     * @param uri The URI to parse.
> -     */
> -    /*
> -     * public FileName parseUri(final String uri) throws
> FileSystemException { return ZipFileName.parseUri(uri); }
> -     */
> -
> -    /**
>       * Creates a layered file system. This method is called if the file
> system is not cached.
>       *
>       * @param scheme The URI scheme.
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/tasks/ShowFileTask.java
> Thu Nov  1 23:11:46 2018
> @@ -121,9 +121,10 @@ public class ShowFileTask extends VfsTas
>       * Writes the content of the file to Ant log.
>       */
>      private void logContent(final FileObject file, final String prefix)
> throws Exception {
> -        final InputStream instr = file.getContent().getInputStream();
> -        try {
> -            final BufferedReader reader = new BufferedReader(new
> InputStreamReader(instr));
> +        try (
> +            final InputStream instr = file.getContent().getInputStream();
> +            final BufferedReader reader = new BufferedReader(new
> InputStreamReader(instr)); )
> +        {
>              while (true) {
>                  final String line = reader.readLine();
>                  if (line == null) {
> @@ -131,8 +132,6 @@ public class ShowFileTask extends VfsTas
>                  }
>                  log(prefix + line);
>              }
> -        } finally {
> -            instr.close();
>          }
>      }
>  }
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/DefaultCryptor.java
> Thu Nov  1 23:11:46 2018
> @@ -96,24 +96,28 @@ public class DefaultCryptor implements C
>          return builder.toString();
>      }
>
> -    /** Decodes Hey-Bytes. */
> +    /** Decodes Hex-Bytes. */
>      private byte[] decode(final String str) {
> -        final int length = str.length() / 2;
> -        final byte[] decoded = new byte[length];
>          final char[] chars = str.toCharArray();
> +        final int length = chars.length / 2;
> +        final byte[] decoded = new byte[length];
> +        if (length * 2 != chars.length)
> +        {
> +               throw new IllegalArgumentException("The given string must
> have even number of hex chars.");
> +        }
>          int index = 0;
> -        for (int i = 0; i < chars.length; ++i) {
> -            final int id1 = indexOf(HEX_CHARS, chars[i]);
> -            if (id1 == -1) {
> +        for (int i = 0; i < length; i++) {
> +            final int id1 = indexOf(HEX_CHARS, chars[index++]);
> +            if (id1 == INDEX_NOT_FOUND) {
>                  throw new IllegalArgumentException(
> -                        "Character " + chars[i] + " at position " + i + "
> is not a valid hexidecimal character");
> +                        "Character " + chars[index-1] + " at position " +
> (index-1) + " is not a valid hexidecimal character");
>              }
> -            final int id2 = indexOf(HEX_CHARS, chars[++i]);
> -            if (id2 == -1) {
> +            final int id2 = indexOf(HEX_CHARS, chars[index++]);
> +            if (id2 == INDEX_NOT_FOUND) {
>                  throw new IllegalArgumentException(
> -                        "Character " + chars[i] + " at position " + i + "
> is not a valid hexidecimal character");
> +                        "Character " + chars[index-1] + " at position " +
> (index-1) + " is not a valid hexidecimal character");
>              }
> -            decoded[index++] = (byte) ((id1 << BITS_IN_HALF_BYTE) | id2);
> +            decoded[i] = (byte) ((id1 << BITS_IN_HALF_BYTE) | id2);
>          }
>          return decoded;
>      }
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/util/MonitorInputStream.java
> Thu Nov  1 23:11:46 2018
> @@ -57,7 +57,7 @@ public class MonitorInputStream extends
>       * @throws IOException if an error occurs.
>       */
>      @Override
> -    public int read() throws IOException {
> +    public synchronized int read() throws IOException { // lgtm
> [java/non-sync-override]
>          if (finished.get()) {
>              return EOF_CHAR;
>          }
> @@ -83,14 +83,14 @@ public class MonitorInputStream extends
>       * @throws IOException if an error occurs.
>       */
>      @Override
> -    public int read(final byte[] buffer, final int offset, final int
> length) throws IOException {
> +    public int read(final byte[] buffer, final int offset, final int
> length) throws IOException { // lgtm [java/non-sync-override]
>          if (finished.get()) {
>              return EOF_CHAR;
>          }
>
>          final int nread = super.read(buffer, offset, length);
>          if (nread != EOF_CHAR) {
> -            atomicCount.addAndGet(nread);
> +               atomicCount.addAndGet(nread);
>              return nread;
>          }
>          return EOF_CHAR;
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/AbstractProviderTestCase.java
> Thu Nov  1 23:11:46 2018
> @@ -75,6 +75,11 @@ public abstract class AbstractProviderTe
>          this.baseFolder = baseFolder;
>          this.readFolder = readFolder;
>          this.writeFolder = writeFolder;
> +        assertNotNull("setConfig manager", manager);
> +        assertNotNull("setConfig providerConfig", providerConfig);
> +        assertNotNull("setConfig baseFolder", baseFolder);
> +        assertNotNull("setConfig readFolder", readFolder);
> +        assertNotNull("setConfig writeFolder", writeFolder);
>      }
>
>      /**
> @@ -172,7 +177,7 @@ public abstract class AbstractProviderTe
>          if (caps != null) {
>              for (final Capability cap2 : caps) {
>                  final Capability cap = cap2;
> -                final FileSystem fs = readFolder.getFileSystem();
> +                final FileSystem fs = getFileSystem();
>                  if (!fs.hasCapability(cap)) {
>                      // String name = fs.getClass().getName();
>                      // int index = name.lastIndexOf('.');
>
> Modified:
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> ---
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
> (original)
> +++
> commons/proper/vfs/trunk/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/EncryptDecryptTest.java
> Thu Nov  1 23:11:46 2018
> @@ -35,6 +35,13 @@ public class EncryptDecryptTest {
>
>          final String decrypted = cryptor.decrypt(encrypted);
>          assertEquals(source, decrypted);
> -
> +    }
> +
> +    @Test(expected=IllegalArgumentException.class)
> +    public void testInvalidDecrypt() throws Exception {
> +       // provider.HostFileNameParser.extractToPath(String,
> StringBuilder) catches `Exception`
> +       final String broken = "91458";
> +        final Cryptor cryptor = CryptorFactory.getCryptor();
> +        /* ignored */ cryptor.decrypt(broken);
>      }
>  }
>
> Modified: commons/proper/vfs/trunk/src/changes/changes.xml
> URL:
> http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1845521&r1=1845520&r2=1845521&view=diff
>
> ==============================================================================
> --- commons/proper/vfs/trunk/src/changes/changes.xml (original)
> +++ commons/proper/vfs/trunk/src/changes/changes.xml Thu Nov  1 23:11:46
> 2018
> @@ -50,6 +50,9 @@ The <action> type attribute can be add,u
>  <!--        [Local] Need an easy way to convert from a FileObject to a
> File. -->
>  <!--       </action> -->
>  <!-- START Might need to be moved to the next version -->
> +      <action issue="VFS-678" dev="ecki" type="fix">
> +        Fix various LGTM.com code review warnings.
> +      </action>
>        <action issue="VFS-652" dev="ecki" type="fix">
>          PatternFileSelector documentation to describe actual matching
> against getPath().
>        </action>
>
>
>