Package org.geotools.arcsde.data

Source Code of org.geotools.arcsde.data.TestProgressListener

/*
*    GeoTools - The Open Source Java GIS Toolkit
*    http://geotools.org
*
*    (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
*    This library is free software; you can redistribute it and/or
*    modify it under the terms of the GNU Lesser General Public
*    License as published by the Free Software Foundation;
*    version 2.1 of the License.
*
*    This library is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
*    Lesser General Public License for more details.
*
*/
package org.geotools.arcsde.data;

import org.geotools.util.SimpleInternationalString;
import org.opengis.util.InternationalString;
import org.opengis.util.ProgressListener;

/**
* An implementation of ProgressListener to use when testing.
* <p>
* This implementation is good about throwing illegal state exceptions and so forth.
*
* @author Jody
*
*
*
* @source $URL$
*         http://svn.osgeo.org/geotools/trunk/modules/plugin/arcsde/datastore/src/test/java/org
*         /geotools/arcsde/data/TestProgressListener.java $
*/
public class TestProgressListener implements ProgressListener {
    int progressCount;

    float progress;

    int taskCount;

    InternationalString task;

    boolean isCanceled;

    int exceptionCount;

    Throwable exception;

    boolean completed;

    private boolean started;

    @SuppressWarnings("unused")
    private String[] warning;

    public void reset() {
        progressCount = 0;
        progress = 0f;
        taskCount = 0;
        task = null;
        isCanceled = false;
        exceptionCount = 0;
        exception = null;
        completed = false;
        started = false;
        warning = null;
    }

    public void complete() {
        if (completed)
            throw new IllegalStateException("Cannot complete twice");
        progress = 100f;
        completed = true;
    }

    public void dispose() {
        reset();
    }

    public void exceptionOccurred(Throwable exception) {
        this.exception = exception;
    }

    public String getDescription() {
        return task == null ? null : task.toString();
    }

    public float getProgress() {
        return progress;
    }

    public InternationalString getTask() {
        return task;
    }

    public boolean isCanceled() {
        return isCanceled;
    }

    public void progress(float percent) {
        if (!started)
            throw new IllegalStateException("Cannot record progress unless started");
        if (completed)
            throw new IllegalStateException("Cannot record progress when completed");
        progress = percent;
    }

    public void setCanceled(boolean cancel) {
        if (!started)
            throw new IllegalStateException("Cannot canel unless started");
        if (completed)
            throw new IllegalStateException("Cannot cancel when completed");
        isCanceled = cancel;
    }

    public void setDescription(String description) {
        task = new SimpleInternationalString(description);
    }

    public void setTask(InternationalString task) {
        this.task = task;
    }

    public void started() {
        if (started)
            throw new IllegalStateException("Cannot start twice");
        this.started = true;
    }

    public void warningOccurred(String source, String location, String warning) {
        this.warning = new String[] { source, location, warning };
    }

}
TOP

Related Classes of org.geotools.arcsde.data.TestProgressListener

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.