Revision 41046 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/rendering/symbols/impl/DefaultSymbolManager.java

View differences:

DefaultSymbolManager.java
48 48
import java.util.Map;
49 49
import java.util.Random;
50 50

  
51
import javax.swing.SwingUtilities;
52

  
53 51
import org.gvsig.fmap.mapcontext.MapContextRuntimeException;
54 52
import org.gvsig.fmap.mapcontext.impl.InvalidRegisteredClassException;
55 53
import org.gvsig.fmap.mapcontext.impl.RegisteredClassInstantiationException;
......
65 63
import org.gvsig.tools.persistence.PersistentState;
66 64
import org.gvsig.tools.persistence.exception.PersistenceException;
67 65
import org.gvsig.tools.task.AbstractMonitorableTask;
66
import org.gvsig.tools.task.CancellableTask;
68 67
import org.gvsig.tools.task.SimpleTaskStatus;
69 68
import org.gvsig.tools.task.TaskStatusManager;
70 69
import org.gvsig.tools.visitor.VisitCanceledException;
......
200 199
		public void run() {
201 200
			// TODO: add symbol caching
202 201
			try {
202
				logger.info("[SymbolsLoaderTask] process initited.");
203 203
				if (folder.exists()) {
204 204
					taskStatus.setAutoremove(true);
205 205
					taskStatus.message("preparing");
......
226 226
						taskStatus.message("loading");
227 227
						for (int i = 0; i < symbolFiles.length; i++) {
228 228
							taskStatus.setCurValue(i);
229
							if( taskStatus.isCancellationRequested() ) {
230
								logger.info("[SymbolsLoaderTask] process canceled.");
231
								break;
232
							}
229 233
							ISymbol symbol = null;
230 234
							try {
231 235
								symbol = loadSymbol(symbolFiles[i]);
......
246 250
			} finally {
247 251
				taskStatus.terminate();
248 252
			}
253
			logger.info("[SymbolsLoaderTask] process terminated.");
249 254

  
250 255
		}
251 256
	}
252 257
	
253
	public void loadSymbols(File folder, FileFilter filter, Visitor visitor) {
258
	public CancellableTask loadSymbols(File folder, FileFilter filter, Visitor visitor) {
254 259
		SymbolsLoaderTask task = new SymbolsLoaderTask(folder, filter, visitor);
255 260
		task.start();
261
		return task;
256 262
	}
257 263

  
258 264
	public void saveSymbol(ISymbol symbol, String fileName, File folder)

Also available in: Unified diff