oehme commented on a change in pull request #242: Speed up project discovery
URL: https://github.com/apache/maven/pull/242#discussion_r274159320
 
 

 ##########
 File path: 
maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
 ##########
 @@ -204,19 +211,33 @@ public final void parseVersion( String version )
     }
 
     private static Integer getNextIntegerToken( StringTokenizer tok )
+    {
+        String s = tok.nextToken();
+        if ( ( s.length() > 1 ) && s.startsWith( "0" ) )
+        {
+            return null;
+        }
+        return tryParseInt( s );
+    }
+
+    private static Integer tryParseInt( String s )
     {
         try
         {
-            String s = tok.nextToken();
-            if ( ( s.length() > 1 ) && s.startsWith( "0" ) )
+            if ( !isParsable( s ) )
+            {
+                return null;
+            }
+            long longValue = Long.parseLong( s );
+            if ( longValue > Integer.MAX_VALUE )
 
 Review comment:
   Because it throws an exception internally, which is what we're trying to 
avoid in the first place here. We don't want to throw exceptions on common code 
paths. 
   
   Also, we're not changing semantics here, we are still returning an int. 
Going through long is only done for the very common case of big numbers that 
would fail with a NumberFormatException on `Integer.parseInt`

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to