You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2014/10/21 22:01:20 UTC
git commit: [CXF-6057] Passing the encoding property to the JAXB
compiler, thanks to Dan
Repository: cxf
Updated Branches:
refs/heads/master 2b95868a7 -> da9070b37
[CXF-6057] Passing the encoding property to the JAXB compiler, thanks to Dan
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/da9070b3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/da9070b3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/da9070b3
Branch: refs/heads/master
Commit: da9070b37e1f2c15f0bd530dfbe56255adc6707e
Parents: 2b95868
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Tue Oct 21 21:00:59 2014 +0100
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Tue Oct 21 21:00:59 2014 +0100
----------------------------------------------------------------------
.../main/java/org/apache/cxf/common/jaxb/JAXBUtils.java | 12 +++++++++++-
.../apache/cxf/tools/wadlto/jaxrs/JAXRSContainer.java | 1 +
.../apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java | 10 ++++++++--
3 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/da9070b3/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java b/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
index 28294a4..d4b900e 100644
--- a/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
+++ b/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
@@ -699,8 +699,10 @@ public final class JAXBUtils {
}
return classes;
}
-
public static Object createFileCodeWriter(File f) throws JAXBException {
+ return createFileCodeWriter(f, "UTF-8");
+ }
+ public static Object createFileCodeWriter(File f, String encoding) throws JAXBException {
try {
Class<?> cls;
try {
@@ -710,6 +712,14 @@ public final class JAXBUtils {
cls = Class.forName("com.sun.codemodel.internal.writer.FileCodeWriter",
true, getXJCClassLoader());
}
+ if (encoding != null) {
+ try {
+ return cls.getConstructor(File.class, String.class)
+ .newInstance(f, encoding);
+ } catch (Exception ex) {
+ // try a single argument constructor
+ }
+ }
return cls.getConstructor(File.class).newInstance(f);
} catch (Exception ex) {
throw new JAXBException(ex);
http://git-wip-us.apache.org/repos/asf/cxf/blob/da9070b3/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainer.java
----------------------------------------------------------------------
diff --git a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainer.java b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainer.java
index 7607637..49b690a 100644
--- a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainer.java
+++ b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainer.java
@@ -125,6 +125,7 @@ public class JAXRSContainer extends AbstractCXFToolContainer {
}
sg.setPackageName((String)context.get(WadlToolConstants.CFG_PACKAGENAME));
sg.setResourceName((String)context.get(WadlToolConstants.CFG_RESOURCENAME));
+ sg.setEncoding((String)context.get(WadlToolConstants.CFG_ENCODING));
String wadlNs = (String)context.get(WadlToolConstants.CFG_WADL_NAMESPACE);
if (wadlNs != null) {
http://git-wip-us.apache.org/repos/asf/cxf/blob/da9070b3/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java
----------------------------------------------------------------------
diff --git a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java
index 74ff3f4..59d08e6 100644
--- a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java
+++ b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java
@@ -220,6 +220,7 @@ public class SourceGenerator {
private boolean supportMultipleXmlReps;
private boolean validateWadl;
private SchemaCollection schemaCollection = new SchemaCollection();
+ private String encoding;
public SourceGenerator() {
this(Collections.<String, String>emptyMap());
@@ -1447,7 +1448,8 @@ public class SourceGenerator {
file.createNewFile();
Writer writer = null;
try {
- writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+ writer = new OutputStreamWriter(new FileOutputStream(file),
+ encoding == null ? "UTF-8" : encoding);
writer.write(content);
writer.flush();
} finally {
@@ -1499,7 +1501,7 @@ public class SourceGenerator {
private void generateClassesFromSchema(JCodeModel codeModel, File src) {
try {
- Object writer = JAXBUtils.createFileCodeWriter(src);
+ Object writer = JAXBUtils.createFileCodeWriter(src, encoding == null ? "UTF-8" : encoding);
codeModel.build(writer);
generatedTypeClasses = JAXBUtils.getGeneratedClassNames(codeModel);
} catch (Exception e) {
@@ -1751,6 +1753,10 @@ public class SourceGenerator {
this.validateWadl = validateWadl;
}
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
private static class GrammarInfo {
private Map<String, String> nsMap = new HashMap<String, String>();
private Map<String, String> elementTypeMap = new HashMap<String, String>();