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
commit 69ddf25a81c1cbfbbd5b99ee6aa55dfc47ad2d66 Author: Colm O hEigeartaigh <cohei...@apache.org> AuthorDate: Wed Jun 18 16:53:35 2025 +0100 Removing options from WSHandler --- .../org/apache/wss4j/dom/handler/WSHandler.java | 37 ++-------------------- .../org/apache/wss4j/dom/common/CustomHandler.java | 14 -------- .../apache/wss4j/dom/handler/CallbackRefTest.java | 37 ---------------------- .../wss4j/dom/message/EncryptionCRLTest.java | 2 +- .../apache/wss4j/stax/test/AbstractTestBase.java | 7 +--- 5 files changed, 5 insertions(+), 92 deletions(-) diff --git a/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java b/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java index c23b8e22b..5aecd979b 100644 --- a/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java +++ b/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java @@ -1048,10 +1048,8 @@ public abstract class WSHandler { RequestData requestData ) throws WSSecurityException { Map<String, Object> mc = requestData.getMsgContext(); - CallbackHandler cbHandler = (CallbackHandler) getOption(callbackHandlerRef); - if (cbHandler == null) { - cbHandler = (CallbackHandler) mc.get(callbackHandlerRef); - } + CallbackHandler cbHandler = (CallbackHandler) mc.get(callbackHandlerRef); + if (cbHandler == null) { String callback = getString(callbackHandlerClass, mc); if (callback != null) { @@ -1116,12 +1114,6 @@ public abstract class WSHandler { protected PasswordEncryptor getPasswordEncryptor(RequestData requestData) { PasswordEncryptor passwordEncryptor = requestData.getPasswordEncryptor(); - if (passwordEncryptor == null) { - Object o = getOption(WSHandlerConstants.PASSWORD_ENCRYPTOR_INSTANCE); - if (o instanceof PasswordEncryptor) { - passwordEncryptor = (PasswordEncryptor) o; - } - } if (passwordEncryptor == null) { Map<String, Object> mc = requestData.getMsgContext(); Object o = mc.get(WSHandlerConstants.PASSWORD_ENCRYPTOR_INSTANCE); @@ -1331,37 +1323,16 @@ public abstract class WSHandler { * @return the value found. * @throws IllegalArgumentException if <code>key</code> is null. */ - public String getString(String key, Map<String, Object> mc) { + private String getString(String key, Map<String, Object> mc) { if (key == null) { throw new IllegalArgumentException("Key cannot be null"); } - String s = getStringOption(key); - if (s != null) { - return s; - } if (mc == null) { throw new IllegalArgumentException("Message context cannot be null"); } return (String) mc.get(key); } - - /** - * Returns the option on <code>name</code>. - * - * @param key the non-null key of the option. - * @return the option on <code>key</code> if <code>key</code> - * exists and is of type java.lang.String; otherwise null. - */ - public String getStringOption(String key) { - Object o = getOption(key); - if (o instanceof String) { - return (String) o; - } else { - return null; - } - } - /** * Returns the classloader to be used for loading the callback class * @return class loader @@ -1374,6 +1345,4 @@ public abstract class WSHandler { } } - public abstract Object getOption(String key); - } diff --git a/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomHandler.java b/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomHandler.java index e26a3d2cd..c453c210c 100644 --- a/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomHandler.java +++ b/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomHandler.java @@ -27,9 +27,7 @@ import org.apache.wss4j.dom.handler.RequestData; import org.apache.wss4j.dom.handler.WSHandlerResult; import org.w3c.dom.Document; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** @@ -37,18 +35,6 @@ import java.util.Map; */ public class CustomHandler extends WSHandler { - private Map<String, Object> optionsMap = new HashMap<>(); - - public Object - getOption(String key) { - return optionsMap.get(key); - } - - public void - setOption(String key, Object option) { - optionsMap.put(key, option); - } - public void send( Document doc, RequestData reqData, diff --git a/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CallbackRefTest.java b/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CallbackRefTest.java index 034479b52..33d37a9e1 100644 --- a/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CallbackRefTest.java +++ b/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/CallbackRefTest.java @@ -87,41 +87,4 @@ public class CallbackRefTest { assertTrue(outputString.contains("securityPassword")); } - /** - * A test for WSHandler.getPassword(...) where the password is obtained from a - * Callback Handler, which is obtained from the handler options using a ref. - */ - @Test - public void - testHandlerOptionRef() throws Exception { - - final WSSConfig cfg = WSSConfig.getNewInstance(); - final RequestData reqData = new RequestData(); - reqData.setWssConfig(cfg); - reqData.setUsername("alice"); - reqData.setPwType(WSConstants.PASSWORD_TEXT); - reqData.setMsgContext(new java.util.TreeMap<String, Object>()); - - final java.util.List<Integer> actions = new java.util.ArrayList<>(); - actions.add(WSConstants.UT); - Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG); - CustomHandler handler = new CustomHandler(); - handler.setOption(WSHandlerConstants.PW_CALLBACK_REF, callbackHandler); - HandlerAction action = new HandlerAction(WSConstants.UT); - handler.send( - doc, - reqData, - Collections.singletonList(action), - true - ); - - String outputString = - XMLUtils.prettyDocumentToString(doc); - if (LOG.isDebugEnabled()) { - LOG.debug(outputString); - } - assertTrue(outputString.contains("alice")); - assertTrue(outputString.contains("securityPassword")); - } - } \ No newline at end of file diff --git a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionCRLTest.java b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionCRLTest.java index 5f7e52c5c..5da4f3ccc 100644 --- a/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionCRLTest.java +++ b/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionCRLTest.java @@ -135,12 +135,12 @@ public class EncryptionCRLTest { reqData.setEncryptionToken(actionToken); java.util.Map<String, Object> messageContext = new java.util.TreeMap<>(); messageContext.put(WSHandlerConstants.PW_CALLBACK_REF, keystoreCallbackHandler); + messageContext.put(WSHandlerConstants.ENABLE_REVOCATION, "true"); reqData.setMsgContext(messageContext); reqData.setUsername("wss40rev"); final Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG); CustomHandler handler = new CustomHandler(); - handler.setOption(WSHandlerConstants.ENABLE_REVOCATION, "true"); try { handler.send( doc, diff --git a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AbstractTestBase.java b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AbstractTestBase.java index b41ee0ca7..2f6e6b1f6 100644 --- a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AbstractTestBase.java +++ b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AbstractTestBase.java @@ -390,7 +390,7 @@ public abstract class AbstractTestBase { * For every action we need a username, so get this now. The username * defined in the deployment descriptor takes precedence. */ - reqData.setUsername((String) getOption(WSHandlerConstants.USER)); + reqData.setUsername((String) mc.get(WSHandlerConstants.USER)); if (reqData.getUsername() == null || reqData.getUsername().isEmpty()) { reqData.setUsername((String) mc.get(WSHandlerConstants.USER)); } @@ -586,11 +586,6 @@ public abstract class AbstractTestBase { return true; } - @Override - public Object getOption(String key) { - return null; - } - } protected class TestSecurityEventListener implements SecurityEventListener {