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 2017/09/05 11:55:44 UTC
cxf git commit: [CXF-7492] Adding a namePassword wadltojava option
Repository: cxf
Updated Branches:
refs/heads/master c8e00b1c2 -> 84657fd63
[CXF-7492] Adding a namePassword wadltojava option
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/84657fd6
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/84657fd6
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/84657fd6
Branch: refs/heads/master
Commit: 84657fd6342b1e7d578ffbe27fa025d9c889ecfc
Parents: c8e00b1
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Tue Sep 5 12:55:28 2017 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Tue Sep 5 12:55:28 2017 +0100
----------------------------------------------------------------------
.../cxf/tools/wadlto/WadlToolConstants.java | 1 +
.../cxf/tools/wadlto/jaxrs/JAXRSContainer.java | 1 +
.../cxf/tools/wadlto/jaxrs/SourceGenerator.java | 20 ++++++++++++++++++--
.../cxf/tools/wadlto/jaxrs/jaxrs-toolspec.xml | 10 ++++++++++
4 files changed, 30 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/84657fd6/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/WadlToolConstants.java
----------------------------------------------------------------------
diff --git a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/WadlToolConstants.java b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/WadlToolConstants.java
index 8e81308..befadea 100644
--- a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/WadlToolConstants.java
+++ b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/WadlToolConstants.java
@@ -47,6 +47,7 @@ public final class WadlToolConstants {
public static final String CFG_CATALOG = ToolConstants.CFG_CATALOG;
public static final String CFG_BINDING = ToolConstants.CFG_BINDING;
+ public static final String CFG_NAME_PASSWORD = "namePassword";
public static final String CFG_NO_TYPES = ToolConstants.CFG_NO_TYPES;
public static final String CFG_NO_VOID_FOR_EMPTY_RESPONSES = "noVoidForEmptyResponses";
http://git-wip-us.apache.org/repos/asf/cxf/blob/84657fd6/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 639cb35..8e7cc56 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
@@ -127,6 +127,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));
+ sg.setNamePassword((String)context.get(WadlToolConstants.CFG_NAME_PASSWORD));
String wadlNs = (String)context.get(WadlToolConstants.CFG_WADL_NAMESPACE);
if (wadlNs != null) {
http://git-wip-us.apache.org/repos/asf/cxf/blob/84657fd6/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 5924713..9cdd5eb 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
@@ -28,6 +28,7 @@ import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
+import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
import java.nio.charset.StandardCharsets;
@@ -92,6 +93,7 @@ import org.apache.cxf.common.jaxb.JAXBUtils.JCodeModel;
import org.apache.cxf.common.jaxb.JAXBUtils.S2JJAXBModel;
import org.apache.cxf.common.jaxb.JAXBUtils.SchemaCompiler;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.Base64Utility;
import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.common.util.ReflectionInvokationHandler;
import org.apache.cxf.common.util.StringUtils;
@@ -225,6 +227,7 @@ public class SourceGenerator {
private boolean validateWadl;
private SchemaCollection schemaCollection = new SchemaCollection();
private String encoding;
+ private String namePassword;
private boolean createJavaDocs;
public SourceGenerator() {
@@ -1855,9 +1858,18 @@ public class SourceGenerator {
InputStream is = null;
if (!href.startsWith("http")) {
is = ResourceUtils.getResourceStream(href, bus);
- }
+ }
if (is == null) {
- is = URI.create(href).toURL().openStream();
+ URL url = URI.create(href).toURL();
+ if (namePassword != null) {
+ HttpURLConnection conn = (HttpURLConnection)url.openConnection();
+ conn.setRequestMethod("GET");
+ String encodedAuth = "Basic " + Base64Utility.encode(namePassword.getBytes());
+ conn.setRequestProperty("Authorization", encodedAuth);
+ is = conn.getInputStream();
+ } else {
+ is = url.openStream();
+ }
}
return readXmlDocument(new InputStreamReader(is, StandardCharsets.UTF_8));
} catch (Exception ex) {
@@ -2023,6 +2035,10 @@ public class SourceGenerator {
this.supportBeanValidation = supportBeanValidation;
}
+ public void setNamePassword(String namePassword) {
+ this.namePassword = namePassword;
+ }
+
private static class GrammarInfo {
private Map<String, String> nsMap = new HashMap<>();
private Map<String, String> elementTypeMap = new HashMap<>();
http://git-wip-us.apache.org/repos/asf/cxf/blob/84657fd6/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/jaxrs-toolspec.xml
----------------------------------------------------------------------
diff --git a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/jaxrs-toolspec.xml b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/jaxrs-toolspec.xml
index 6bec5ba..784d978 100644
--- a/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/jaxrs-toolspec.xml
+++ b/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/jaxrs-toolspec.xml
@@ -259,6 +259,16 @@ Examples:
<annotation>Convert WADL doc elements to JavaDocs</annotation>
<switch>javaDocs</switch>
</option>
+ <option id="namePassword" maxOccurs="1">
+ <annotation>
+ Specifies a colon separated user name and password for retrieving the
+ remote WADL content from the servers requiring Basic authentication
+ </annotation>
+ <associatedArgument placement="afterSpace">
+ <annotation>namePassword</annotation>
+ </associatedArgument>
+ <switch>namePassword</switch>
+ </option>
</optionGroup>
<optionGroup id="common_options">
<option id="help" maxOccurs="1">