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 2009/03/12 21:10:29 UTC
svn commit: r752992 - in /cxf/trunk:
common/common/src/main/java/org/apache/cxf/common/util/
common/common/src/main/java/org/apache/cxf/resource/
rt/core/src/main/java/org/apache/cxf/wsdl11/
rt/frontend/simple/src/main/java/org/apache/cxf/service/facto...
Author: dkulp
Date: Thu Mar 12 20:10:28 2009
New Revision: 752992
URL: http://svn.apache.org/viewvc?rev=752992&view=rev
Log:
[CXF-2110] First part of patch from Alessio Soldano applied for adding parameterOrder
[CXF-2081] Add an -J-Xmx flag to forked javac (patch from Torsten Mielke)
[CXF-2069] Unformatted service list (patch from Ted Leung applied)
[CXF-2087] If the baseUri is empty, skip doing some stuff that won't work anyway
[CXF-2084] Make AbstractMessageResponseTimeInterceptor constructor public
Modified:
cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/Compiler.java
cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ClassUtils.java
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/Compiler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/Compiler.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/Compiler.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/Compiler.java Thu Mar 12 20:10:28 2009
@@ -58,6 +58,9 @@
// This code doesn't honor java.home
// list.add("javac");
+ //fix for CXF-2081, set maximum heap of this VM to javac.
+ list.add("-J-Xmx" + Runtime.getRuntime().maxMemory());
+
if (outputDir != null) {
list.add("-d");
list.add(outputDir.getAbsolutePath().replace(File.pathSeparatorChar, '/'));
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java Thu Mar 12 20:10:28 2009
@@ -37,6 +37,7 @@
import org.apache.cxf.common.classloader.ClassLoaderUtils;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.common.util.Base64Utility;
+import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.helpers.LoadingByteArrayOutputStream;
@@ -151,7 +152,7 @@
} catch (ClassCastException ex) {
is = url.openStream();
}
- } else if (baseUriStr != null) {
+ } else if (!StringUtils.isEmpty(baseUriStr)) {
URI base;
File baseFile = new File(baseUriStr);
@@ -184,6 +185,9 @@
tryClasspath(base.toString().startsWith("file:")
? base.toString().substring(5) : base.toString());
}
+ } else {
+ tryClasspath(uriStr.startsWith("file:")
+ ? uriStr.substring(5) : uriStr);
}
} catch (URISyntaxException e) {
// do nothing
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java Thu Mar 12 20:10:28 2009
@@ -533,6 +533,7 @@
this.addExtensibilityAttributes(input, getInputExtensionAttributes(operationInfo));
input.setMessage(message);
operation.setInput(input);
+ operation.setParameterOrdering(operationInfo.getParameterOrdering());
if (operationInfo.getOutput() != null) {
Output output = def.createOutput();
Modified: cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Thu Mar 12 20:10:28 2009
@@ -36,6 +36,7 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -1302,8 +1303,7 @@
}
if (isInParam(method, j)) {
final QName q = getInParameterName(op, method, j);
- final QName q2 = getInPartName(op, method, j);
- MessagePartInfo part = inMsg.addMessagePart(q2);
+ MessagePartInfo part = inMsg.addMessagePart(getInPartName(op, method, j));
initializeParameter(part, paramClasses[j], method.getGenericParameterTypes()[j]);
//TODO:remove method param annotations
part.setProperty(METHOD_PARAM_ANNOTATIONS, method.getParameterAnnotations());
@@ -1398,11 +1398,40 @@
}
}
}
-
}
+
+ //setting the parameterOrder that
+ //allows preservation of method signatures
+ //when doing java->wsdl->java
+ setParameterOrder(method, paramClasses, op);
initializeFaults(intf, op, method);
}
+
+ private void setParameterOrder(Method method, Class[] paramClasses, OperationInfo op) {
+ if (isRPC(method)) {
+ List<String> paramOrdering = new LinkedList<String>();
+ boolean hasOut = false;
+ for (int j = 0; j < paramClasses.length; j++) {
+ if (Exchange.class.equals(paramClasses[j])) {
+ continue;
+ }
+ if (isInParam(method, j)) {
+ paramOrdering.add(getInPartName(op, method, j).getLocalPart());
+ if (isOutParam(method, j)) {
+ hasOut = true;
+ }
+ } else if (isOutParam(method, j)) {
+ hasOut = true;
+ paramOrdering.add(getOutPartName(op, method, j).getLocalPart());
+ }
+ }
+ if (!paramOrdering.isEmpty() && hasOut) {
+ op.setParameterOrdering(paramOrdering);
+ }
+ }
+ }
+
protected void createInputWrappedMessageParts(OperationInfo op, Method method, MessageInfo inMsg) {
MessagePartInfo part = inMsg.addMessagePart("parameters");
Modified: cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java (original)
+++ cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java Thu Mar 12 20:10:28 2009
@@ -41,7 +41,7 @@
public abstract class AbstractMessageResponseTimeInterceptor extends AbstractPhaseInterceptor<Message> {
private static final Logger LOG = LogUtils.getL7dLogger(AbstractMessageResponseTimeInterceptor.class);
- AbstractMessageResponseTimeInterceptor(String phase) {
+ public AbstractMessageResponseTimeInterceptor(String phase) {
super(phase);
}
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java Thu Mar 12 20:10:28 2009
@@ -126,7 +126,14 @@
|| StringUtils.isEmpty(request.getPathInfo())
|| "/".equals(request.getPathInfo())) {
updateDests(request);
- generateServiceList(request, res);
+
+ if (request.getParameter("stylesheet") != null) {
+ renderStyleSheet(request, res);
+ } else if ("false".equals(request.getParameter("formatted"))) {
+ generateUnformattedServiceList(request, res);
+ } else {
+ generateServiceList(request, res);
+ }
} else {
d = checkRestfulRequest(request);
if (d == null || d.getMessageObserver() == null) {
@@ -196,16 +203,7 @@
}
protected void generateServiceList(HttpServletRequest request, HttpServletResponse response)
- throws IOException {
-
- if (request.getParameter("stylesheet") != null) {
- URL url = this.getClass().getResource("servicelist.css");
- if (url != null) {
- IOUtils.copy(url.openStream(), response.getOutputStream());
- }
- return;
- }
-
+ throws IOException {
response.setContentType("text/html; charset=UTF-8");
response.getWriter().write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" "
@@ -224,15 +222,7 @@
response.getWriter().write("<title>CXF - Service list</title>");
response.getWriter().write("</head><body>");
if (!isHideServiceList) {
- List<ServletDestination> destinations
- = new LinkedList<ServletDestination>(transport.getDestinations());
- Collections.sort(destinations, new Comparator<ServletDestination>() {
- public int compare(ServletDestination o1, ServletDestination o2) {
- return o1.getEndpointInfo().getInterface().getName()
- .getLocalPart().compareTo(o2.getEndpointInfo()
- .getInterface().getName().getLocalPart());
- }
- });
+ List<ServletDestination> destinations = getServletDestinations();
if (destinations.size() > 0) {
response.getWriter().write("<span class=\"heading\">Available services:</span><br/>");
@@ -271,6 +261,46 @@
response.getWriter().write("</body></html>");
}
+ private void renderStyleSheet(HttpServletRequest request,
+ HttpServletResponse response) throws IOException {
+ response.setContentType("text/css; charset=UTF-8");
+
+ URL url = this.getClass().getResource("servicelist.css");
+ if (url != null) {
+ IOUtils.copy(url.openStream(), response.getOutputStream());
+ }
+ }
+
+ private List<ServletDestination> getServletDestinations() {
+ List<ServletDestination> destinations = new LinkedList<ServletDestination>(
+ transport.getDestinations());
+ Collections.sort(destinations, new Comparator<ServletDestination>() {
+ public int compare(ServletDestination o1, ServletDestination o2) {
+ return o1.getEndpointInfo().getInterface().getName()
+ .getLocalPart().compareTo(
+ o2.getEndpointInfo().getInterface().getName()
+ .getLocalPart());
+ }
+ });
+
+ return destinations;
+ }
+
+ protected void generateUnformattedServiceList(HttpServletRequest request,
+ HttpServletResponse response) throws IOException {
+ response.setContentType("text/plain; charset=UTF-8");
+
+ if (!isHideServiceList) {
+ List<ServletDestination> destinations = getServletDestinations();
+
+ for (ServletDestination sd : destinations) {
+ String address = sd.getEndpointInfo().getAddress();
+ response.getWriter().write(address);
+ response.getWriter().write('\n');
+ }
+ }
+ }
+
private String getBaseURL(HttpServletRequest request) {
String reqPrefix = request.getRequestURL().toString();
String pathInfo = request.getPathInfo() == null ? "" : request.getPathInfo();
Modified: cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ClassUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ClassUtils.java?rev=752992&r1=752991&r2=752992&view=diff
==============================================================================
--- cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ClassUtils.java (original)
+++ cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ClassUtils.java Thu Mar 12 20:10:28 2009
@@ -42,6 +42,9 @@
public void compile(ToolContext context) throws ToolException {
List<String> argList = new ArrayList<String>();
+ //fix for CXF-2081, set maximum heap of current VM to javac.
+ argList.add("-J-Xmx" + Runtime.getRuntime().maxMemory());
+
String javaClasspath = System.getProperty("java.class.path");
// hard code cxf.jar
boolean classpathSetted = javaClasspath != null ? true : false;