Author: bentmann
Date: Tue Mar 30 13:48:08 2010
New Revision: 929140

URL: http://svn.apache.org/viewvc?rev=929140&view=rev
Log:
[MNG-2187] Improve error message when the pom is encoded in the wrong charset

Modified:
    
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java

Modified: 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java?rev=929140&r1=929139&r2=929140&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
 (original)
+++ 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
 Tue Mar 30 13:48:08 2010
@@ -359,7 +359,20 @@ public class DefaultModelBuilder
         }
         catch ( IOException e )
         {
-            problems.add( Severity.FATAL, "Non-readable POM " + 
modelSource.getLocation() + ": " + e.getMessage(), e );
+            String msg = e.getMessage();
+            if ( msg == null || msg.length() <= 0 )
+            {
+                // NOTE: There's java.nio.charset.MalformedInputException and 
sun.io.MalformedInputException
+                if ( e.getClass().getName().endsWith( 
"MalformedInputException" ) )
+                {
+                    msg = "Some input bytes do not match the file encoding.";
+                }
+                else
+                {
+                    msg = e.getClass().getSimpleName();
+                }
+            }
+            problems.add( Severity.FATAL, "Non-readable POM " + 
modelSource.getLocation() + ": " + msg, e );
             throw new ModelBuildingException( problems.getRootModelId(), 
problems.getProblems() );
         }
 


Reply via email to