Revision 41053

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/SymbolSelector.java
58 58

  
59 59
import org.slf4j.Logger;
60 60
import org.slf4j.LoggerFactory;
61

  
62 61
import org.gvsig.andami.PluginServices;
63 62
import org.gvsig.andami.messages.NotificationManager;
64 63
import org.gvsig.andami.ui.mdiManager.WindowInfo;
......
95 94
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.IMultiLayerLineSymbol;
96 95
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMarkerSymbol;
97 96
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMultiLayerMarkerSymbol;
97
import org.gvsig.tools.dispose.Disposable;
98 98

  
99 99

  
100 100
/**
......
617 617
					if (dir == null) {
618 618
						return;
619 619
					}
620

  
620
					ListModel model = jListSymbols.getModel();
621
					if( model != null && model instanceof Disposable ) {
622
						((Disposable)model).dispose();
623
					}
621 624
					jListSymbols.setModel(newListModel());
622
					//					jListSymbols.setSelectedValue(selectedElement, true);
623 625
				}
624 626
			});
625 627
			jScrollPane.setViewportView(libraryBrowser);
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/SymbolSelectorListModel.java
104 104

  
105 105
import org.gvsig.fmap.mapcontext.MapContextLocator;
106 106
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
107
import org.gvsig.tools.ToolsLocator;
108
import org.gvsig.tools.dispose.Disposable;
107 109
import org.gvsig.tools.exception.BaseException;
108 110
import org.gvsig.tools.task.CancellableTask;
109 111
import org.gvsig.tools.visitor.VisitCanceledException;
......
120 122
 * 
121 123
 */
122 124
public class SymbolSelectorListModel extends AbstractListModel implements
123
		ListModel {
125
		ListModel, Disposable {
124 126

  
125 127
	private static Logger logger = LoggerFactory.getLogger(SymbolSelectorListModel.class);
126 128
	private String fileExtension;
......
161 163
		this.sfilter = filter;
162 164
	}
163 165

  
166
	public synchronized void dispose() {
167
		/*
168
		 * Quien destruye la instancia de la clase se encarga de llamar al dispose
169
		 * pero no hace falta hacer seguimieto de las instancias de esta que hay
170
		 * en ejecucion, por eso no se a?ade en el constructor la instancia a la
171
		 * lista de disposable del DisposableManager.
172
		 */
173
		if( this.symbolLoader!=null ) {
174
			this.symbolLoader.cancelRequest();
175
		}
176
	}
177

  
164 178
	public Object remove(int i) throws ArrayIndexOutOfBoundsException {
165 179
		ISymbol o = elements.remove(i);
166 180
		this.fireIntervalRemoved(this, i, i);
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
199 199
		public void run() {
200 200
			// TODO: add symbol caching
201 201
			try {
202
				logger.info("[SymbolsLoaderTask] process initited.");
202
				logger.info("[SymbolsLoaderTask"+this.getId()+"] process initited.");
203 203
				if (folder.exists()) {
204 204
					taskStatus.setAutoremove(true);
205 205
					taskStatus.message("preparing");
......
227 227
						for (int i = 0; i < symbolFiles.length; i++) {
228 228
							taskStatus.setCurValue(i);
229 229
							if( taskStatus.isCancellationRequested() ) {
230
								logger.info("[SymbolsLoaderTask] process canceled.");
230
								logger.info("[SymbolsLoaderTask"+this.getId()+"] process canceled.");
231 231
								break;
232 232
							}
233 233
							ISymbol symbol = null;
......
250 250
			} finally {
251 251
				taskStatus.terminate();
252 252
			}
253
			logger.info("[SymbolsLoaderTask] process terminated.");
253
			logger.info("[SymbolsLoaderTask"+this.getId()+"] process terminated.");
254 254

  
255 255
		}
256 256
	}

Also available in: Unified diff