You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/08/21 18:13:56 UTC
svn commit: r1375646 - in /cxf/branches/2.6.x-fixes:
maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/
tools/common/src/main/java/org/apache/cxf/tools/common/
tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/to...
Author: dkulp
Date: Tue Aug 21 16:13:56 2012
New Revision: 1375646
URL: http://svn.apache.org/viewvc?rev=1375646&view=rev
Log:
Merged revisions 1375635 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1375635 | dkulp | 2012-08-21 12:05:13 -0400 (Tue, 21 Aug 2012) | 2 lines
Update to keep the "file" where the error occured as a String for as long as possible to avoid NPE and allow the file to be a real url like an HTTP url
........
Modified:
cxf/branches/2.6.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java
cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java
cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolException.java
cxf/branches/2.6.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBBindErrorListener.java
Modified: cxf/branches/2.6.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java?rev=1375646&r1=1375645&r2=1375646&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java (original)
+++ cxf/branches/2.6.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/wsdl2java/WSDL2JavaMojo.java Tue Aug 21 16:13:56 2012
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
@@ -51,6 +52,69 @@ import org.sonatype.plexus.build.increme
*/
public class WSDL2JavaMojo extends AbstractCodegenMoho {
+ final class MavenToolErrorListener extends ToolErrorListener {
+ private final List<File> errorfiles;
+
+ MavenToolErrorListener(List<File> errorfiles) {
+ this.errorfiles = errorfiles;
+ }
+
+ public void addError(final String file, int line, int column, String message, Throwable t) {
+ super.addError(file, line, column, message, t);
+
+ File f = mapFile(file);
+
+ if (f != null && !errorfiles.contains(f)) {
+ buildContext.removeMessages(f);
+ errorfiles.add(f);
+ }
+ if (f == null) {
+ f = new File(file) {
+ private static final long serialVersionUID = 1L;
+ public String getAbsolutePath() {
+ return file;
+ }
+ };
+ }
+ buildContext.addMessage(f, line, column, message, BuildContext.SEVERITY_ERROR, t);
+ }
+
+ public void addWarning(final String file, int line, int column, String message, Throwable t) {
+ File f = mapFile(file);
+ if (f != null && !errorfiles.contains(f)) {
+ buildContext.removeMessages(f);
+ errorfiles.add(f);
+ }
+ if (f == null) {
+ f = new File(file) {
+ private static final long serialVersionUID = 1L;
+ public String getAbsolutePath() {
+ return file;
+ }
+ };
+ }
+ //don't send to super which just LOG.warns. We'll let Maven do that to
+ //not duplicate the error message.
+ buildContext.addMessage(f, line, column, message, BuildContext.SEVERITY_WARNING, t);
+ }
+
+ private File mapFile(String s) {
+ File file = null;
+ if (s != null && s.startsWith("file:")) {
+ if (s.contains("#")) {
+ s = s.substring(0, s.indexOf('#'));
+ }
+ try {
+ URI uri = new URI(s);
+ file = new File(uri);
+ } catch (URISyntaxException e) {
+ //ignore
+ }
+ }
+ return file;
+ }
+ }
+
/**
* @parameter expression="${cxf.testSourceRoot}"
*/
@@ -257,26 +321,7 @@ public class WSDL2JavaMojo extends Abstr
return buildContext.newFileOutputStream(file);
}
});
- ctx.setErrorListener(new ToolErrorListener() {
- public void addError(File file, int line, int column, String message, Throwable t) {
- super.addError(file, line, column, message, t);
- if (!errorfiles.contains(file)) {
- buildContext.removeMessages(file);
- errorfiles.add(file);
- }
- buildContext.addMessage(file, line, column, message, BuildContext.SEVERITY_ERROR, t);
- }
-
- public void addWarning(File file, int line, int column, String message, Throwable t) {
- if (!errorfiles.contains(file)) {
- buildContext.removeMessages(file);
- errorfiles.add(file);
- }
- //don't send to super which just LOG.warns. We'll let Maven do that to
- //not duplicate the error message.
- buildContext.addMessage(file, line, column, message, BuildContext.SEVERITY_WARNING, t);
- }
- });
+ ctx.setErrorListener(new MavenToolErrorListener(errorfiles));
new WSDLToJava(args).run(ctx);
List<File> oldFiles = CastUtils.cast((List<?>)buildContext
Modified: cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java?rev=1375646&r1=1375645&r2=1375646&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java (original)
+++ cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java Tue Aug 21 16:13:56 2012
@@ -19,7 +19,6 @@
package org.apache.cxf.tools.common;
-import java.io.File;
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Logger;
@@ -33,13 +32,13 @@ public class ToolErrorListener {
private static final Logger LOG = LogUtils.getL7dLogger(ToolErrorListener.class);
class ErrorInfo {
- File file;
+ String file;
int line;
int col;
Throwable cause;
String message;
- ErrorInfo(File f, int l, int c, String m, Throwable t) {
+ ErrorInfo(String f, int l, int c, String m, Throwable t) {
file = f;
line = l;
col = c;
@@ -49,19 +48,19 @@ public class ToolErrorListener {
}
List<ErrorInfo> errors = new LinkedList<ErrorInfo>();
- public void addError(File file, int line, int column, String message) {
+ public void addError(String file, int line, int column, String message) {
addError(file, line, column, null);
}
- public void addError(File file, int line, int column, String message, Throwable t) {
+ public void addError(String file, int line, int column, String message, Throwable t) {
errors.add(new ErrorInfo(file, line, column, message, t));
}
- public void addWarning(File file, int line, int column, String message) {
+ public void addWarning(String file, int line, int column, String message) {
addWarning(file, line, column, null);
}
- public void addWarning(File file, int line, int column, String message, Throwable t) {
+ public void addWarning(String file, int line, int column, String message, Throwable t) {
if (file != null) {
- message = file.getAbsolutePath() + " [" + line + "," + column + "]: " + message;
+ message = file + " [" + line + "," + column + "]: " + message;
}
LOG.warning(message);
}
@@ -71,7 +70,7 @@ public class ToolErrorListener {
}
private StringBuilder createMessage(StringBuilder b, ToolErrorListener.ErrorInfo e) {
if (e.file != null) {
- b.append(e.file.getAbsolutePath())
+ b.append(e.file)
.append(" [").append(e.line).append(',').append(e.col).append("]: ").append(e.message);
} else if (e.message == null && e.cause != null) {
b.append(e.cause.getLocalizedMessage());
Modified: cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolException.java?rev=1375646&r1=1375645&r2=1375646&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolException.java (original)
+++ cxf/branches/2.6.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ToolException.java Tue Aug 21 16:13:56 2012
@@ -89,7 +89,7 @@ public class ToolException extends Runti
}
private String createMessage(ToolErrorListener.ErrorInfo e) {
if (e.file != null) {
- return e.file.getAbsolutePath() + " [" + e.line + "," + e.col + "]: " + e.message;
+ return e.file + " [" + e.line + "," + e.col + "]: " + e.message;
}
if (e.message == null && e.cause != null) {
return e.cause.getLocalizedMessage();
Modified: cxf/branches/2.6.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBBindErrorListener.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBBindErrorListener.java?rev=1375646&r1=1375645&r2=1375646&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBBindErrorListener.java (original)
+++ cxf/branches/2.6.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBBindErrorListener.java Tue Aug 21 16:13:56 2012
@@ -19,10 +19,6 @@
package org.apache.cxf.tools.wsdlto.databinding.jaxb;
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-
import com.sun.tools.xjc.api.ErrorListener;
import org.apache.cxf.tools.common.ToolErrorListener;
@@ -41,20 +37,7 @@ public class JAXBBindErrorListener imple
}
public void error(org.xml.sax.SAXParseException exception) {
- String s = exception.getSystemId();
- File file = null;
- if (s != null && s.startsWith("file:")) {
- if (s.contains("#")) {
- s = s.substring(0, s.indexOf('#'));
- }
- try {
- URI uri = new URI(s);
- file = new File(uri);
- } catch (URISyntaxException e) {
- //ignore
- }
- }
- listener.addError(file,
+ listener.addError(exception.getSystemId(),
exception.getLineNumber(),
exception.getColumnNumber(),
mapMessage(exception.getLocalizedMessage()),
@@ -77,20 +60,7 @@ public class JAXBBindErrorListener imple
System.out.println("JAXB parsing schema warning " + exception.toString()
+ " in schema " + exception.getSystemId());
}
- String s = exception.getSystemId();
- File file = null;
- if (s != null && s.startsWith("file:")) {
- if (s.contains("#")) {
- s = s.substring(0, s.indexOf('#'));
- }
- try {
- URI uri = new URI(s);
- file = new File(uri);
- } catch (URISyntaxException e) {
- //ignore
- }
- }
- listener.addWarning(file,
+ listener.addWarning(exception.getSystemId(),
exception.getLineNumber(),
exception.getColumnNumber(),
mapMessage(exception.getLocalizedMessage()),