Repository: cxf Updated Branches: refs/heads/2.7.x-fixes eea391ab1 -> 8328d99da
Squashed commit of the following: This closes #6 commit acdc0ca2cbce406733c238c87a532f641f67c817 Author: Peter Frandsen <[email protected]> Date: Thu Jun 5 18:20:57 2014 +0200 Update SOAPBindingUtil.java Added methods to get list of input and output SOAP headers. Issue https://issues.apache.org/jira/browse/CXF-5789 commit 047be6b98589471af544aa8ee47c6cc447924472 Author: Peter Frandsen <[email protected]> Date: Thu Jun 5 13:01:44 2014 +0200 Update WSIBPValidator.java Added check for method signature before call through reflection. Run all checks before returning false in case of validation error. commit e0fc39168c584e683791f88da6b2ea98a5ea3789 Author: Peter Frandsen <[email protected]> Date: Mon Jun 2 18:48:34 2014 +0200 Update ToolErrorListener.java update addError and addWarning to pass message methods they call instead of passing null Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8328d99d Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8328d99d Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8328d99d Branch: refs/heads/2.7.x-fixes Commit: 8328d99da1e19c262faf665de0a471e5b7177f15 Parents: eea391a Author: Daniel Kulp <[email protected]> Authored: Tue Jul 1 15:31:23 2014 -0400 Committer: Daniel Kulp <[email protected]> Committed: Tue Jul 1 18:56:11 2014 -0400 ---------------------------------------------------------------------- .../cxf/binding/soap/SOAPBindingUtil.java | 26 ++++++++++++++++++++ .../cxf/tools/common/ToolErrorListener.java | 4 +-- .../validator/internal/WSIBPValidator.java | 15 ++++++----- 3 files changed, 35 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/8328d99d/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SOAPBindingUtil.java ---------------------------------------------------------------------- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SOAPBindingUtil.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SOAPBindingUtil.java index 3a0c45c..66795c5 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SOAPBindingUtil.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SOAPBindingUtil.java @@ -248,6 +248,19 @@ public final class SOAPBindingUtil { return null; } + public static List<SoapHeader> getBindingInputSOAPHeaders(BindingOperation bop) { + List<SoapHeader> headers = new ArrayList<SoapHeader>(); + BindingInput bindingInput = bop.getBindingInput(); + if (bindingInput != null) { + for (Object obj : bindingInput.getExtensibilityElements()) { + if (isSOAPHeader(obj)) { + headers.add(getProxy(SoapHeader.class, obj)); + } + } + } + return headers; + } + public static SoapHeader getBindingOutputSOAPHeader(BindingOperation bop) { BindingOutput bindingOutput = bop.getBindingOutput(); if (bindingOutput != null) { @@ -261,6 +274,19 @@ public final class SOAPBindingUtil { return null; } + public static List<SoapHeader> getBindingOutputSOAPHeaders(BindingOperation bop) { + List<SoapHeader> headers = new ArrayList<SoapHeader>(); + BindingOutput bindingOutput = bop.getBindingOutput(); + if (bindingOutput != null) { + for (Object obj : bindingOutput.getExtensibilityElements()) { + if (isSOAPHeader(obj)) { + headers.add(getProxy(SoapHeader.class, obj)); + } + } + } + return headers; + } + public static SoapBinding getSoapBinding(List<ExtensibilityElement> exts) { for (ExtensibilityElement ext : exts) { if (isSOAPBinding(ext)) { http://git-wip-us.apache.org/repos/asf/cxf/blob/8328d99d/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java ---------------------------------------------------------------------- diff --git a/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java b/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java index 3815646..aff9015 100644 --- a/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java +++ b/tools/common/src/main/java/org/apache/cxf/tools/common/ToolErrorListener.java @@ -49,14 +49,14 @@ public class ToolErrorListener { List<ErrorInfo> errors = new LinkedList<ErrorInfo>(); public void addError(String file, int line, int column, String message) { - addError(file, line, column, null, null); + addError(file, line, column, message, null); } 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(String file, int line, int column, String message) { - addWarning(file, line, column, null, null); + addWarning(file, line, column, message, null); } public void addWarning(String file, int line, int column, String message, Throwable t) { if (file != null) { http://git-wip-us.apache.org/repos/asf/cxf/blob/8328d99d/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java ---------------------------------------------------------------------- diff --git a/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java b/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java index 74ad8f8..cfc69b7 100644 --- a/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java +++ b/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java @@ -19,7 +19,6 @@ package org.apache.cxf.tools.validator.internal; -import java.lang.reflect.Member; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; @@ -55,21 +54,21 @@ public class WSIBPValidator extends AbstractDefinitionValidator { } public boolean isValid() { + boolean valid = true; for (Method m : getClass().getMethods()) { - if (m.getName().startsWith("check") || m.getModifiers() == Member.PUBLIC) { + if (m.getName().startsWith("check") && m.getGenericReturnType() == boolean.class + && m.getGenericParameterTypes().length == 0) { try { - Boolean res = (Boolean)m.invoke(this, new Object[] {}); - if (!res.booleanValue()) { - return false; + Boolean res = (Boolean) m.invoke(this); + if (!res) { + valid = false; } } catch (Exception e) { - e.printStackTrace(); throw new ToolException(e); } } } - return true; - + return valid; } private boolean checkR2716(final BindingOperation bop) {
