You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "David M. Karr (JIRA)" <ji...@apache.org> on 2010/11/19 22:51:14 UTC
[jira] Created: (CXF-3138) Implement better error checking in
AbstractXSDToJavaMojo for missing extension fields
Implement better error checking in AbstractXSDToJavaMojo for missing extension fields
-------------------------------------------------------------------------------------
Key: CXF-3138
URL: https://issues.apache.org/jira/browse/CXF-3138
Project: CXF
Issue Type: Bug
Components: Tooling
Affects Versions: 2.3.0
Reporter: David M. Karr
Priority: Trivial
Maven POMs can be generated, or they can be hand-coded. It's useful in some cases to not assume XML microformat conventions are not syntactically correct in the POM, in case the POM is hand-coded. One case in point:
In "org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo", the "getArguments()" method assumes the "extension" value is a colon-separated value with three subfields. If the value is malformed, like missing the last subfield (version), Maven just fails with "Could not download extension artifact" with no information. If you then add "-X" to the command line, you'll see this small additional information:
-----------------------
[ERROR] Failed to execute goal org.apache.cxf:cxf-xjc-plugin:2.3.0:xsdtojava (generate-sources) on project SunlightDataService-war: Could not download extension artifact -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.cxf:cxf-xjc-plugin:2.3.0:xsdtojava (generate-sources) on project SunlightDataService-war: Could not download extension artifact
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:203)
...
Caused by: org.apache.maven.plugin.MojoExecutionException: Could not download extension artifact
at org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo.getArguments(AbstractXSDToJavaMojo.java:274)
...
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
at org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo.getArguments(AbstractXSDToJavaMojo.java:254)
-----------------------
if someone then examined the source for AbstractXSDToJavaMojo, they would then discover the reference to "s[2]" and hopefully realize that they left off the version subfield in the "extension" value.
My suggestion is to check the array length and print an error message indicating the required format of the "extension" value.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-3138) Implement better error checking in
AbstractXSDToJavaMojo for missing extension fields
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-3138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-3138.
------------------------------
Resolution: Fixed
Fix Version/s: 2.3.2
Assignee: Daniel Kulp
> Implement better error checking in AbstractXSDToJavaMojo for missing extension fields
> -------------------------------------------------------------------------------------
>
> Key: CXF-3138
> URL: https://issues.apache.org/jira/browse/CXF-3138
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.3.0
> Reporter: David M. Karr
> Assignee: Daniel Kulp
> Priority: Trivial
> Fix For: 2.3.2
>
>
> Maven POMs can be generated, or they can be hand-coded. It's useful in some cases to not assume XML microformat conventions are not syntactically correct in the POM, in case the POM is hand-coded. One case in point:
> In "org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo", the "getArguments()" method assumes the "extension" value is a colon-separated value with three subfields. If the value is malformed, like missing the last subfield (version), Maven just fails with "Could not download extension artifact" with no information. If you then add "-X" to the command line, you'll see this small additional information:
> -----------------------
> [ERROR] Failed to execute goal org.apache.cxf:cxf-xjc-plugin:2.3.0:xsdtojava (generate-sources) on project SunlightDataService-war: Could not download extension artifact -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.cxf:cxf-xjc-plugin:2.3.0:xsdtojava (generate-sources) on project SunlightDataService-war: Could not download extension artifact
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:203)
> ...
> Caused by: org.apache.maven.plugin.MojoExecutionException: Could not download extension artifact
> at org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo.getArguments(AbstractXSDToJavaMojo.java:274)
> ...
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
> at org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo.getArguments(AbstractXSDToJavaMojo.java:254)
> -----------------------
> if someone then examined the source for AbstractXSDToJavaMojo, they would then discover the reference to "s[2]" and hopefully realize that they left off the version subfield in the "extension" value.
> My suggestion is to check the array length and print an error message indicating the required format of the "extension" value.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.