Revision 43867 branches/org.gvsig.desktop-2018a/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.impl/src/main/java/org/gvsig/fmap/mapcontext/raster/impl/DefaultRasterLayer.java

View differences:

DefaultRasterLayer.java
32 32
import java.util.Observer;
33 33
import java.util.Set;
34 34
import java.util.TreeSet;
35
import java.util.logging.Level;
36
import java.util.logging.Logger;
35 37

  
36 38
import org.cresques.cts.ICoordTrans;
37 39
import org.slf4j.LoggerFactory;
......
39 41
import org.gvsig.compat.print.PrintAttributes;
40 42
import org.gvsig.fmap.dal.DataStore;
41 43
import org.gvsig.fmap.dal.exception.DataException;
44
import org.gvsig.fmap.dal.exception.InitializeException;
42 45
import org.gvsig.fmap.dal.exception.ReadException;
43 46
import org.gvsig.fmap.dal.raster.api.BandAttributeDescriptor;
44 47
import org.gvsig.fmap.dal.raster.api.BandDescriptor;
......
67 70
import org.gvsig.fmap.mapcontext.rendering.legend.events.LegendClearEvent;
68 71
import org.gvsig.fmap.mapcontext.rendering.legend.events.SymbolLegendEvent;
69 72
import org.gvsig.metadata.exceptions.MetadataException;
73
import org.gvsig.raster.lib.buffer.api.BufferDimensions;
70 74
import org.gvsig.raster.lib.buffer.api.BufferLocator;
71 75
import org.gvsig.raster.lib.buffer.api.statistics.Statistics;
72 76
import org.gvsig.raster.lib.legend.api.RasterLegend;
......
292 296
        rasterQuery.setClip(reprojectedViewPortEnvelope);
293 297

  
294 298
        RasterSet rasterSet = null;
299
        SimpleTaskStatus taskStatus = null;
295 300
        try {
296 301

  
297 302
            long tini = System.currentTimeMillis();
298 303

  
299 304
            // TODO Task status should be used to cancel
300 305
            TaskStatusManager manager = ToolsLocator.getTaskStatusManager();
301
            final SimpleTaskStatus taskStatus = manager.createDefaultSimpleTaskStatus("Draw " + getDataStore().getName());
306
            taskStatus = manager.createDefaultSimpleTaskStatus("Draw " + getDataStore().getName());
307
            taskStatus.setAutoremove(true);
308
            taskStatus.add();
302 309
            rasterSet = getRasterStore().getRasterSet(rasterQuery);
303 310
            if (!rasterSet.isEmpty()) {
304 311
                getLegend().draw(g, rasterSet, viewPort, taskStatus);
305 312
                logger.debug("Layer " + this.getName() + " drawn in " + (System.currentTimeMillis() - tini)
306 313
                    + " milliseconds.");
307 314
            }
315
            
308 316

  
309 317
        } catch (DataException e) {
318
            if( taskStatus!=null ) {
319
                taskStatus.abort();
320
                taskStatus = null;
321
            }
310 322
            this.setAvailable(false);
311 323
            this.setError(e);
312 324
            throw new ReadException(getName(), e);
......
315 327
                DisposeUtils.dispose(rasterSet);
316 328
                rasterSet = null;
317 329
            }
330
            if( taskStatus!=null ) {
331
                taskStatus.terminate();
332
                taskStatus = null;
333
            }
318 334
        }
319 335

  
320 336
    }
......
441 457
        } catch (LocatorException | DataException | CreateEnvelopeException e) {
442 458
        }
443 459
        int bands = rasterStore.getBands();
460
        int rows = -1;
461
        int columns = -1;
462
        String pixelSize = "-/-";
463
        try {
464
            BufferDimensions dimensions = rasterStore.getDimensions();
465
            rows = dimensions.getRows();
466
            columns = dimensions.getColumns();
467
            pixelSize = String.format("%.3f/%.3f", dimensions.getPixelSizeX(), dimensions.getPixelSizeY());
468
        } catch (InitializeException ex) {
469
        }
444 470
        I18nManager i18nManager = ToolsLocator.getI18nManager();
445 471
        LayerInformationBuilder builder = MapContextLocator.getMapContextManager().createLayerInformationBuilder();
446 472

  
......
455 481
        }
456 482

  
457 483
        builder.property().labelkey("_bands").value("%d", bands);
484
        builder.property().labelkey("_rows").value("%d", rows);
485
        builder.property().labelkey("_columns").value("%d", columns);
486
        builder.property().labelkey("_pixel_size").value("%s", pixelSize);
458 487
        builder.property().labelkey("transparency").value("%d", this.getTransparency());
459 488

  
460 489
        builder.title().labelkey("_Coordenadas_geograficas");

Also available in: Unified diff