Repository: cxf
Updated Branches:
  refs/heads/2.7.x-fixes d66aec3ad -> b7bb53b37


[CXF-6575] avoid calling a non-trivial method twice


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b7bb53b3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b7bb53b3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b7bb53b3

Branch: refs/heads/2.7.x-fixes
Commit: b7bb53b371f995972730537e96224aa739fe1e19
Parents: d66aec3
Author: Akitoshi Yoshida <[email protected]>
Authored: Wed Sep 2 18:09:13 2015 +0200
Committer: Akitoshi Yoshida <[email protected]>
Committed: Wed Sep 2 18:13:31 2015 +0200

----------------------------------------------------------------------
 .../apache/cxf/ws/addressing/impl/InternalContextUtils.java    | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/b7bb53b3/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java
----------------------------------------------------------------------
diff --git 
a/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java
 
b/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java
index 8e699b1..f66098b 100644
--- 
a/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java
+++ 
b/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java
@@ -53,6 +53,7 @@ import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.service.model.Extensible;
 import org.apache.cxf.service.model.FaultInfo;
 import org.apache.cxf.service.model.MessageInfo;
+import org.apache.cxf.service.model.MessagePartInfo;
 import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.ConduitInitiator;
 import org.apache.cxf.transport.ConduitInitiatorManager;
@@ -478,12 +479,13 @@ final class InternalContextUtils {
     private static boolean matchFault(Throwable t, FaultInfo fi) {
         //REVISIT not sure if this class-based comparison works in general as 
the fault class defined
         // in the service interface has no direct relationship to the message 
body's type.
-        Class<?> fiTypeClass = fi.getMessagePart(0).getTypeClass();
+        MessagePartInfo fmpi = fi.getMessagePart(0);
+        Class<?> fiTypeClass = fmpi.getTypeClass();
         if (fiTypeClass != null && t.getClass().isAssignableFrom(fiTypeClass)) 
{
             return true;
         }
         // CXF-6575
-        QName fiName = fi.getMessagePart(0).getConcreteName();
+        QName fiName = fmpi.getConcreteName();
         WebFault wf = t.getClass().getAnnotation(WebFault.class);
         return wf != null  && fiName != null
             && wf.targetNamespace() != null && 
wf.targetNamespace().equals(fiName.getNamespaceURI())

Reply via email to