org.bigtester.ate.model.casestep.RepeatDataRefreshEvent.java Source code

Java tutorial

Introduction

Here is the source code for org.bigtester.ate.model.casestep.RepeatDataRefreshEvent.java

Source

/*******************************************************************************
 * ATE, Automation Test Engine
 *
 * Copyright 2015, Montreal PROT, or individual contributors as
 * indicated by the @author tags or express copyright attribution
 * statements applied by the authors.  All third-party contributions are
 * distributed under license by Montreal PROT.
 *
 * Licensed 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.bigtester.ate.model.casestep;

import java.util.Arrays;

import javax.swing.tree.TreeNode;

import org.bigtester.ate.GlobalUtils;
import org.springframework.context.ApplicationEvent;

// TODO: Auto-generated Javadoc
/**
 * This class RepeatDataRefreshEvent defines ....
 * 
 * @author Peidong Hu
 *
 */
public class RepeatDataRefreshEvent extends ApplicationEvent {

    /**
     * 
     */
    private static final long serialVersionUID = -6313585724147559106L;

    /** The iteration. */
    final private int iteration;

    /** The repeat step path nodes. */
    final private TreeNode[] repeatStepInvokePathNodes;

    /**
     * Instantiates a new repeat data refresh event.
     *
     * @param source
     *            the source
     * @param repeatStepInvokePathNodes
     *            the repeat step invoke path nodes
     * @param iteration
     *            the iteration
     */
    public RepeatDataRefreshEvent(RepeatStep source, TreeNode[] repeatStepInvokePathNodes, int iteration) {
        super(source);
        TreeNode[] temp = Arrays.copyOf(repeatStepInvokePathNodes, repeatStepInvokePathNodes.length);
        if (null == temp)
            throw GlobalUtils.createInternalError("error in copying array, repeatStepInvokePathNodes");
        else
            this.repeatStepInvokePathNodes = temp;
        this.iteration = iteration;
    }

    /**
     * @param repeatStep
     * @param i
     */
    public RepeatDataRefreshEvent(Object source) {
        super(source);
        this.iteration = 0;
        this.repeatStepInvokePathNodes = new TreeNode[0];
    }

    /**
     * Gets the repeat step name.
     *
     * @return the repeat step name
     */
    public String getRepeatStepName() {
        RepeatStepExecutionLoggerNode retVal = (RepeatStepExecutionLoggerNode) repeatStepInvokePathNodes[repeatStepInvokePathNodes.length
                - 1];
        String retV = (String) retVal.getUserObject();
        if (null == retV)
            throw GlobalUtils.createInternalError("repeat step name conversion error");
        else
            return retV;
    }

    /**
     * Gets the repeat step loop path.
     *
     * @return the repeat step loop path, if repeat step loop path is null, return "" empty string.
     */

    public String getRepeatStepExternalLoopPath() {
        StringBuilder builder = new StringBuilder("");
        for (int index = 0; index <= repeatStepInvokePathNodes.length - 2; index++) {
            RepeatStepExecutionLoggerNode tempNode = (RepeatStepExecutionLoggerNode) repeatStepInvokePathNodes[index];
            builder.append((String) tempNode.getUserObject());
            if (index < repeatStepInvokePathNodes.length - 2)
                builder.append("->");
        }
        String retVal = builder.toString();
        if (null == retVal)
            throw GlobalUtils.createInternalError("get repeat step loop path.");
        return retVal;
    }

    /**
     * @return the iteration
     */
    public int getIteration() {
        return iteration;
    }

    /**
     * @return the repeatStepInvokePathNodes
     */
    public TreeNode[] getRepeatStepInvokePathNodes() {
        TreeNode[] temp = Arrays.copyOf(repeatStepInvokePathNodes, repeatStepInvokePathNodes.length);
        if (null == temp)
            throw GlobalUtils.createInternalError("error in copying array, repeatStepInvokePathNodes");
        else
            return temp;
    }

}