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

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


The following commit(s) were added to refs/heads/master by this push:
     new 09a5c8952 Removing performance directory
09a5c8952 is described below

commit 09a5c8952d4f7c57c257f9cd32ceec97c4aba49d
Author: Colm O hEigeartaigh <cohei...@apache.org>
AuthorDate: Tue Feb 21 07:40:18 2023 +0000

    Removing performance directory
---
 performance/pom.xml                                | 102 ---
 .../apache/wss4j/performance/AbstractTestBase.java | 786 ---------------------
 .../wss4j/performance/PerformanceMemoryTest.java   | 479 -------------
 .../wss4j/performance/PerformanceTimingTest.java   | 317 ---------
 performance/src/test/resources/log4j-wss.xml       |  47 --
 5 files changed, 1731 deletions(-)

diff --git a/performance/pom.xml b/performance/pom.xml
deleted file mode 100644
index 7f08d6458..000000000
--- a/performance/pom.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.wss4j</groupId>
-        <artifactId>wss4j-parent</artifactId>
-        <relativePath>../parent/pom.xml</relativePath>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-    <groupId>org.apache.wss4j</groupId>
-    <artifactId>performance</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-    <name>Apache WSS4J Streaming WS-Security Performance tests</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>net.sf.ehcache</groupId>
-            <artifactId>ehcache</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.wss4j</groupId>
-            <artifactId>wss4j-ws-security-dom</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.wss4j</groupId>
-            <artifactId>wss4j-ws-security-stax</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.wss4j</groupId>
-            <artifactId>wss4j-ws-security-stax</artifactId>
-            <version>${project.version}</version>
-            <classifier>tests</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-reload4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <version>6.5.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <groups>${test.groups}</groups>
-                    <argLine>-Xmx2000m</argLine>
-                    <systemPropertyVariables>
-                        
<log4j.configuration>log4j-wss.xml</log4j.configuration>
-                    </systemPropertyVariables>
-                    <!--<debugForkedProcess>true</debugForkedProcess>-->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>2.4</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>test-jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git 
a/performance/src/test/java/org/apache/wss4j/performance/AbstractTestBase.java 
b/performance/src/test/java/org/apache/wss4j/performance/AbstractTestBase.java
deleted file mode 100644
index 83821e6a9..000000000
--- 
a/performance/src/test/java/org/apache/wss4j/performance/AbstractTestBase.java
+++ /dev/null
@@ -1,786 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.wss4j.performance;
-
-import org.apache.wss4j.common.bsp.BSPRule;
-import org.apache.wss4j.common.crypto.Crypto;
-import org.apache.wss4j.common.crypto.CryptoFactory;
-import org.apache.wss4j.common.ext.WSSecurityException;
-import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSSConfig;
-import org.apache.wss4j.dom.WSSecurityEngineResult;
-
-import org.apache.wss4j.dom.handler.HandlerAction;
-import org.apache.wss4j.dom.handler.RequestData;
-import org.apache.wss4j.dom.handler.WSHandler;
-import org.apache.wss4j.dom.handler.WSHandlerConstants;
-import org.apache.wss4j.dom.handler.WSHandlerResult;
-import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.wss4j.stax.ConfigurationConverter;
-import org.apache.wss4j.stax.WSSec;
-import org.apache.wss4j.stax.ext.InboundWSSec;
-import org.apache.wss4j.stax.ext.OutboundWSSec;
-import org.apache.wss4j.stax.ext.WSSConstants;
-import org.apache.wss4j.stax.ext.WSSSecurityProperties;
-import org.apache.wss4j.stax.impl.processor.input.DecryptInputProcessor;
-import org.apache.wss4j.stax.test.WSS4JCallbackHandlerImpl;
-import org.apache.wss4j.stax.test.utils.SOAPUtil;
-import org.apache.wss4j.stax.test.utils.StAX2DOM;
-import org.apache.wss4j.stax.test.utils.XmlReaderToWriter;
-import org.apache.xml.security.exceptions.XMLSecurityException;
-import org.apache.xml.security.stax.impl.InboundSecurityContextImpl;
-import 
org.apache.xml.security.stax.impl.processor.input.AbstractDecryptInputProcessor;
-import 
org.apache.xml.security.stax.impl.processor.input.AbstractSignatureReferenceVerifyInputProcessor;
-import 
org.apache.xml.security.stax.impl.processor.input.XMLEventReaderInputProcessor;
-import org.apache.xml.security.stax.securityEvent.SecurityEvent;
-import org.apache.xml.security.stax.securityEvent.SecurityEventConstants;
-import org.apache.xml.security.stax.securityEvent.SecurityEventListener;
-import org.junit.AfterClass;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import javax.security.auth.callback.CallbackHandler;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.LogManager;
-import java.util.logging.Logger;
-
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.fail;
-
-public abstract class AbstractTestBase {
-
-    //javax.xml.transform.Transformer transformer = 
TransformerFactory.newInstance().newTransformer();
-    //transformer.transform(new StreamSource(new 
ByteArrayInputStream(baos.toByteArray())), new StreamResult(System.out));
-
-    protected static final XMLInputFactory xmlInputFactory = 
XMLInputFactory.newInstance();
-    protected static final TransformerFactory TRANSFORMER_FACTORY = 
TransformerFactory.newInstance();
-    protected DocumentBuilderFactory documentBuilderFactory;
-
-    protected static final String SECURED_DOCUMENT = "securedDocument";
-
-    static {
-        
LogManager.getLogManager().addLogger(Logger.getLogger("org.jcp.xml.dsig.internal.dom"));
-        
LogManager.getLogManager().getLogger("org.jcp.xml.dsig.internal.dom").setLevel(Level.FINE);
-        WSSConfig.init();
-    }
-
-    @AfterClass
-    public static void cleanup() throws Exception {
-        SecurityTestUtil.cleanup();
-    }
-
-    public AbstractTestBase() {
-        documentBuilderFactory = DocumentBuilderFactory.newInstance();
-        documentBuilderFactory.setNamespaceAware(true);
-        documentBuilderFactory.setIgnoringComments(false);
-        documentBuilderFactory.setCoalescing(false);
-        documentBuilderFactory.setIgnoringElementContentWhitespace(false);
-        xmlInputFactory.setProperty(XMLInputFactory.IS_COALESCING, false);
-        xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false);
-        //xmlInputFactory.setProperty(WstxInputProperties.P_MIN_TEXT_SEGMENT, 
new Integer(5 * 8192));
-    }
-
-    public Document doInboundSecurity(WSSSecurityProperties 
securityProperties, InputStream inputStream)
-            throws XMLStreamException, ParserConfigurationException, 
XMLSecurityException {
-        return doInboundSecurity(securityProperties, 
xmlInputFactory.createXMLStreamReader(inputStream), null);
-    }
-
-    public Document doInboundSecurity(WSSSecurityProperties 
securityProperties, InputStream inputStream,
-                                      SecurityEventListener 
securityEventListener)
-            throws XMLStreamException, ParserConfigurationException, 
XMLSecurityException {
-        return doInboundSecurity(securityProperties, 
xmlInputFactory.createXMLStreamReader(inputStream), securityEventListener);
-    }
-
-    public Document doInboundSecurity(WSSSecurityProperties 
securityProperties, InputStream inputStream,
-                                      List<SecurityEvent> securityEventList, 
SecurityEventListener securityEventListener)
-            throws XMLStreamException, ParserConfigurationException, 
XMLSecurityException {
-        return doInboundSecurity(securityProperties, 
xmlInputFactory.createXMLStreamReader(inputStream), securityEventList, 
securityEventListener);
-    }
-
-    public Document doInboundSecurity(WSSSecurityProperties 
securityProperties, XMLStreamReader xmlStreamReader)
-            throws XMLStreamException, ParserConfigurationException, 
XMLSecurityException {
-        return doInboundSecurity(securityProperties, xmlStreamReader, null);
-    }
-
-    public Document doInboundSecurity(WSSSecurityProperties 
securityProperties, XMLStreamReader xmlStreamReader,
-                                      SecurityEventListener 
securityEventListener)
-            throws XMLStreamException, ParserConfigurationException, 
XMLSecurityException {
-        return doInboundSecurity(securityProperties, xmlStreamReader, new 
ArrayList<>(), securityEventListener);
-    }
-
-    public Document doInboundSecurity(WSSSecurityProperties 
securityProperties, XMLStreamReader xmlStreamReader,
-                                      List<SecurityEvent> securityEventList, 
SecurityEventListener securityEventListener)
-            throws XMLStreamException, ParserConfigurationException, 
XMLSecurityException {
-        InboundWSSec wsSecIn = WSSec.getInboundWSSec(securityProperties);
-        XMLStreamReader outXmlStreamReader = 
wsSecIn.processInMessage(xmlStreamReader, securityEventList, 
securityEventListener);
-        return StAX2DOM.readDoc(documentBuilderFactory.newDocumentBuilder(), 
outXmlStreamReader);
-    }
-
-    protected ByteArrayOutputStream doOutboundSecurity(WSSSecurityProperties 
securityProperties, InputStream sourceDocument)
-            throws Exception {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        OutboundWSSec wsSecOut = WSSec.getOutboundWSSec(securityProperties);
-        XMLStreamWriter xmlStreamWriter = wsSecOut.processOutMessage(baos, 
"UTF-8", new ArrayList<>());
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(sourceDocument);
-        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
-        xmlStreamWriter.close();
-        return baos;
-    }
-
-    protected ByteArrayOutputStream doOutboundSecurity(Map<String, Object> 
config, InputStream sourceDocument)
-        throws Exception {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        WSSSecurityProperties securityProperties = 
ConfigurationConverter.convert(config);
-        OutboundWSSec wsSecOut = WSSec.getOutboundWSSec(securityProperties);
-        XMLStreamWriter xmlStreamWriter = wsSecOut.processOutMessage(baos, 
"UTF-8", new ArrayList<>());
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(sourceDocument);
-        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
-        xmlStreamWriter.close();
-        return baos;
-    }
-
-    protected Document doOutboundSecurityWithWSS4J(InputStream sourceDocument, 
String action, Properties properties)
-            throws WSSecurityException, TransformerException {
-        Map<String, Object> context = 
doOutboundSecurityWithWSS4J_1(sourceDocument, action, properties);
-        return (Document) context.get(SECURED_DOCUMENT);
-    }
-
-    protected Map<String, Object> doOutboundSecurityWithWSS4J_1(
-            InputStream sourceDocument, String action, final Properties 
properties
-    ) throws WSSecurityException, TransformerException {
-        CustomWSS4JHandler wss4JHandler = new CustomWSS4JHandler();
-        final Map<String, Object> messageContext = 
getMessageContext(sourceDocument);
-        messageContext.put(WSHandlerConstants.ACTION, action);
-        messageContext.put(WSHandlerConstants.USER, "transmitter");
-
-        Properties sigProperties = new Properties();
-        sigProperties.setProperty("org.apache.wss4j.crypto.provider", 
"org.apache.wss4j.common.crypto.Merlin");
-        
sigProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.file", 
"transmitter.jks");
-        
sigProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.password", 
"default");
-        
//sigProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.alias", 
"transmitter");
-        wss4JHandler.setPassword(messageContext, "default");
-        messageContext.put(WSHandlerConstants.SIG_PROP_REF_ID, "" + 
sigProperties.hashCode());
-        messageContext.put("" + sigProperties.hashCode(), sigProperties);
-
-        Properties encProperties = new Properties();
-        encProperties.setProperty("org.apache.wss4j.crypto.provider", 
"org.apache.wss4j.common.crypto.Merlin");
-        
encProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.file", 
"transmitter.jks");
-        
encProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.password", 
"default");
-        
//sigProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.alias", 
"transmitter");
-        wss4JHandler.setPassword(messageContext, "default");
-        messageContext.put(WSHandlerConstants.ENCRYPTION_USER, "receiver");
-        messageContext.put(WSHandlerConstants.ENC_PROP_REF_ID, "" + 
encProperties.hashCode());
-        messageContext.put("" + encProperties.hashCode(), encProperties);
-
-        Enumeration<?> enumeration = properties.propertyNames();
-        while (enumeration.hasMoreElements()) {
-            String s = (String) enumeration.nextElement();
-            messageContext.put(s, properties.get(s));
-        }
-
-        RequestData requestData = new RequestData();
-        requestData.setMsgContext(messageContext);
-        requestData.setCallbackHandler(new WSS4JCallbackHandlerImpl());
-        requestData.setWssConfig(WSSConfig.getNewInstance());
-
-        wss4JHandler.doSender(messageContext, requestData, true);
-
-        return messageContext;
-    }
-
-    protected Document doInboundSecurityWithWSS4J(Document document, String 
action) throws Exception {
-        Map<String, Object> messageContext = 
doInboundSecurityWithWSS4J_1(document, action);
-        return ((Document) messageContext.get(SECURED_DOCUMENT));
-    }
-
-    protected Map<String, Object> doInboundSecurityWithWSS4J_1(Document 
document, String action) throws Exception {
-        return doInboundSecurityWithWSS4J_1(document, action, new 
Properties(), false);
-    }
-
-    protected Map<String, Object> doInboundSecurityWithWSS4J_1(
-            Document document, String action, Properties properties, boolean 
client
-    ) throws Exception {
-        CustomWSS4JHandler wss4JHandler = new CustomWSS4JHandler();
-        Map<String, Object> messageContext = getMessageContext(document);
-        messageContext.put(WSHandlerConstants.ACTION, action);
-        if (client) {
-            messageContext.put(WSHandlerConstants.USER, "transmitter");
-        } else {
-            messageContext.put(WSHandlerConstants.USER, "receiver");
-        }
-
-        if (properties.get(WSHandlerConstants.PW_CALLBACK_REF) != null) {
-            messageContext.put(WSHandlerConstants.PW_CALLBACK_REF, 
properties.get(WSHandlerConstants.PW_CALLBACK_REF));
-        } else {
-            messageContext.put(WSHandlerConstants.PW_CALLBACK_REF, new 
WSS4JCallbackHandlerImpl());
-        }
-
-        
messageContext.put(WSHandlerConstants.VALIDATE_SAML_SUBJECT_CONFIRMATION, 
"false");
-        Enumeration<?> enumeration = properties.propertyNames();
-        while (enumeration.hasMoreElements()) {
-            String s = (String) enumeration.nextElement();
-            messageContext.put(s, properties.get(s));
-        }
-
-        RequestData requestData = new RequestData();
-        requestData.setMsgContext(messageContext);
-        if (client) {
-            final Crypto crypto = 
CryptoFactory.getInstance("transmitter-crypto.properties");
-            requestData.setDecCrypto(crypto);
-            requestData.setSigVerCrypto(crypto);
-        } else {
-            final Crypto crypto = 
CryptoFactory.getInstance("receiver-crypto.properties");
-            requestData.setDecCrypto(crypto);
-            requestData.setSigVerCrypto(crypto);
-        }
-
-        if (properties.get(WSHandlerConstants.ALLOW_USERNAMETOKEN_NOPASSWORD) 
!= null) {
-            
messageContext.put(WSHandlerConstants.ALLOW_USERNAMETOKEN_NOPASSWORD,
-                               
properties.get(WSHandlerConstants.ALLOW_USERNAMETOKEN_NOPASSWORD));
-        } else if (WSHandlerConstants.USERNAME_TOKEN_SIGNATURE.equals(action)) 
{
-            
messageContext.put(WSHandlerConstants.ALLOW_USERNAMETOKEN_NOPASSWORD, "true");
-        }
-
-        // Disable PrefixList checking as the stax code doesn't support this 
yet
-        //todo
-        List<BSPRule> ignoredRules = new ArrayList<>();
-        ignoredRules.add(BSPRule.R5404);
-        ignoredRules.add(BSPRule.R5406);
-        ignoredRules.add(BSPRule.R5407);
-        ignoredRules.add(BSPRule.R5417);
-        ignoredRules.add(BSPRule.R3063);
-        ignoredRules.add(BSPRule.R5620);
-        ignoredRules.add(BSPRule.R5621);
-        //ignoredRules.add(BSPRule.R5215);
-        requestData.setIgnoredBSPRules(ignoredRules);
-
-        wss4JHandler.doReceiver(messageContext, requestData, false);
-
-        return messageContext;
-    }
-
-    protected Map<String, Object> getMessageContext(InputStream inputStream) {
-        Map<String, Object> context = new HashMap<>();
-        try {
-            context.put(SECURED_DOCUMENT, SOAPUtil.toSOAPPart(inputStream));
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-        return context;
-    }
-
-    private Map<String, Object> getMessageContext(Document document) {
-        Map<String, Object> context = new HashMap<>();
-        context.put(SECURED_DOCUMENT, document);
-        return context;
-    }
-
-    protected XPathExpression getXPath(String expression) throws 
XPathExpressionException {
-        XPathFactory xPathFactory = XPathFactory.newInstance();
-        XPath xPath = xPathFactory.newXPath();
-        xPath.setNamespaceContext(
-                new NamespaceContext() {
-                    @Override
-                    public String getNamespaceURI(String prefix) {
-                        if (WSSConstants.PREFIX_DSIG.equals(prefix)) {
-                            return WSSConstants.NS_DSIG;
-                        } else if (WSSConstants.PREFIX_SOAPENV.equals(prefix)) 
{
-                            return WSSConstants.NS_SOAP11;
-                        } else if (WSSConstants.PREFIX_WSSE.equals(prefix)) {
-                            return WSSConstants.NS_WSSE10;
-                        } else if (WSSConstants.PREFIX_WSU.equals(prefix)) {
-                            return WSSConstants.NS_WSU10;
-                        } else if (WSSConstants.PREFIX_XENC.equals(prefix)) {
-                            return WSSConstants.NS_XMLENC;
-                        } else if (WSSConstants.PREFIX_XENC11.equals(prefix)) {
-                            return WSSConstants.NS_XMLENC11;
-                        } else {
-                            return null;
-                        }
-                    }
-
-                    @Override
-                    public String getPrefix(String namespaceURI) {
-                        if (WSSConstants.NS_DSIG.equals(namespaceURI)) {
-                            return WSSConstants.PREFIX_DSIG;
-                        } else if 
(WSSConstants.NS_SOAP11.equals(namespaceURI)) {
-                            return WSSConstants.PREFIX_SOAPENV;
-                        } else if 
(WSSConstants.NS_WSSE10.equals(namespaceURI)) {
-                            return WSSConstants.PREFIX_WSSE;
-                        } else if (WSSConstants.NS_WSU10.equals(namespaceURI)) 
{
-                            return WSSConstants.PREFIX_WSU;
-                        } else if 
(WSSConstants.NS_XMLENC.equals(namespaceURI)) {
-                            return WSSConstants.PREFIX_XENC;
-                        } else if 
(WSSConstants.NS_XMLENC11.equals(namespaceURI)) {
-                            return WSSConstants.PREFIX_XENC11;
-                        } else {
-                            return null;
-                        }
-                    }
-
-                    @Override
-                    public Iterator<String> getPrefixes(String namespaceURI) {
-                        return null;
-                    }
-                }
-        );
-        return xPath.compile(expression);
-    }
-
-    class CustomWSS4JHandler extends WSHandler {
-
-        private final org.slf4j.Logger LOG =
-            
org.slf4j.LoggerFactory.getLogger(CustomWSS4JHandler.class.getName());
-        private final boolean doDebug = LOG.isDebugEnabled();
-
-        /**
-         * Handles incoming web service requests and outgoing responses
-         *
-         * @throws TransformerException
-         */
-        public boolean doSender(Map<String, Object> mc, RequestData reqData, 
boolean isRequest)
-                throws WSSecurityException, TransformerException {
-
-            /*
-             * Get the action first.
-             */
-            String action = (String) mc.get(WSHandlerConstants.ACTION);
-            if (action == null) {
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "empty", 
"WSS4JHandler: No action defined");
-            }
-            List<HandlerAction> actions = 
WSSecurityUtil.decodeHandlerAction(action, null);
-            if (actions.isEmpty()) {
-                return true;
-            }
-
-            /*
-            * 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));
-            if (reqData.getUsername() == null || 
reqData.getUsername().isEmpty()) {
-                reqData.setUsername((String) mc.get(WSHandlerConstants.USER));
-            }
-
-            /*
-            * Now we perform some set-up for UsernameToken and Signature
-            * functions. No need to do it for encryption only. Check if 
username
-            * is available and then get a password.
-            */
-            boolean usernameRequired = false;
-            for (HandlerAction handlerAction : actions) {
-                if (handlerAction.getAction() == WSConstants.SIGN
-                    || handlerAction.getAction() == WSConstants.UT
-                    || handlerAction.getAction() == WSConstants.UT_SIGN) {
-                    usernameRequired = true;
-                    break;
-                }
-            }
-            if (usernameRequired && (reqData.getUsername() == null || 
reqData.getUsername().isEmpty())) {
-                /*
-                 * We need a username - if none throw a WSSecurityException. 
For encryption
-                 * there is a specific parameter to get a username.
-                 */
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "empty",
-                        "WSS4JHandler: Empty username for specified action"
-                );
-            }
-            if (doDebug) {
-                LOG.debug("Actor: " + reqData.getActor());
-            }
-            /*
-            * Now get the SOAP part from the request message and convert it 
into a
-            * Document.
-            *
-            * Now we can perform our security operations on this request.
-            */
-            Document doc = (Document) mc.get(SECURED_DOCUMENT);
-            if (doc == null) {
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "empty",
-                        "WSS4JHandler: cannot get SOAP envlope from message"
-                );
-            }
-            if (doDebug) {
-                LOG.debug("WSS4JHandler: orginal SOAP request: ");
-                LOG.debug(XMLUtils.prettyDocumentToString(doc));
-            }
-            doSenderAction(doc, reqData, actions, isRequest);
-
-            mc.put(SECURED_DOCUMENT, doc);
-
-            return true;
-        }
-
-        @SuppressWarnings("unchecked")
-        public boolean doReceiver(Map<String, Object> mc, RequestData reqData, 
boolean isRequest)
-                throws WSSecurityException {
-            String action = (String) mc.get(WSHandlerConstants.ACTION);
-            if (action == null) {
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "empty", 
"WSS4JHandler: No action defined");
-            }
-            List<Integer> actions = WSSecurityUtil.decodeAction(action);
-
-            String actor = (String) mc.get(WSHandlerConstants.ACTOR);
-
-            Document doc = (Document) mc.get(SECURED_DOCUMENT);
-
-            /*
-             * Check if it's a fault. Don't process faults.
-             */
-            org.apache.wss4j.dom.SOAPConstants soapConstants =
-                    WSSecurityUtil.getSOAPConstants(doc.getDocumentElement());
-            if (WSSecurityUtil.findElement(
-                doc.getDocumentElement(), "Fault", 
soapConstants.getEnvelopeURI()) != null
-            ) {
-                return false;
-            }
-
-            /*
-             * To check a UsernameToken or to decrypt an encrypted message we 
need
-             * a password.
-             */
-            CallbackHandler cbHandler = getPasswordCallbackHandler(reqData);
-            reqData.setCallbackHandler(cbHandler);
-
-            /*
-             * Get and check the Signature specific parameters first because 
they
-             * may be used for encryption too.
-             */
-            doReceiverAction(actions, reqData);
-
-            Element elem = WSSecurityUtil.getSecurityHeader(doc, actor);
-
-            List<WSSecurityEngineResult> wsResult = null;
-            try {
-                wsResult = secEngine.processSecurityHeader(elem, reqData);
-            } catch (WSSecurityException ex) {
-                if (doDebug) {
-                    LOG.debug(ex.getMessage(), ex);
-                }
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "empty",
-                        "WSS4JHandler: security processing failed", ex
-                );
-            }
-            if (wsResult == null || wsResult.isEmpty()) {
-                // no security header found
-                if (actions.isEmpty()) {
-                    return true;
-                } else {
-                    throw new 
WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY, "empty",
-                            "WSS4JHandler: Request does not contain required 
Security header"
-                    );
-                }
-            }
-            if (reqData.getWssConfig().isEnableSignatureConfirmation() && 
!isRequest) {
-                checkSignatureConfirmation(reqData, wsResult);
-            }
-
-            if (doDebug) {
-                LOG.debug("Processed received SOAP request");
-            }
-
-            /*
-             * now check the security actions: do they match, in right order?
-             */
-            if (!checkReceiverResults(wsResult, actions)) {
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "empty",
-                        "WSS4JHandler: security processing failed (actions 
mismatch)"
-                );
-            }
-
-            /*
-             * All ok up to this point. Now construct and setup the
-             * security result structure. The service may fetch this
-             * and check it.
-             */
-            List<WSHandlerResult> results = null;
-            if ((results = (List<WSHandlerResult>) 
mc.get(WSHandlerConstants.RECV_RESULTS)) == null) {
-                results = new ArrayList<>();
-                mc.put(WSHandlerConstants.RECV_RESULTS, results);
-            }
-            WSHandlerResult rResult = new WSHandlerResult(actor, wsResult);
-            results.add(0, rResult);
-            if (doDebug) {
-                LOG.debug("WSS4JHandler: exit invoke()");
-            }
-
-            return true;
-        }
-
-        @Override
-        protected boolean checkReceiverResults(
-                List<WSSecurityEngineResult> wsResult, List<Integer> actions
-        ) {
-            List<WSSecurityEngineResult> wsSecurityEngineResults = new 
ArrayList<>();
-            for (WSSecurityEngineResult result : wsResult) {
-                boolean found = false;
-                for (WSSecurityEngineResult res : wsSecurityEngineResults) {
-                    if 
(result.get(WSSecurityEngineResult.TAG_ACTION).equals(res.get(WSSecurityEngineResult.TAG_ACTION)))
 {
-                        found = true;
-                        break;
-                    }
-                }
-                if (!found) {
-                    wsSecurityEngineResults.add(result);
-                }
-            }
-            int size = actions.size();
-            int ai = 0;
-            for (WSSecurityEngineResult result : wsSecurityEngineResults) {
-                final Integer act = (Integer) 
result.get(WSSecurityEngineResult.TAG_ACTION);
-                if (act == WSConstants.SC || act == WSConstants.BST || act == 
WSConstants.DKT || act == WSConstants.SCT || act == WSConstants.UT_NOPASSWORD) {
-                    continue;
-                }
-
-                if (ai >= size || actions.get(ai++).intValue() != act) {
-                    return false;
-                }
-            }
-            /*
-        if (ai != size) {
-            return false;
-        }
-             */
-            return true;
-        }
-
-        @Override
-        public Object getOption(String key) {
-            return null;
-        }
-
-        @SuppressWarnings("unchecked")
-        @Override
-        public Object getProperty(Object msgContext, String key) {
-            return ((Map<String, Object>) msgContext).get(key);
-        }
-
-        @SuppressWarnings("unchecked")
-        @Override
-        public void setProperty(Object msgContext, String key, Object value) {
-            ((Map<String, Object>) msgContext).put(key, value);
-        }
-
-        @SuppressWarnings("unchecked")
-        @Override
-        public String getPassword(Object msgContext) {
-            return (String) ((Map<String, Object>) msgContext).get("password");
-        }
-
-        @SuppressWarnings("unchecked")
-        @Override
-        public void setPassword(Object msgContext, String password) {
-            ((Map<String, Object>) msgContext).put("password", password);
-        }
-    }
-
-    protected class TestSecurityEventListener implements SecurityEventListener 
{
-        private SecurityEventConstants.Event[] expectedEvents;
-        private List<SecurityEvent> receivedSecurityEvents = new ArrayList<>();
-
-        public TestSecurityEventListener(SecurityEventConstants.Event[] 
expectedEvents) {
-            this.expectedEvents = expectedEvents;
-        }
-
-        public List<SecurityEvent> getReceivedSecurityEvents() {
-            return receivedSecurityEvents;
-        }
-
-        @SuppressWarnings("unchecked")
-        public <T> T getSecurityEvent(SecurityEventConstants.Event 
securityEvent) {
-            for (SecurityEvent event : receivedSecurityEvents) {
-                if (event.getSecurityEventType() == securityEvent) {
-                    return (T) event;
-                }
-            }
-            return null;
-        }
-
-        @SuppressWarnings("unchecked")
-        public <T> List<T> getSecurityEvents(SecurityEventConstants.Event 
securityEvent) {
-            List<T> foundEvents = new ArrayList<>();
-            for (SecurityEvent event : receivedSecurityEvents) {
-                if (event.getSecurityEventType() == securityEvent) {
-                    foundEvents.add((T) event);
-                }
-            }
-            return foundEvents;
-        }
-
-        @Override
-        public void registerSecurityEvent(SecurityEvent securityEvent) throws 
WSSecurityException {
-            assertNotNull(securityEvent.getCorrelationID());
-            assertNotEquals("", securityEvent.getCorrelationID());
-            receivedSecurityEvents.add(securityEvent);
-        }
-
-        public void compare() {
-            if (expectedEvents.length != receivedSecurityEvents.size()) {
-                printEvents();
-                fail("event count mismatch");
-            }
-            boolean asserted = true;
-            for (int i = 0; i < expectedEvents.length; i++) {
-                if 
(!expectedEvents[i].equals(receivedSecurityEvents.get(i).getSecurityEventType()))
 {
-                    asserted = false;
-                    break;
-                }
-            }
-            if (!asserted) {
-                printEvents();
-                fail("event mismatch");
-            }
-        }
-
-        private void printEvents() {
-            System.out.println("expected events:");
-            for (int i = 0; i < expectedEvents.length; i++) {
-                SecurityEventConstants.Event expectedEvent = expectedEvents[i];
-                System.out.println("WSSecurityEventConstants." + expectedEvent 
+ ",");
-            }
-            System.out.println("received events:");
-            for (int i = 0; i < receivedSecurityEvents.size(); i++) {
-                SecurityEvent securityEvent = receivedSecurityEvents.get(i);
-                System.out.println("WSSecurityEventConstants." + 
securityEvent.getSecurityEventType() + ",");
-            }
-        }
-    }
-
-    //sometimes I really like reflection. We can fix jdk bugs which will never 
be fixed, we can do other funny things and
-    //we can also change "private static final" fields for testing:-)
-    //But keep in mind that this only works for Objects and not primitive 
types. Primitive types will be inlined...
-    public static void switchAllowNotSameDocumentReferences(Boolean value) 
throws NoSuchFieldException, IllegalAccessException {
-
-        Field field = 
AbstractSignatureReferenceVerifyInputProcessor.class.getDeclaredField("allowNotSameDocumentReferences");
-        field.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-
-        field.set(null, value);
-    }
-
-    public static void switchDoNotThrowExceptionForManifests(Boolean value) 
throws NoSuchFieldException, IllegalAccessException {
-        Field field = 
AbstractSignatureReferenceVerifyInputProcessor.class.getDeclaredField("doNotThrowExceptionForManifests");
-        field.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-
-        field.set(null, value);
-    }
-
-    public static int changeValueOfMaximumAllowedReferencesPerManifest(Integer 
value) throws NoSuchFieldException, IllegalAccessException {
-        Field field = 
AbstractSignatureReferenceVerifyInputProcessor.class.getDeclaredField("maximumAllowedReferencesPerManifest");
-        field.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-
-        Integer oldval = (Integer)field.get(null);
-        field.set(null, value);
-        return oldval;
-    }
-
-    public static int 
changeValueOfMaximumAllowedTransformsPerReference(Integer value) throws 
NoSuchFieldException, IllegalAccessException {
-        Field field = 
AbstractSignatureReferenceVerifyInputProcessor.class.getDeclaredField("maximumAllowedTransformsPerReference");
-        field.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-
-        Integer oldval = (Integer)field.get(null);
-        field.set(null, value);
-        return oldval;
-    }
-
-    public static void switchAllowMD5Algorithm(Boolean value) throws 
NoSuchFieldException, IllegalAccessException {
-        Field field = 
InboundSecurityContextImpl.class.getDeclaredField("allowMD5Algorithm");
-        field.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-
-        field.set(null, value);
-    }
-
-    public static int changeValueOfMaximumAllowedXMLStructureDepth(Integer 
value) throws NoSuchFieldException, IllegalAccessException {
-        Field xmlEventReaderInputProcessorField = 
XMLEventReaderInputProcessor.class.getDeclaredField("maximumAllowedXMLStructureDepth");
-        xmlEventReaderInputProcessorField.setAccessible(true);
-        Field abstractDecryptInputProcessorField = 
AbstractDecryptInputProcessor.class.getDeclaredField("maximumAllowedXMLStructureDepth");
-        abstractDecryptInputProcessorField.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(xmlEventReaderInputProcessorField, 
xmlEventReaderInputProcessorField.getModifiers() & ~Modifier.FINAL);
-        modifiersField.setInt(abstractDecryptInputProcessorField, 
abstractDecryptInputProcessorField.getModifiers() & ~Modifier.FINAL);
-
-        Integer oldval = (Integer)xmlEventReaderInputProcessorField.get(null);
-        xmlEventReaderInputProcessorField.set(null, value);
-        abstractDecryptInputProcessorField.set(null, value);
-        return oldval;
-    }
-
-    public static long changeValueOfMaximumAllowedDecompressedBytes(Long 
value) throws NoSuchFieldException, IllegalAccessException {
-        Field field = 
DecryptInputProcessor.class.getDeclaredField("maximumAllowedDecompressedBytes");
-        field.setAccessible(true);
-
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-
-        Long oldval = (Long) field.get(null);
-        field.set(null, value);
-        return oldval;
-    }
-
-    public static Double getJavaSpecificationVersion() {
-        String jsv = System.getProperty("java.specification.version");
-        if (jsv != null) {
-            return Double.parseDouble(jsv);
-        }
-        return 0.0d;
-    }
-}
\ No newline at end of file
diff --git 
a/performance/src/test/java/org/apache/wss4j/performance/PerformanceMemoryTest.java
 
b/performance/src/test/java/org/apache/wss4j/performance/PerformanceMemoryTest.java
deleted file mode 100644
index 6c74aa4b9..000000000
--- 
a/performance/src/test/java/org/apache/wss4j/performance/PerformanceMemoryTest.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.wss4j.performance;
-
-import org.apache.wss4j.common.ext.WSSecurityException;
-import org.apache.wss4j.dom.handler.WSHandlerConstants;
-import org.apache.xml.security.stax.securityEvent.SecurityEvent;
-import org.apache.wss4j.stax.WSSec;
-import org.apache.wss4j.stax.ext.InboundWSSec;
-import org.apache.wss4j.stax.ext.OutboundWSSec;
-import org.apache.wss4j.stax.ext.WSSConstants;
-import org.apache.wss4j.stax.ext.WSSSecurityProperties;
-import org.apache.wss4j.stax.test.CallbackHandlerImpl;
-import org.apache.wss4j.stax.test.utils.XmlReaderToWriter;
-import org.testng.annotations.*;
-import org.w3c.dom.Document;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-
-public class PerformanceMemoryTest extends AbstractTestBase {
-
-    private FileWriter outSamples;
-
-    @BeforeClass
-    public void createDir() throws Exception {
-        new File("target/performanceMemoryTest").mkdirs();
-    }
-
-    @BeforeGroups(groups = {"memory-out"})
-    public void createSampleFileOut() throws Exception {
-        outSamples = new FileWriter("target/memory-out-samples.txt");
-    }
-
-    //warm up.
-    @BeforeMethod(groups = {"memory-out"})
-    public void setUpOut() throws Exception {
-        File input = genBigFile(1);
-        doDOMSecurityOutbound(input, new 
File("target/performanceMemoryTest/bigfile-dom.xml"));
-        doStreamingSecurityOutbound(input, new 
File("target/performanceMemoryTest/bigfile-stream.xml"));
-    }
-
-    @AfterGroups(groups = {"memory-out"})
-    public void tearDownOut() throws Exception {
-        outSamples.close();
-    }
-
-    @DataProvider(name = "xmlsizes")
-    public Object[][] getXMLSizes() throws Exception {
-        genBigFile(1);
-        int tagCount = 0;
-        File target = new File("target/performanceMemoryTest/tmp.xml");
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(new BufferedInputStream(new 
FileInputStream(target)));
-        while (xmlStreamReader.hasNext()) {
-            int eventType = xmlStreamReader.next();
-            if (eventType == XMLStreamConstants.START_ELEMENT) {
-                tagCount++;
-            }
-        }
-        /*Object[][] objectArray = new Object[1][2];
-        objectArray[0][0] = 10;
-        objectArray[0][1] = (tagCount - 4) * 10;*/
-
-        int size = 16;
-        Object[][] objectArray = new Object[size][2];
-        for (int i = 0; i < size; i++) {
-            objectArray[i][0] = i + 1;
-            objectArray[i][1] = (tagCount - 4) * (i + 1) * 40;
-        }
-        return objectArray;
-    }
-
-    @BeforeGroups(groups = {"memory-out"}, dependsOnMethods = 
{"createSampleFileOut"})
-    public void printTagCountsOut() throws Exception {
-        Object[][] sizes = getXMLSizes();
-        for (int i = 0; i < sizes.length; i++) {
-            Object[] size = sizes[i];
-            outSamples.write("" + size[1] + " ");
-        }
-    }
-
-
-    @Test(groups = "memory-out", dataProvider = "xmlsizes", dependsOnMethods = 
{"doBeforeStreamOut"})
-    public void testOutStreamingMemoryPerformance(int run, int tagCount) 
throws Exception {
-
-        System.out.println("Run " + run);
-        File input = genBigFile(run * 40);
-        long startMem = getUsedMemory();
-
-        ThreadStopper threadStopper = new ThreadStopper();
-        Thread thread = new Thread(new MemorySamplerThread(threadStopper, 
outSamples, startMem));
-        thread.setPriority(9);
-        thread.start();
-
-        doStreamingSecurityOutbound(input, new 
File("target/performanceMemoryTest/stream-" + tagCount + ".xml"));
-
-        threadStopper.setStop(true);
-        thread.join();
-    }
-
-    @Test(groups = "memory-out", dataProvider = "xmlsizes", dependsOnMethods = 
{"doBeforeStreamCompressedOut"})
-    public void testOutStreamingCompressedMemoryPerformance(int run, int 
tagCount) throws Exception {
-
-        System.out.println("Run " + run);
-        File input = genBigFile(run * 40);
-        long startMem = getUsedMemory();
-
-        ThreadStopper threadStopper = new ThreadStopper();
-        Thread thread = new Thread(new MemorySamplerThread(threadStopper, 
outSamples, startMem));
-        thread.setPriority(9);
-        thread.start();
-
-        doStreamingSecurityOutboundCompressed(input, new 
File("target/performanceMemoryTest/stream-compressed-" + tagCount + ".xml"), 
"http://www.apache.org/2012/04/xmlsec/gzip";);
-
-        threadStopper.setStop(true);
-        thread.join();
-    }
-
-    @Test(groups = "memory-out", dataProvider = "xmlsizes", dependsOnMethods = 
{"doBeforeDOMOut"})
-    public void testOutDOMMemoryPerformance(int run, int tagCount) throws 
Exception {
-
-        System.out.println("Run " + run);
-        File input = genBigFile(run * 40);
-        long startMem = getUsedMemory();
-
-        ThreadStopper threadStopper = new ThreadStopper();
-        Thread thread = new Thread(new MemorySamplerThread(threadStopper, 
outSamples, startMem));
-        thread.setPriority(9);
-        thread.start();
-
-        doDOMSecurityOutbound(input, new 
File("target/performanceMemoryTest/dom-" + tagCount + ".xml"));
-
-        threadStopper.setStop(true);
-        thread.join();
-    }
-
-    @Test(groups = {"memory-out"})
-    public void doBeforeDOMOut() throws Exception {
-        outSamples.write("\n");
-    }
-
-    @Test(groups = {"memory-out"})
-    public void doBeforeStreamOut() throws Exception {
-        outSamples.write("\n");
-    }
-
-    @Test(groups = {"memory-out"})
-    public void doBeforeStreamCompressedOut() throws Exception {
-        outSamples.write("\n");
-    }
-
-    @Test(groups = {"memory-in"})
-    public void doBeforeDOMIn() throws Exception {
-        inSamples.write("\n");
-    }
-
-    @Test(groups = {"memory-in"})
-    public void doBeforeStreamIn() throws Exception {
-        inSamples.write("\n");
-    }
-
-    @Test(groups = {"memory-in"})
-    public void doBeforeStreamCompressedIn() throws Exception {
-        inSamples.write("\n");
-    }
-
-    private FileWriter inSamples;
-
-    @BeforeGroups(groups = {"memory-in"})
-    public void createSampleFileIn() throws Exception {
-        inSamples = new FileWriter("target/memory-in-samples.txt");
-    }
-
-    //warm up.
-    @BeforeMethod(groups = {"memory-in"}, dependsOnGroups = {"memory-out"})
-    public void setUpIn() throws Exception {
-        genBigFile(1);
-        doDOMInSecurity(new 
File("target/performanceMemoryTest/bigfile-dom.xml"));
-        doStreamingInSecurity(new 
File("target/performanceMemoryTest/bigfile-stream.xml"));
-    }
-
-    @AfterGroups(groups = {"memory-in"})
-    public void tearDownIn() throws Exception {
-        inSamples.close();
-    }
-
-    @BeforeGroups(groups = {"memory-in"}, dependsOnMethods = 
{"createSampleFileIn"})
-    public void printTagCountsIn() throws Exception {
-        Object[][] sizes = getXMLSizes();
-        for (int i = 0; i < sizes.length; i++) {
-            Object[] size = sizes[i];
-            inSamples.write("" + size[1] + " ");
-        }
-    }
-
-
-    @Test(groups = "memory-in", dataProvider = "xmlsizes", dependsOnMethods = 
{"doBeforeStreamIn", "testOutStreamingMemoryPerformance"})
-    public void testInboundStreamingMemoryPerformance(int run, int tagCount) 
throws Exception {
-
-        System.out.println("Run " + run);
-        long startMem = getUsedMemory();
-
-        ThreadStopper threadStopper = new ThreadStopper();
-        Thread thread = new Thread(new MemorySamplerThread(threadStopper, 
inSamples, startMem));
-        thread.setPriority(9);
-        thread.start();
-
-        doStreamingInSecurity(new File("target/performanceMemoryTest/stream-" 
+ tagCount + ".xml"));
-
-        threadStopper.setStop(true);
-        thread.join();
-    }
-
-    @Test(groups = "memory-in", dataProvider = "xmlsizes", dependsOnMethods = 
{"doBeforeStreamCompressedIn", "testOutStreamingCompressedMemoryPerformance"})
-    public void testInboundStreamingCompressedMemoryPerformance(int run, int 
tagCount) throws Exception {
-
-        System.out.println("Run " + run);
-        long startMem = getUsedMemory();
-
-        ThreadStopper threadStopper = new ThreadStopper();
-        Thread thread = new Thread(new MemorySamplerThread(threadStopper, 
inSamples, startMem));
-        thread.setPriority(9);
-        thread.start();
-
-        doStreamingInSecurity(new 
File("target/performanceMemoryTest/stream-compressed-" + tagCount + ".xml"));
-
-        threadStopper.setStop(true);
-        thread.join();
-    }
-
-    @Test(groups = "memory-in", dataProvider = "xmlsizes", dependsOnMethods = 
{"doBeforeDOMIn", "testOutDOMMemoryPerformance"})
-    public void testInboundDOMMemoryPerformance(int run, int tagCount) throws 
Exception {
-
-        System.out.println("Run " + run);
-        long startMem = getUsedMemory();
-
-        ThreadStopper threadStopper = new ThreadStopper();
-        Thread thread = new Thread(new MemorySamplerThread(threadStopper, 
inSamples, startMem));
-        thread.setPriority(9);
-        thread.start();
-
-        doDOMInSecurity(new File("target/performanceMemoryTest/dom-" + 
tagCount + ".xml"));
-
-        threadStopper.setStop(true);
-        thread.join();
-    }
-
-
-    private OutboundWSSec outboundWSSec;
-
-    private void doStreamingSecurityOutbound(File source, File output) throws 
Exception {
-        if (outboundWSSec == null) {
-            WSSSecurityProperties securityProperties = new 
WSSSecurityProperties();
-            securityProperties.setCallbackHandler(new CallbackHandlerImpl());
-            securityProperties.setEncryptionUser("receiver");
-            
securityProperties.loadEncryptionKeystore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            securityProperties.setSignatureUser("transmitter");
-            
securityProperties.loadSignatureKeyStore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            List<WSSConstants.Action> actions = new ArrayList<>();
-            actions.add(WSSConstants.TIMESTAMP);
-            actions.add(WSSConstants.SIGNATURE);
-            actions.add(WSSConstants.ENCRYPTION);
-            securityProperties.setActions(actions);
-            securityProperties.setTimestampTTL(60 * 60 * 24 * 7); //a week for 
testing:)
-            outboundWSSec = WSSec.getOutboundWSSec(securityProperties);
-        }
-
-        InputStream sourceDocument = new BufferedInputStream(new 
FileInputStream(source));
-        XMLStreamWriter xmlStreamWriter = outboundWSSec.processOutMessage(new 
BufferedOutputStream(new FileOutputStream(output)), "UTF-8", new ArrayList<>());
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(sourceDocument);
-        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
-        xmlStreamWriter.close();
-        xmlStreamReader.close();
-    }
-
-    private OutboundWSSec outboundWSSecCompressed;
-
-    private void doStreamingSecurityOutboundCompressed(File source, File 
output, String compress) throws Exception {
-        if (outboundWSSecCompressed == null) {
-            WSSSecurityProperties securityProperties = new 
WSSSecurityProperties();
-            securityProperties.setCallbackHandler(new CallbackHandlerImpl());
-            securityProperties.setEncryptionUser("receiver");
-            
securityProperties.loadEncryptionKeystore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            securityProperties.setSignatureUser("transmitter");
-            
securityProperties.loadSignatureKeyStore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            List<WSSConstants.Action> actions = new ArrayList<>();
-            actions.add(WSSConstants.TIMESTAMP);
-            actions.add(WSSConstants.SIGNATURE);
-            actions.add(WSSConstants.ENCRYPTION);
-            securityProperties.setActions(actions);
-            securityProperties.setTimestampTTL(60 * 60 * 24 * 7); //a week for 
testing:)
-            securityProperties.setEncryptionCompressionAlgorithm(compress);
-            outboundWSSecCompressed = 
WSSec.getOutboundWSSec(securityProperties);
-        }
-
-        InputStream sourceDocument = new BufferedInputStream(new 
FileInputStream(source));
-        XMLStreamWriter xmlStreamWriter = 
outboundWSSecCompressed.processOutMessage(new BufferedOutputStream(new 
FileOutputStream(output)), "UTF-8", new ArrayList<>());
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(sourceDocument);
-        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
-        xmlStreamWriter.close();
-        xmlStreamReader.close();
-    }
-
-    private void doDOMSecurityOutbound(File input, File output) throws 
WSSecurityException, FileNotFoundException, TransformerException {
-        Properties properties = new Properties();
-        properties.setProperty(WSHandlerConstants.ENC_SYM_ALGO, 
"http://www.w3.org/2001/04/xmlenc#aes256-cbc";);
-        properties.setProperty(WSHandlerConstants.ENC_KEY_TRANSPORT, 
"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";);
-        properties.setProperty(WSHandlerConstants.TTL_TIMESTAMP, "" + 60 * 60 
* 24 * 7);
-        Document doc = doOutboundSecurityWithWSS4J(new FileInputStream(input), 
WSHandlerConstants.TIMESTAMP + " " + WSHandlerConstants.SIGNATURE + " " + 
WSHandlerConstants.ENCRYPTION, properties);
-        Transformer transformer = 
TransformerFactory.newInstance().newTransformer();
-        transformer.transform(new DOMSource(doc), new StreamResult(output));
-    }
-
-    private File genBigFile(int factor) throws IOException {
-        File target = new File("target/performanceMemoryTest/tmp.xml");
-        FileWriter fileWriter = new FileWriter(target, false);
-        fileWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
-                "<env:Envelope 
xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\";>\n" +
-                "<env:Header></env:Header>\n" +
-                "<env:Body><test xmlns=\"http://www.example.com\";>");
-        fileWriter.close();
-        FileOutputStream fileOutputStream = new FileOutputStream(target, true);
-        for (int i = 0; i < factor; i++) {
-            int read = 0;
-            byte[] buffer = new byte[4096];
-            InputStream inputStream = 
this.getClass().getClassLoader().getResourceAsStream("testdata/plain-soap-1.1.xml");
-            while ((read = inputStream.read(buffer)) != -1) {
-                fileOutputStream.write(buffer, 0, read);
-            }
-            inputStream.close();
-        }
-        fileOutputStream.close();
-        fileWriter = new FileWriter(target, true);
-        fileWriter.write("</test></env:Body>\n" +
-                "</env:Envelope>");
-        fileWriter.close();
-
-        return target;
-    }
-
-    private void doDOMInSecurity(File input) throws Exception {
-        String action = WSHandlerConstants.TIMESTAMP + " " + 
WSHandlerConstants.SIGNATURE + " " + WSHandlerConstants.ENCRYPTION;
-        Properties properties = new Properties();
-        properties.setProperty(WSHandlerConstants.TTL_TIMESTAMP, "" + 60 * 60 
* 24 * 7);
-        
doInboundSecurityWithWSS4J_1(documentBuilderFactory.newDocumentBuilder().parse(input),
 action, properties, false);
-    }
-
-    private InboundWSSec inboundWSSec;
-
-    private void doStreamingInSecurity(File input) throws Exception {
-        if (inboundWSSec == null) {
-            WSSSecurityProperties inSecurityProperties = new 
WSSSecurityProperties();
-            inSecurityProperties.setStrictTimestampCheck(false);
-            
inSecurityProperties.loadSignatureVerificationKeystore(this.getClass().getClassLoader().getResource("receiver.jks"),
 "default".toCharArray());
-            
inSecurityProperties.loadDecryptionKeystore(this.getClass().getClassLoader().getResource("receiver.jks"),
 "default".toCharArray());
-            inSecurityProperties.setCallbackHandler(new CallbackHandlerImpl());
-
-            inboundWSSec = WSSec.getInboundWSSec(inSecurityProperties);
-        }
-        InputStream fileInputStream = new BufferedInputStream(new 
FileInputStream(input));
-        XMLStreamReader outXmlStreamReader = 
inboundWSSec.processInMessage(xmlInputFactory.createXMLStreamReader(fileInputStream));
-
-        while (outXmlStreamReader.hasNext()) {
-            outXmlStreamReader.next();
-        }
-        fileInputStream.close();
-        outXmlStreamReader.close();
-    }
-
-
-    private static void gc() {
-        System.gc();
-        System.runFinalization();
-        System.gc();
-    }
-
-
-    private static long getUsedMemory() {
-        gc();
-        gc();
-        long totalMemory = Runtime.getRuntime().totalMemory();
-        long freeMemory = Runtime.getRuntime().freeMemory();
-        return totalMemory - freeMemory;
-    }
-
-    class ThreadStopper {
-        private volatile boolean stop = false;
-
-        public boolean isStop() {
-            return stop;
-        }
-
-        public void setStop(boolean stop) {
-            this.stop = stop;
-        }
-    }
-
-    class MemorySamplerThread implements Runnable {
-
-        private ThreadStopper threadStopper;
-        private FileWriter fileWriter;
-        private long memoryDiff;
-
-        private List<Integer> memory = new LinkedList<>();
-
-        MemorySamplerThread(ThreadStopper threadStopper, FileWriter 
fileWriter, long memoryDiff) {
-            this.threadStopper = threadStopper;
-            this.fileWriter = fileWriter;
-            this.memoryDiff = memoryDiff;
-        }
-
-        @Override
-        public void run() {
-
-            int sleepTime = 100;
-
-            while (!threadStopper.isStop()) {
-                try {
-                    Thread.sleep(sleepTime);
-                    if (threadStopper.isStop()) {
-                        break;
-                    }
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-                //parentThread.suspend();
-                memory.add((int) (((getUsedMemory()) - memoryDiff) / 1024.0 / 
1024.0));
-                //System.out.println("Sample: " + memory.get(memory.size() - 
1));
-                //parentThread.resume();
-            }
-
-            System.out.println("Collected " + memory.size() + " samples");
-
-            int maxMem = Integer.MIN_VALUE;
-            for (int i = 0; i < memory.size(); i++) {
-                //System.out.println("Sample: " + memory.get(i));
-                int mem = memory.get(i);
-                maxMem = mem > maxMem ? mem : maxMem;
-            }
-
-            try {
-                fileWriter.write("" + maxMem + " ");
-                fileWriter.flush();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
-
-            System.out.println("Max memory usage: " + maxMem + "MB");
-        }
-    }
-}
diff --git 
a/performance/src/test/java/org/apache/wss4j/performance/PerformanceTimingTest.java
 
b/performance/src/test/java/org/apache/wss4j/performance/PerformanceTimingTest.java
deleted file mode 100644
index ae3548d3c..000000000
--- 
a/performance/src/test/java/org/apache/wss4j/performance/PerformanceTimingTest.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.wss4j.performance;
-
-import org.apache.wss4j.common.ext.WSSecurityException;
-import org.apache.wss4j.dom.handler.WSHandlerConstants;
-import org.apache.xml.security.stax.securityEvent.SecurityEvent;
-import org.apache.wss4j.stax.WSSec;
-import org.apache.wss4j.stax.ext.InboundWSSec;
-import org.apache.wss4j.stax.ext.OutboundWSSec;
-import org.apache.wss4j.stax.ext.WSSConstants;
-import org.apache.wss4j.stax.ext.WSSSecurityProperties;
-import org.apache.wss4j.stax.test.CallbackHandlerImpl;
-import org.apache.wss4j.stax.test.utils.XmlReaderToWriter;
-import org.testng.annotations.*;
-import org.w3c.dom.Document;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-public class PerformanceTimingTest extends AbstractTestBase {
-
-    private FileWriter outSamples;
-
-    @BeforeClass
-    public void createDir() throws Exception {
-        new File("target/performanceTimingTest").mkdirs();
-    }
-
-    @BeforeGroups(groups = {"timing-out"})
-    public void createSampleFileOut() throws Exception {
-        outSamples = new FileWriter("target/timing-out-samples.txt");
-    }
-
-    //warm up.
-    @Test(groups = {"timing-out"})
-    public void setUpOut() throws Exception {
-        File input = genBigFile(1);
-        doDOMSecurityOutbound(input, new 
File("target/performanceTimingTest/bigfile-dom.xml"));
-        doStreamingSecurityOutbound(input, new 
File("target/performanceTimingTest/bigfile-stream.xml"));
-    }
-
-    @AfterGroups(groups = {"timing-out"})
-    public void tearDownOut() throws Exception {
-        outSamples.close();
-    }
-
-    @DataProvider(name = "xmlsizes")
-    public Object[][] getXMLSizes() throws Exception {
-        int tagCount = 0;
-        File target = new File("target/performanceTimingTest/tmp.xml");
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(new BufferedInputStream(new 
FileInputStream(target)));
-        while (xmlStreamReader.hasNext()) {
-            int eventType = xmlStreamReader.next();
-            if (eventType == XMLStreamConstants.START_ELEMENT) {
-                tagCount++;
-            }
-        }
-        /*Object[][] objectArray = new Object[1][2];
-        objectArray[0][0] = 4;
-        objectArray[0][1] = (tagCount - 4) * 40;*/
-
-        int size = 16;
-        Object[][] objectArray = new Object[size][2];
-        for (int i = 0; i < size; i++) {
-            objectArray[i][0] = i + 1;
-            objectArray[i][1] = (tagCount - 4) * (i + 1) * 40;
-        }
-        return objectArray;
-    }
-
-    @Test(groups = "timing-out", dataProvider = "xmlsizes", dependsOnMethods = 
"setUpOut")
-    public void testOutboundTimePerformance(int run, int tagCount) throws 
Exception {
-
-        System.out.println("Run " + run);
-        File input = genBigFile(run * 40);
-        System.gc();
-
-        long start = System.currentTimeMillis();
-        try {
-            outSamples.write("" + tagCount);
-            outSamples.write(" ");
-            doDOMSecurityOutbound(input, new 
File("target/performanceTimingTest/dom-" + tagCount + ".xml"));
-            outSamples.write("" + (System.currentTimeMillis() - start) / 
1000.0);
-        } catch (OutOfMemoryError e) {
-            System.gc();
-            outSamples.write("" + 0);
-        }
-        outSamples.write(" ");
-        outSamples.flush();
-        System.gc();
-        System.gc();
-
-        start = System.currentTimeMillis();
-        doStreamingSecurityOutbound(input, new 
File("target/performanceTimingTest/stream-" + tagCount + ".xml"));
-        outSamples.write("" + (System.currentTimeMillis() - start) / 1000.0);
-        outSamples.write(" ");
-        outSamples.flush();
-        System.gc();
-        System.gc();
-
-        start = System.currentTimeMillis();
-        doStreamingSecurityOutboundCompressed(input, new 
File("target/performanceTimingTest/stream-compressed-" + tagCount + ".xml"), 
"http://www.apache.org/2012/04/xmlsec/gzip";);
-        outSamples.write("" + (System.currentTimeMillis() - start) / 1000.0);
-        outSamples.write("\n");
-        outSamples.flush();
-        System.gc();
-        System.gc();
-    }
-
-    private FileWriter inSamples;
-
-    @BeforeGroups(groups = {"timing-in"})
-    public void createSampleFileIn() throws Exception {
-        inSamples = new FileWriter("target/timing-in-samples.txt");
-    }
-
-    //warm up.
-    @Test(groups = {"timing-in"}, dependsOnMethods = 
"testOutboundTimePerformance")
-    public void setUpIn() throws Exception {
-        File input = genBigFile(1);
-        doDOMSecurityOutbound(input, new 
File("target/performanceTimingTest/bigfile-dom.xml"));
-        doStreamingSecurityOutbound(input, new 
File("target/performanceTimingTest/bigfile-stream.xml"));
-    }
-
-    @AfterGroups(groups = {"timing-in"})
-    public void tearDownIn() throws Exception {
-        inSamples.close();
-    }
-
-    @Test(groups = "timing-in", dataProvider = "xmlsizes", dependsOnMethods = 
"setUpIn")
-    public void testInboundTimePerformance(int run, int tagCount) throws 
Exception {
-
-        System.out.println("Run " + run);
-        System.gc();
-        System.gc();
-
-        long start = System.currentTimeMillis();
-        try {
-            inSamples.write("" + tagCount);
-            inSamples.write(" ");
-            doDOMInSecurity(new File("target/performanceTimingTest/dom-" + 
tagCount + ".xml"));
-            inSamples.write("" + (System.currentTimeMillis() - start) / 
1000.0);
-        } catch (OutOfMemoryError e) {
-            System.gc();
-            inSamples.write("" + 0);
-        }
-        inSamples.write(" ");
-        inSamples.flush();
-        System.gc();
-        System.gc();
-
-        start = System.currentTimeMillis();
-        doStreamingInSecurity(new File("target/performanceTimingTest/stream-" 
+ tagCount + ".xml"));
-        inSamples.write("" + (System.currentTimeMillis() - start) / 1000.0);
-        inSamples.write(" ");
-        inSamples.flush();
-        System.gc();
-        System.gc();
-
-        start = System.currentTimeMillis();
-        doStreamingInSecurity(new 
File("target/performanceTimingTest/stream-compressed-" + tagCount + ".xml"));
-        inSamples.write("" + (System.currentTimeMillis() - start) / 1000.0);
-        inSamples.write("\n");
-        inSamples.flush();
-        System.gc();
-        System.gc();
-    }
-
-    private OutboundWSSec outboundWSSec;
-
-    private void doStreamingSecurityOutbound(File source, File output) throws 
Exception {
-        if (outboundWSSec == null) {
-            WSSSecurityProperties securityProperties = new 
WSSSecurityProperties();
-            securityProperties.setCallbackHandler(new CallbackHandlerImpl());
-            securityProperties.setEncryptionUser("receiver");
-            
securityProperties.loadEncryptionKeystore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            securityProperties.setSignatureUser("transmitter");
-            
securityProperties.loadSignatureKeyStore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            List<WSSConstants.Action> actions = new ArrayList<>();
-            actions.add(WSSConstants.TIMESTAMP);
-            actions.add(WSSConstants.SIGNATURE);
-            actions.add(WSSConstants.ENCRYPTION);
-            securityProperties.setActions(actions);
-            securityProperties.setTimestampTTL(60 * 60 * 24 * 7); //a week for 
testing:)
-            outboundWSSec = WSSec.getOutboundWSSec(securityProperties);
-        }
-
-        InputStream sourceDocument = new BufferedInputStream(new 
FileInputStream(source));
-        XMLStreamWriter xmlStreamWriter = outboundWSSec.processOutMessage(new 
BufferedOutputStream(new FileOutputStream(output)), "UTF-8", new ArrayList<>());
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(sourceDocument);
-        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
-        xmlStreamWriter.close();
-        xmlStreamReader.close();
-    }
-
-    private OutboundWSSec outboundWSSecCompressed;
-
-    private void doStreamingSecurityOutboundCompressed(File source, File 
output, String compress) throws Exception {
-        if (outboundWSSecCompressed == null) {
-            WSSSecurityProperties securityProperties = new 
WSSSecurityProperties();
-            securityProperties.setCallbackHandler(new CallbackHandlerImpl());
-            securityProperties.setEncryptionUser("receiver");
-            
securityProperties.loadEncryptionKeystore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            securityProperties.setSignatureUser("transmitter");
-            
securityProperties.loadSignatureKeyStore(this.getClass().getClassLoader().getResource("transmitter.jks"),
 "default".toCharArray());
-            List<WSSConstants.Action> actions = new ArrayList<>();
-            actions.add(WSSConstants.TIMESTAMP);
-            actions.add(WSSConstants.SIGNATURE);
-            actions.add(WSSConstants.ENCRYPTION);
-            securityProperties.setActions(actions);
-            securityProperties.setTimestampTTL(60 * 60 * 24 * 7); //a week for 
testing:)
-            securityProperties.setEncryptionCompressionAlgorithm(compress);
-            outboundWSSecCompressed = 
WSSec.getOutboundWSSec(securityProperties);
-        }
-
-        InputStream sourceDocument = new BufferedInputStream(new 
FileInputStream(source));
-        XMLStreamWriter xmlStreamWriter = 
outboundWSSecCompressed.processOutMessage(new BufferedOutputStream(new 
FileOutputStream(output)), "UTF-8", new ArrayList<>());
-        XMLStreamReader xmlStreamReader = 
xmlInputFactory.createXMLStreamReader(sourceDocument);
-        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
-        xmlStreamWriter.close();
-        xmlStreamReader.close();
-    }
-
-    private void doDOMSecurityOutbound(File input, File output) throws 
WSSecurityException, FileNotFoundException, TransformerException {
-        Properties properties = new Properties();
-        properties.setProperty(WSHandlerConstants.ENC_SYM_ALGO, 
"http://www.w3.org/2001/04/xmlenc#aes256-cbc";);
-        properties.setProperty(WSHandlerConstants.ENC_KEY_TRANSPORT, 
"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";);
-        properties.setProperty(WSHandlerConstants.TTL_TIMESTAMP, "" + 60 * 60 
* 24 * 7);
-        Document doc = doOutboundSecurityWithWSS4J(new FileInputStream(input), 
WSHandlerConstants.TIMESTAMP + " " + WSHandlerConstants.SIGNATURE + " " + 
WSHandlerConstants.ENCRYPTION, properties);
-        Transformer transformer = 
TransformerFactory.newInstance().newTransformer();
-        transformer.transform(new DOMSource(doc), new StreamResult(output));
-    }
-
-    private File genBigFile(int factor) throws IOException {
-        File target = new File("target/performanceTimingTest/tmp.xml");
-        FileWriter fileWriter = new FileWriter(target, false);
-        fileWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
-                "<env:Envelope 
xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\";>\n" +
-                "<env:Header></env:Header>\n" +
-                "<env:Body><test xmlns=\"http://www.example.com\";>");
-        fileWriter.close();
-        FileOutputStream fileOutputStream = new FileOutputStream(target, true);
-        for (int i = 0; i < factor; i++) {
-            int read = 0;
-            byte[] buffer = new byte[4096];
-            InputStream inputStream = 
this.getClass().getClassLoader().getResourceAsStream("testdata/plain-soap-1.1.xml");
-            while ((read = inputStream.read(buffer)) != -1) {
-                fileOutputStream.write(buffer, 0, read);
-            }
-            inputStream.close();
-        }
-        fileOutputStream.close();
-        fileWriter = new FileWriter(target, true);
-        fileWriter.write("</test></env:Body>\n" +
-                "</env:Envelope>");
-        fileWriter.close();
-
-        return target;
-    }
-
-    private void doDOMInSecurity(File input) throws Exception {
-        String action = WSHandlerConstants.TIMESTAMP + " " + 
WSHandlerConstants.SIGNATURE + " " + WSHandlerConstants.ENCRYPTION;
-        Properties properties = new Properties();
-        properties.setProperty(WSHandlerConstants.TTL_TIMESTAMP, "" + 60 * 60 
* 24 * 7);
-        
doInboundSecurityWithWSS4J_1(documentBuilderFactory.newDocumentBuilder().parse(input),
 action, properties, false);
-    }
-
-    private InboundWSSec inboundWSSec;
-
-    private void doStreamingInSecurity(File input) throws Exception {
-        if (inboundWSSec == null) {
-            WSSSecurityProperties inSecurityProperties = new 
WSSSecurityProperties();
-            inSecurityProperties.setStrictTimestampCheck(false);
-            
inSecurityProperties.loadSignatureVerificationKeystore(this.getClass().getClassLoader().getResource("receiver.jks"),
 "default".toCharArray());
-            
inSecurityProperties.loadDecryptionKeystore(this.getClass().getClassLoader().getResource("receiver.jks"),
 "default".toCharArray());
-            inSecurityProperties.setCallbackHandler(new CallbackHandlerImpl());
-
-            inboundWSSec = WSSec.getInboundWSSec(inSecurityProperties);
-        }
-        InputStream fileInputStream = new BufferedInputStream(new 
FileInputStream(input));
-        XMLStreamReader outXmlStreamReader = 
inboundWSSec.processInMessage(xmlInputFactory.createXMLStreamReader(fileInputStream));
-
-        while (outXmlStreamReader.hasNext()) {
-            outXmlStreamReader.next();
-        }
-        fileInputStream.close();
-        outXmlStreamReader.close();
-    }
-}
diff --git a/performance/src/test/resources/log4j-wss.xml 
b/performance/src/test/resources/log4j-wss.xml
deleted file mode 100755
index d1408e5e0..000000000
--- a/performance/src/test/resources/log4j-wss.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration debug="false" 
xmlns:log4j="http://jakarta.apache.org/log4j/";>
-    <appender name="FILE" class="org.apache.log4j.FileAppender">
-        <param name="File" value="target/logging.log"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
-        </layout>
-    </appender>
-    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
-        </layout>
-    </appender>
-    <!--<logger name="org.apache.xml.security.utils.SignerOutputStream">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.xml.security.utils.DigesterOutputStream">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.jcp.xml.dsig.internal.DigesterOutputStream">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.jcp.xml.dsig.internal.SignerOutputStream">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.xml.security.encryption.XMLCipher">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.xml.security.stax.impl.InputProcessorChainImpl">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.xml.security.stax.impl.OutputProcessorChainImpl">
-        <level value="INFO"/>
-    </logger>
-    <logger name="org.apache.wss4j.stax.impl.processor.input">
-        <level value="INFO"/>
-    </logger>
-    <logger 
name="org.apache.wss4j.stax.test.AbstractTestBase$CustomWSS4JHandler">
-        <level value="INFO"/>
-    </logger>-->
-    <root>
-        <level value="DEBUG"/>
-        <appender-ref ref="FILE"/>
-        <!--<appender-ref ref="STDOUT"/>-->
-    </root>
-</log4j:configuration>

Reply via email to