Package com.canoo.webtest.extension

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

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

import java.util.List;

import org.apache.tools.ant.Task;

import com.canoo.webtest.engine.Context;
import com.canoo.webtest.engine.WebClientContext;
import com.canoo.webtest.interfaces.IComputeValue;

/**
* Abstract class used for processing content.
*/
public abstract class AbstractProcessContentStep extends AbstractProcessFiltersStep implements IComputeValue {
    private String fPropertyName;
    private String fPropertyType;
    private String fComputedValue;

    /**
     * Sets the target property type.
     *
     * @param type The Property type
     * @webtest.parameter required="no"
     * description="The target property type. Either \"ant\" or \"dynamic\"."
     * default="the \"defaultPropertyType\" as specified in the \"config\" element is used."
     */
    public void setPropertyType(final String type) {
        fPropertyType = type;
    }

    public String getPropertyType() {
        return fPropertyType;
    }

    /**
     * Sets the target property name.
     *
     * @param name The Property Name
     * @webtest.parameter
     *   required="yes"
     *   description="The target property name."
     */
    public void setProperty(final String name) {
        fPropertyName = name;
    }

    public String getProperty() {
        return fPropertyName;
    }

    public void doExecute() {
        final List steps = getSteps();
        final Context context = getContext();
        final WebClientContext.StoredResponses origResponses = context.getResponses();
        // TODO: just make table like a normal filter, i.e. add to list of steps to execute
        applyTableFilterIfNeeded(context);
        applyExtractionIfNeeded(context);
        for (int i = 0; i < steps.size(); i++) {
            final Task step = (Task) steps.get(i);
            executeContainedStep(step);
//            context = step.getContext();
        }
//        setWebtestProperty(fPropertyName, processContent(context), fPropertyType);
      fComputedValue = processContent(getContext());
        setWebtestProperty(getProperty(), fComputedValue, getPropertyType());
        getContext().restoreResponses(origResponses);
    }

    protected abstract String processContent(Context text);

    /**
     * Verifies the parameters
     */
    protected void verifyParameters() {
        super.verifyParameters();
        nullParamCheck(getProperty(), "property");
        nullResponseCheck();
    }
   
  public String getComputedValue() {
    return fComputedValue;
  }
}
TOP

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

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.