Author: sergeyb
Date: Mon Aug 13 12:24:46 2012
New Revision: 1372389
URL: http://svn.apache.org/viewvc?rev=1372389&view=rev
Log:
Making sure publishedEndpointUrl is used when calculating schema refs
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java?rev=1372389&r1=1372388&r2=1372389&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
(original)
+++
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
Mon Aug 13 12:24:46 2012
@@ -51,6 +51,7 @@ import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.annotation.XmlRootElement;
@@ -860,7 +861,7 @@ public class WadlGenerator implements Re
"grammars");
if (grammarEls.size() == 1) {
handleSchemaRefs(DOMUtils.getChildrenWithName(grammarEls.get(0),
- WadlGenerator.WADL_NS, "include"), "href",
loc, "", ui);
+ WadlGenerator.WADL_NS, "include"), "href",
loc, "", m, ui);
}
List<Element> resourceEls =
DOMUtils.getChildrenWithName(appEl,
@@ -890,9 +891,9 @@ public class WadlGenerator implements Re
if (is != null) {
Element docEl = DOMUtils.readXml(is).getDocumentElement();
handleSchemaRefs(DOMUtils.getChildrenWithName(docEl,
- XmlSchemaConstants.XSD_NAMESPACE_URI, "import"),
"schemaLocation", loc, href, ui);
+ XmlSchemaConstants.XSD_NAMESPACE_URI, "import"),
"schemaLocation", loc, href, m, ui);
handleSchemaRefs(DOMUtils.getChildrenWithName(docEl,
- XmlSchemaConstants.XSD_NAMESPACE_URI, "include"),
"schemaLocation", loc, href, ui);
+ XmlSchemaConstants.XSD_NAMESPACE_URI, "include"),
"schemaLocation", loc, href, m, ui);
return
Response.ok().type(MediaType.APPLICATION_XML_TYPE).entity(
new DOMSource(docEl)).build();
}
@@ -905,7 +906,7 @@ public class WadlGenerator implements Re
}
private void handleSchemaRefs(List<Element> schemaRefEls, String attrName,
- String parentDocLoc, String parentRef,
UriInfo ui) {
+ String parentDocLoc, String parentRef,
Message m, UriInfo ui) {
int index = parentDocLoc.lastIndexOf('/');
parentDocLoc = index == -1 ? parentDocLoc : parentDocLoc.substring(0,
index + 1);
@@ -917,7 +918,7 @@ public class WadlGenerator implements Re
if (!StringUtils.isEmpty(href)) {
String actualRef = parentRef + href;
schemaLocationMap.put(actualRef, parentDocLoc + href);
- URI schemaURI = ui.getBaseUriBuilder().path(actualRef).build();
+ URI schemaURI = UriBuilder.fromUri(getBaseURI(m,
ui)).path(actualRef).build();
DOMUtils.setAttribute(schemaRefEl, attrName,
schemaURI.toString());
}
}