Statistics
| Revision:

gvsig-geoprocess / org.gvsig.geoprocess / trunk / org.gvsig.geoprocess / org.gvsig.geoprocess.lib / org.gvsig.geoprocess.lib.sextante / src / main / java / org / gvsig / geoprocess / lib / sextante / SimpleTaskStatusDelegated.java @ 1552

History | View | Annotate | Download (5.51 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.geoprocess.lib.sextante;
25

    
26
import java.util.Date;
27

    
28
import es.unex.sextante.core.ITaskMonitor;
29

    
30
import org.gvsig.tools.ToolsLocator;
31
import org.gvsig.tools.observer.Observer;
32
import org.gvsig.tools.task.SimpleTaskStatus;
33
import org.gvsig.tools.task.TaskStatusManager;
34

    
35
/**
36
 * {@link SimpleTaskStatus} implementation which delegates in a
37
 * {@link ITaskMonitor} and a default {@link SimpleTaskStatus}.
38
 * 
39
 * @author gvSIG Team
40
 * @version $Id$
41
 */
42
public class SimpleTaskStatusDelegated implements SimpleTaskStatus {
43

    
44
    private final ITaskMonitor monitor;
45
    private final SimpleTaskStatus status;
46
    private long min;
47
    private long max;
48

    
49
    /**
50
     * Creates a new {@link SimpleTaskStatusDelegated} with a
51
     * {@link ITaskMonitor} and the name of the task to perform.
52
     * 
53
     * @param monitor
54
     *            to delegate to
55
     * @param taskName
56
     *            name of the task to perform
57
     */
58
    public SimpleTaskStatusDelegated(ITaskMonitor monitor, String taskName) {
59
        this.monitor = monitor;
60
        if (this.monitor != null) {
61
            this.monitor.setDeterminate(false);
62
        }
63
        this.status =
64
            ToolsLocator.getTaskStatusManager().createDefaultSimpleTaskStatus(
65
                taskName);
66
        this.status.setAutoremove(true);
67
    }
68

    
69
    public void addObserver(Observer o) {
70
        status.addObserver(o);
71
    }
72

    
73
    public void deleteObserver(Observer o) {
74
        status.deleteObserver(o);
75
    }
76

    
77
    public void deleteObservers() {
78
        status.deleteObservers();
79
    }
80

    
81
    public void setTittle(String tittle) {
82
        status.setTitle(tittle);
83
    }
84

    
85
    public void setTitle(String title) {
86
        status.setTitle(title);
87
    }
88

    
89
    public void message(String message) {
90
        status.message(message);
91
        if (this.monitor != null) {
92
            monitor.setProgressText(message);
93
        }
94
    }
95

    
96
    public void setRangeOfValues(long min, long max) {
97
        this.min = min;
98
        this.max = max;
99
        status.setRangeOfValues(min, max);
100
        if (this.monitor != null) {
101
            monitor.setDeterminate(true);
102
        }
103
    }
104

    
105
    public void setCurValue(long value) {
106
        status.setCurValue(value);
107
        if (this.monitor != null) {
108
            monitor.setProgress((int) (value - min), (int) (max - min));
109
        }
110
    }
111

    
112
    public boolean isCancellationRequested() {
113
        return status.isCancellationRequested();
114
    }
115

    
116
    public void cancelRequest() {
117
        status.cancelRequest();
118
    }
119

    
120
    public void terminate() {
121
        status.terminate();
122
        if (this.monitor != null) {
123
            monitor.close();
124
        }
125
    }
126

    
127
    public String getTitle() {
128
        return status.getTitle();
129
    }
130

    
131
    public void cancel() {
132
        status.cancel();
133
    }
134

    
135
    public String getCode() {
136
        return status.getCode();
137
    }
138

    
139
    public void abort() {
140
        status.abort();
141
        if (this.monitor != null) {
142
            monitor.close();
143
        }
144
    }
145

    
146
    public int getCompleted() {
147
        return status.getCompleted();
148
    }
149

    
150
    public void remove() {
151
        status.remove();
152
    }
153

    
154
    public void add() {
155
        status.add();
156
    }
157

    
158
    public String getLabel() {
159
        return status.getLabel();
160
    }
161

    
162
    public void setCancellable(boolean cancellable) {
163
        status.setCancellable(cancellable);
164
    }
165

    
166
    public boolean isCancelled() {
167
        return status.isCancelled()
168
            || (monitor != null && monitor.isCanceled());
169
    }
170

    
171
    public void setAutoremove(boolean autoremove) {
172
        status.setAutoremove(autoremove);
173
    }
174

    
175
    public boolean isAborted() {
176
        return status.isAborted();
177
    }
178

    
179
    public boolean isRunning() {
180
        return status.isRunning();
181
    }
182

    
183
    public boolean getAutoRemove() {
184
        return status.getAutoRemove();
185
    }
186

    
187
    public Date getLastModification() {
188
        return status.getLastModification();
189
    }
190

    
191
    public TaskStatusManager getManager() {
192
        return status.getManager();
193
    }
194

    
195
    public boolean isIndeterminate() {
196
        return status.isIndeterminate();
197
    }
198

    
199
    public boolean isCancellable() {
200
        return status.isCancellable();
201
    }
202

    
203
        public void pop() {
204
                status.pop();
205
        }
206

    
207
        public void push() {
208
                status.push();
209
        }
210

    
211
        public void setIndeterminate() {
212
                status.setIndeterminate();
213
        }
214
        
215
        public void restart() {
216
            status.restart();
217
        }
218

    
219
    public void incrementCurrentValue() {
220
        this.status.incrementCurrentValue();
221
    }
222

    
223
    public String getMessage() {
224
        return this.status.getMessage();
225
    }
226

    
227
    @Override
228
    public String getProgressLabel() {
229
        return status.getProgressLabel();
230
    }
231

    
232
}