Revision 43865 branches/org.gvsig.desktop-2018a/org.gvsig.desktop.library/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer.spi/src/main/java/org/gvsig/raster/lib/buffer/spi/operations/AbstractOperation.java

View differences:

AbstractOperation.java
26 26
import org.gvsig.raster.lib.buffer.api.exceptions.BufferOperationException;
27 27
import org.gvsig.raster.lib.buffer.api.operations.OperationFactory;
28 28
import org.gvsig.raster.lib.buffer.spi.exceptions.ProcessingOperationException;
29
import org.gvsig.tools.ToolsLocator;
29 30
import org.gvsig.tools.dynobject.DynObject;
30
import org.gvsig.tools.persistence.PersistentState;
31
import org.gvsig.tools.persistence.exception.PersistenceException;
31
import org.gvsig.tools.task.TaskStatus;
32
import org.gvsig.tools.task.TaskStatusManager;
32 33

  
33 34

  
34 35
/**
......
39 40

  
40 41
    static public String COPY_UNPROCESSED_BANDS_PARAM = "copy_unprocessed_bands";
41 42

  
42
    protected Buffer buffer;
43
    protected DynObject parameters;
44
    protected Buffer outputBuffer;
45
    protected OperationFactory factory;
46
    protected boolean copyUnprocessedBands;
43
    private Buffer buffer;
44
    private DynObject parameters;
45
    private Buffer outputBuffer;
46
    private final OperationFactory factory;
47
    private TaskStatus taskStatus;
47 48

  
49
    private boolean copyUnprocessedBands;
48 50

  
49 51
    /**
50 52
     *
53
     * @param factory
51 54
     */
52
    public AbstractOperation() {
53
        // Nothing to do
55
    protected AbstractOperation(OperationFactory factory) {
56
        this.factory = factory;
54 57
    }
55 58

  
59
    protected boolean mustCopyUnprocessedBands() {
60
        return copyUnprocessedBands;
61
    }
62
    
56 63
    @Override
57 64
    public void preProcess() throws BufferOperationException {
58 65
        if (this.parameters.getDynClass().getDynField(COPY_UNPROCESSED_BANDS_PARAM) != null
......
64 71
    }
65 72

  
66 73
    @Override
74
    public TaskStatus getTaskStatus() {
75
        if( this.taskStatus==null ) {
76
            TaskStatusManager taskStatusManager = ToolsLocator.getTaskStatusManager();
77
            this.taskStatus = taskStatusManager.createDefaultSimpleTaskStatus(
78
                this.getFactory().getName());
79
        }
80
        return this.taskStatus;
81
    }
82

  
83
    @Override
67 84
    public void process() throws ProcessingOperationException {
68 85
        //Nothing to do
69 86
    }
......
78 95
     * @see org.gvsig.raster.lib.buffer.api.Operation#execute(org.gvsig.raster.lib.buffer.api.Buffer, org.gvsig.tools.dynobject.DynObject)
79 96
     */
80 97
    @Override
81
    public Buffer execute(Buffer buffer, DynObject parameters) throws BufferOperationException {
98
    public Buffer execute(TaskStatus status, Buffer buffer, DynObject parameters) throws BufferOperationException {
82 99
        this.buffer = buffer;
83 100
        this.parameters = parameters;
101
        this.taskStatus = status;
84 102
        this.preProcess();
85 103
        this.process();
86 104
        this.postProcess();
......
103 121
        return parameters;
104 122
    }
105 123

  
124
    @Override
125
    public Object getParameter(String name, Object defaultValue) {
126
        if(this.parameters.getDynClass().getDynField(name)!=null) {
127
            return this.getParameters().getDynValue(name);
128
        }
129
        return defaultValue;
130
    }
131
    
132
    @Override
133
    public void setParameter(String name, Object value) {
134
            this.getParameters().setDynValue(name, value);
135
    }
136
    
106 137
    /* (non-Javadoc)
107 138
     * @see org.gvsig.raster.lib.buffer.spi.OperationServices#getInputBuffer()
108 139
     */
......
118 149
    public Buffer getOutputBuffer() {
119 150
        return outputBuffer;
120 151
    }
152

  
153
    @Override
154
    public void setOutputBuffer(Buffer theOutputBuffer) {
155
        this.outputBuffer = theOutputBuffer;
156
    }
157

  
158
    
121 159
}

Also available in: Unified diff