Package com.canoo.webtest.extension

Source Code of com.canoo.webtest.extension.ReplaceContentFilter

// Copyright � 2004-2007 ASERT. Released under the Canoo Webtest license.
package com.canoo.webtest.extension;

import com.canoo.webtest.steps.AbstractFilter;
import com.gargoylesoftware.htmlunit.WebResponse;

/**
* Replaces all occurrences of a regular expression with some constant data.<p>
*
* @author Paul King
* @webtest.step category="Filter"
* name="replaceFilter"
* description="Replaces part of a response with some constant data. For use with steps which take a <em>ContentFilter</em>."
*/
public class ReplaceContentFilter extends AbstractFilter
{
    private String fRegex;
    private String fReplacement;

    /**
     * @param value
     * @webtest.parameter required="yes"
     * description="The regex matching content to replace."
     */
    public void setRegex(final String value) {
        fRegex = value;
    }

    public String getRegex() {
        return fRegex;
    }

    /**
     * @param value
     * @webtest.parameter required="no" default="[REMOVED]"
     * description="The regex replacement string."
     */
    public void setReplacement(final String value) {
        fReplacement = value;
    }

    public String getReplacement() {
        return fReplacement;
    }

    public void doExecute() throws Exception {
        final WebResponse response = getContext().getCurrentResponse().getWebResponse();
        final String orig = response.getContentAsString();
        final String origType = response.getContentType();
        final String resultStr = orig.replaceAll(getRegex(), getReplacement() == null ? "[REMOVED]" : getReplacement());
        defineAsCurrentResponse(resultStr, origType);
    }

    protected void verifyParameters() {
        super.verifyParameters();
        nullParamCheck(getRegex(), "regex");
        nullResponseCheck();
    }
}
TOP

Related Classes of com.canoo.webtest.extension.ReplaceContentFilter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.