Michael Osipov created WAGON-473:
------------------------------------

             Summary: Don't abuse IllegalArgumentException to intercept null 
input
                 Key: WAGON-473
                 URL: https://issues.apache.org/jira/browse/WAGON-473
             Project: Maven Wagon
          Issue Type: Task
    Affects Versions: 2.10
            Reporter: Michael Osipov
            Assignee: Michael Osipov
             Fix For: 2.11


In several spots of Maven Wagon IAE is thrown where an argument is null. This 
should be turned into NullPointerException since JDK adheres to is and the 
description of this exception indicates that and Effective Java does that too.

Most likely to be misused:

{noformat}
$ grep -r "throw new IllegalArgumentException" .
./wagon-provider-api/src/main/java/org/apache/maven/wagon/PermissionModeUtils.java:
            throw new IllegalArgumentException( "The mode is a number but is 
not octal" );
./wagon-provider-api/src/main/java/org/apache/maven/wagon/events/SessionEvent.java:
                throw new IllegalArgumentException( "Illegal event type: " + 
eventType );
./wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java:
                throw new IllegalArgumentException( "Illegal request type: " + 
requestType );
./wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java:
                throw new IllegalArgumentException( "Illegal event type: " + 
eventType );
./wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java:
            throw new IllegalArgumentException( "Unrecognised length for binary 
data: " + bitLength + " bits" );
./wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java:
            throw new IllegalArgumentException( "Authentication Credentials 
cannot be null for FTP protocol" );
./wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/EncodingUtil.java:
            throw new IllegalArgumentException( String.format( "Error parsing 
url: %s", url ), e );
./wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java:
                throw new IllegalArgumentException( "Output stream may not be 
null" );
./wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java:
            throw new IllegalArgumentException( "Source is a directory: " + 
source );
./wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java:
            throw new IllegalArgumentException( "Source is not a directory: " + 
sourceDirectory );
./wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/ScpCommandFactory.java:
            throw new IllegalArgumentException( "Unknown command, does not 
begin with 'scp'" );
./wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/TestPublickeyAuthenticator.java:
            throw new IllegalArgumentException( "no Base64 part to decode" );
./wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/TestPublickeyAuthenticator.java:
            throw new IllegalArgumentException( "unknown type " + type );
./wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/interactive/PrompterUIKeyboardInteractive.java:
            throw new IllegalArgumentException( "prompt and echo size arrays 
are different!" );
./wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/jackrabbit/webdav/MultiStatus.java:
            throw new IllegalArgumentException( "DAV:multistatus element 
expected." );
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to