This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch coheigea/saml-refactor-new
in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git


The following commit(s) were added to refs/heads/coheigea/saml-refactor-new by 
this push:
     new 1b2f0abd4 Moving callback into ws-security-common
1b2f0abd4 is described below

commit 1b2f0abd4e1eaebd6ac6b7b1df7517ac78c0bb9e
Author: Colm O hEigeartaigh <cohei...@apache.org>
AuthorDate: Tue Jun 17 09:42:19 2025 +0100

    Moving callback into ws-security-common
---
 .../wss4j/common}/dom/callback/CallbackLookup.java |  2 +-
 .../common}/dom/callback/DOMCallbackLookup.java    | 23 +++++++++++-----------
 .../org/apache/wss4j/common/util/XMLUtils.java     | 13 ++++++++++++
 .../main/java/org/apache/wss4j/dom/WSDocInfo.java  |  4 ++--
 .../apache/wss4j/dom/engine/WSSecurityEngine.java  |  4 ++--
 .../org/apache/wss4j/dom/message/Encryptor.java    |  4 ++--
 .../org/apache/wss4j/dom/message/WSSecBase.java    |  4 ++--
 .../wss4j/dom/message/WSSecSignatureBase.java      |  2 +-
 .../wss4j/dom/processor/SignatureProcessor.java    |  2 +-
 .../org/apache/wss4j/dom/str/STRParserUtil.java    |  4 ++--
 .../org/apache/wss4j/dom/util/EncryptionUtils.java |  2 +-
 .../org/apache/wss4j/dom/util/WSSecurityUtil.java  |  2 +-
 12 files changed, 39 insertions(+), 27 deletions(-)

diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/callback/CallbackLookup.java
 
b/ws-security-common/src/main/java/org/apache/wss4j/common/dom/callback/CallbackLookup.java
similarity index 98%
rename from 
ws-security-dom/src/main/java/org/apache/wss4j/dom/callback/CallbackLookup.java
rename to 
ws-security-common/src/main/java/org/apache/wss4j/common/dom/callback/CallbackLookup.java
index eab583286..2d7769110 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/callback/CallbackLookup.java
+++ 
b/ws-security-common/src/main/java/org/apache/wss4j/common/dom/callback/CallbackLookup.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.wss4j.dom.callback;
+package org.apache.wss4j.common.dom.callback;
 
 import java.util.List;
 
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/callback/DOMCallbackLookup.java
 
b/ws-security-common/src/main/java/org/apache/wss4j/common/dom/callback/DOMCallbackLookup.java
similarity index 88%
rename from 
ws-security-dom/src/main/java/org/apache/wss4j/dom/callback/DOMCallbackLookup.java
rename to 
ws-security-common/src/main/java/org/apache/wss4j/common/dom/callback/DOMCallbackLookup.java
index 7a9cf38d8..423a6b2de 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/callback/DOMCallbackLookup.java
+++ 
b/ws-security-common/src/main/java/org/apache/wss4j/common/dom/callback/DOMCallbackLookup.java
@@ -17,17 +17,16 @@
  * under the License.
  */
 
-package org.apache.wss4j.dom.callback;
+package org.apache.wss4j.common.dom.callback;
 
 import java.util.Collections;
 import java.util.List;
 
 import javax.xml.crypto.dom.DOMCryptoContext;
 
-import org.apache.wss4j.dom.WSConstants;
+import org.apache.wss4j.common.WSS4JConstants;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -84,10 +83,10 @@ public class DOMCallbackLookup implements CallbackLookup {
         //
         Element bodyElement = getSOAPBody();
         if (bodyElement != null) {
-            String cId = bodyElement.getAttributeNS(WSConstants.WSU_NS, "Id");
+            String cId = bodyElement.getAttributeNS(WSS4JConstants.WSU_NS, 
"Id");
             if (cId.equals(idToMatch)) {
                 if (context != null) {
-                    context.setIdAttributeNS(bodyElement, WSConstants.WSU_NS, 
"Id");
+                    context.setIdAttributeNS(bodyElement, 
WSS4JConstants.WSU_NS, "Id");
                 }
                 return bodyElement;
             }
@@ -97,9 +96,9 @@ public class DOMCallbackLookup implements CallbackLookup {
             XMLUtils.findElementById(doc.getDocumentElement(), idToMatch, 
checkMultipleElements);
         if (foundElement != null) {
             if (context != null) {
-                if (foundElement.hasAttributeNS(WSConstants.WSU_NS, "Id")
-                    && 
idToMatch.equals(foundElement.getAttributeNS(WSConstants.WSU_NS, "Id"))) {
-                    context.setIdAttributeNS(foundElement, WSConstants.WSU_NS, 
"Id");
+                if (foundElement.hasAttributeNS(WSS4JConstants.WSU_NS, "Id")
+                    && 
idToMatch.equals(foundElement.getAttributeNS(WSS4JConstants.WSU_NS, "Id"))) {
+                    context.setIdAttributeNS(foundElement, 
WSS4JConstants.WSU_NS, "Id");
                 }
                 if (foundElement.hasAttributeNS(null, "Id")
                     && idToMatch.equals(foundElement.getAttributeNS(null, 
"Id"))) {
@@ -113,8 +112,8 @@ public class DOMCallbackLookup implements CallbackLookup {
         // Try to find a SAML Assertion Element if the ValueType corresponds 
to a SAML Assertion
         // (or is empty)
         //
-        if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(valueType)
-            || WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(valueType)
+        if (WSS4JConstants.WSS_SAML_KI_VALUE_TYPE.equals(valueType)
+            || WSS4JConstants.WSS_SAML2_KI_VALUE_TYPE.equals(valueType)
             || valueType == null || valueType.length() == 0) {
             foundElement =
                 XMLUtils.findSAMLAssertionElementById(
@@ -152,7 +151,7 @@ public class DOMCallbackLookup implements CallbackLookup {
         // Try the SOAP Body first
         //
         Element bodyElement = getSOAPBody();
-        if (WSConstants.ELEM_BODY.equals(localname) && 
bodyElement.getNamespaceURI().equals(namespace)) {
+        if (WSS4JConstants.ELEM_BODY.equals(localname) && 
bodyElement.getNamespaceURI().equals(namespace)) {
             return Collections.singletonList(bodyElement);
         }
         return XMLUtils.findElements(doc.getDocumentElement(), localname, 
namespace);
@@ -163,6 +162,6 @@ public class DOMCallbackLookup implements CallbackLookup {
      * Get the SOAP Body
      */
     public Element getSOAPBody() {
-        return WSSecurityUtil.findBodyElement(doc);
+        return XMLUtils.findBodyElement(doc);
     }
 }
diff --git 
a/ws-security-common/src/main/java/org/apache/wss4j/common/util/XMLUtils.java 
b/ws-security-common/src/main/java/org/apache/wss4j/common/util/XMLUtils.java
index d09fcb35b..40296dcce 100644
--- 
a/ws-security-common/src/main/java/org/apache/wss4j/common/util/XMLUtils.java
+++ 
b/ws-security-common/src/main/java/org/apache/wss4j/common/util/XMLUtils.java
@@ -830,4 +830,17 @@ public final class XMLUtils {
         }
         return clonedElement;
     }
+
+    /**
+     * return the first soap "Body" element. <p/>
+     *
+     * @param doc
+     * @return the body element or <code>null</code> if document does not
+     *         contain a SOAP body
+     */
+    public static Element findBodyElement(Document doc) {
+        Element docElement = doc.getDocumentElement();
+        String ns = docElement.getNamespaceURI();
+        return XMLUtils.getDirectChildElement(docElement, 
WSS4JConstants.ELEM_BODY, ns);
+    }
 }
diff --git a/ws-security-dom/src/main/java/org/apache/wss4j/dom/WSDocInfo.java 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/WSDocInfo.java
index cecfde6d7..25143486e 100644
--- a/ws-security-dom/src/main/java/org/apache/wss4j/dom/WSDocInfo.java
+++ b/ws-security-dom/src/main/java/org/apache/wss4j/dom/WSDocInfo.java
@@ -40,10 +40,10 @@ import java.util.Map;
 import javax.xml.crypto.dom.DOMCryptoContext;
 
 import org.apache.wss4j.common.crypto.Crypto;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
+import org.apache.wss4j.common.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.wss4j.dom.callback.CallbackLookup;
-import org.apache.wss4j.common.dom.engine.WSSecurityEngineResult;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java
 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java
index a51c15dbf..f5dad8716 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java
@@ -30,11 +30,11 @@ import javax.xml.namespace.QName;
 import org.apache.wss4j.common.bsp.BSPRule;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.dom.engine.WSSecurityEngineResult;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
+import org.apache.wss4j.common.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDocInfo;
-import org.apache.wss4j.dom.callback.CallbackLookup;
-import org.apache.wss4j.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.processor.Processor;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/Encryptor.java 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/Encryptor.java
index 77f407f93..26300f7a7 100644
--- a/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/Encryptor.java
+++ b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/Encryptor.java
@@ -35,6 +35,8 @@ import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.UnsupportedCallbackException;
 
 import org.apache.wss4j.common.WSEncryptionPart;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
+import org.apache.wss4j.common.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.common.ext.Attachment;
 import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.AttachmentResultCallback;
@@ -44,8 +46,6 @@ import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.WsuIdAllocator;
-import org.apache.wss4j.dom.callback.CallbackLookup;
-import org.apache.wss4j.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.encryption.AbstractSerializer;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecBase.java 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecBase.java
index c7f232afd..aa2020bd4 100644
--- a/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecBase.java
+++ b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecBase.java
@@ -20,12 +20,12 @@
 package org.apache.wss4j.dom.message;
 
 import org.apache.wss4j.common.WSEncryptionPart;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
+import org.apache.wss4j.common.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.WsuIdAllocator;
-import org.apache.wss4j.dom.callback.CallbackLookup;
-import org.apache.wss4j.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignatureBase.java
 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignatureBase.java
index 6c907165d..e86575f2e 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignatureBase.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignatureBase.java
@@ -36,6 +36,7 @@ import javax.xml.crypto.dsig.spec.TransformParameterSpec;
 
 
 import org.apache.wss4j.common.WSEncryptionPart;
+import org.apache.wss4j.common.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.common.ext.Attachment;
 import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
@@ -43,7 +44,6 @@ import org.apache.wss4j.common.util.AttachmentUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDocInfo;
-import org.apache.wss4j.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.dom.transform.AttachmentTransformParameterSpec;
 import org.apache.wss4j.dom.transform.STRTransform;
 import org.apache.wss4j.dom.util.SignatureUtils;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
index 75436f988..8d352dd99 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
@@ -53,6 +53,7 @@ import org.apache.wss4j.common.crypto.AlgorithmSuite;
 import org.apache.wss4j.common.crypto.AlgorithmSuiteValidator;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoType;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.principal.PublicKeyPrincipalImpl;
 import org.apache.wss4j.common.principal.UsernameTokenPrincipal;
@@ -64,7 +65,6 @@ import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.common.WSDataRef;
 import org.apache.wss4j.dom.WSDocInfo;
-import org.apache.wss4j.dom.callback.CallbackLookup;
 import org.apache.wss4j.common.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.message.token.Timestamp;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java
index 287ece355..d05a4e20b 100644
--- a/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java
+++ b/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java
@@ -26,6 +26,8 @@ import javax.security.auth.callback.CallbackHandler;
 
 import org.apache.wss4j.common.bsp.BSPEnforcer;
 import org.apache.wss4j.common.bsp.BSPRule;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
+import org.apache.wss4j.common.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.common.ext.WSPasswordCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.saml.SamlAssertionWrapper;
@@ -36,8 +38,6 @@ import org.apache.wss4j.common.token.X509Security;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDocInfo;
-import org.apache.wss4j.dom.callback.CallbackLookup;
-import org.apache.wss4j.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.common.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.message.token.KerberosSecurity;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java
index 956867f1e..208c80063 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java
@@ -19,6 +19,7 @@
 
 package org.apache.wss4j.dom.util;
 
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
 import org.apache.wss4j.common.ext.Attachment;
 import org.apache.wss4j.common.ext.AttachmentRequestCallback;
 import org.apache.wss4j.common.ext.AttachmentResultCallback;
@@ -28,7 +29,6 @@ import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.common.WSDataRef;
 import org.apache.wss4j.dom.WSDocInfo;
-import org.apache.wss4j.dom.callback.CallbackLookup;
 import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.encryption.Serializer;
 import org.apache.xml.security.encryption.XMLCipher;
diff --git 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
index 8ef84c00a..0f6d91c82 100644
--- 
a/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
+++ 
b/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
@@ -20,9 +20,9 @@
 package org.apache.wss4j.dom.util;
 
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.callback.CallbackLookup;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.common.WSEncryptionPart;
+import org.apache.wss4j.common.dom.callback.CallbackLookup;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.AttachmentUtils;
 import org.apache.wss4j.common.util.XMLUtils;

Reply via email to