diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index d6d39fa82..8da760f18 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -497,9 +497,9 @@ protected static JavaVersion getJavadocVersion(File javadocExe)
Pattern.compile("(?s).*?[^a-zA-Z](([0-9]+\\.?[0-9]*)(\\.[0-9]+)?).*");
/**
- * Parse the output for 'javadoc -J-version' and return the javadoc version recognized.
- * Here are some output for 'javadoc -J-version' depending the JDK used:
- *
| JDK | *Output for 'javadoc -J-version' | @@ -530,15 +530,20 @@ protected static JavaVersion getJavadocVersion(File javadocExe) *
|---|
memory parameter, the
+ * @return the memory parsed with a supported unit. If no unit is specified in the memory argument, the
* default unit is m. The units g | gb or t | tb will be converted in
* m.
- * @throws IllegalArgumentException if the memory parameter is null or doesn't match any pattern.
+ * @throws NullPointerException if the memory argument is null
+ * @throws IllegalArgumentException if the memory argument doesn't match any pattern.
*/
- protected static String parseJavadocMemory(String memory) throws IllegalArgumentException {
- if (memory == null || memory.isEmpty()) {
- throw new IllegalArgumentException("The memory could not be null.");
+ protected static String parseJavadocMemory(String memory) {
+ if (memory == null) {
+ throw new NullPointerException("The memory cannot be null.");
+ }
+ if (memory.isEmpty()) {
+ throw new IllegalArgumentException("The memory cannot be empty.");
}
Matcher m0 = PARSE_JAVADOC_MEMORY_PATTERN_0.matcher(memory);
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
index 25c4c485d..df6fcd994 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
@@ -40,7 +40,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.regex.PatternSyntaxException;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.apache.maven.plugins.javadoc.ProxyServer.AuthAsyncProxyServlet;
@@ -61,21 +60,31 @@
* @author Vincent Siveton
*/
public class JavadocUtilTest extends PlexusTestCase {
- /**
- * Method to test the javadoc version parsing.
- *
- */
- public void testParseJavadocVersion() {
- String version = null;
+
+ public void testParseJavadocVersion_Null() {
try {
- JavadocUtil.extractJavadocVersion(version);
+ JavadocUtil.extractJavadocVersion(null);
fail("Not catch null");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
+ } catch (NullPointerException ex) {
+ assertNotNull(ex.getMessage());
}
+ }
+ public void testParseJavadocVersion_EmptyString() {
+ try {
+ JavadocUtil.extractJavadocVersion("");
+ fail("Not catch empty version");
+ } catch (IllegalArgumentException ex) {
+ assertNotNull(ex.getMessage());
+ }
+ }
+
+ /**
+ * Test the javadoc version parsing.
+ */
+ public void testParseJavadocVersion() {
// Sun JDK 1.4
- version = "java full version \"1.4.2_12-b03\"";
+ String version = "java full version \"1.4.2_12-b03\"";
assertEquals("1.4.2", JavadocUtil.extractJavadocVersion(version));
// Sun JDK 1.5
@@ -126,15 +135,6 @@ public void testParseJavadocVersion() {
version = "java full version \"1.4\"";
assertEquals("1.4", JavadocUtil.extractJavadocVersion(version));
- version = "java full version \"1.A.B_07-164\"";
- try {
- JavadocUtil.extractJavadocVersion(version);
- // does not fail since JEP 223 support addition
- // assertTrue( "Not catch wrong pattern", false );
- } catch (PatternSyntaxException e) {
- assertTrue(true);
- }
-
version = "SCO-UNIX-J2SE-1.5.0_09*FCS-UW714-OSR6*_20061114";
assertEquals("1.5.0", JavadocUtil.extractJavadocVersion(version));
@@ -163,20 +163,29 @@ public void testParseJavadocVersion() {
assertEquals("10.0.1", JavadocUtil.extractJavadocVersion(version));
}
- /**
- * Method to test the javadoc memory parsing.
- *
- */
- public void testParseJavadocMemory() {
- String memory = null;
+ public void testParseJavadocMemory_null() {
try {
- JavadocUtil.parseJavadocMemory(memory);
+ JavadocUtil.parseJavadocMemory(null);
fail("Not catch null");
- } catch (IllegalArgumentException e) {
- assertTrue(true);
+ } catch (NullPointerException ex) {
+ assertNotNull(ex.getMessage());
+ }
+ }
+
+ public void testParseJavadocMemory_empty() {
+ try {
+ JavadocUtil.parseJavadocMemory("");
+ fail("Not catch null");
+ } catch (IllegalArgumentException ex) {
+ assertNotNull(ex.getMessage());
}
+ }
- memory = "128";
+ /**
+ * Method to test the javadoc memory parsing.
+ */
+ public void testParseJavadocMemory() {
+ String memory = "128";
assertEquals(JavadocUtil.parseJavadocMemory(memory), "128m");
memory = "128k";