Revision 8852

View differences:

org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.mainplugin/src/main/java/org/gvsig/raster/tools/app/mainplugin/SaveRasterLayerExtension.java
25 25
import org.gvsig.raster.swing.buffer.RasterSwingBufferManager;
26 26
import org.gvsig.raster.swing.buffer.save.SaveBufferDialog;
27 27
import org.gvsig.tools.ToolsLocator;
28
import org.gvsig.tools.dispose.DisposeUtils;
28 29
import org.gvsig.tools.i18n.I18nManager;
29 30

  
30 31
/**
......
52 53
                final RasterLayer layer = (RasterLayer) layers[0];
53 54

  
54 55
                final RasterStore store = layer.getRasterStore();
55
                Buffer buffer;
56
                Buffer buffer = null;
56 57
                try {
57
                    buffer = store.getRasterSet();
58
                } catch (DataException e) {
59
                    logger.error("Error creating raster store's buffer", e);
60
                    JOptionPane.showMessageDialog(null,
61
                        new StringBuilder().append(i18nManager.getTranslation("error_creating_buffer")).append(":")
62
                            .append(e.getLocalizedMessage()), i18nManager.getTranslation("error"),
63
                        JOptionPane.ERROR_MESSAGE);
64
                    return;
65
                }
66
                OperationList filters = layer.getLegend().getFilters();
67
                if(buffer != null){
68
                    Buffer filteredBuffer = null;
69 58
                    try {
70
                        filteredBuffer = filters.execute(buffer);
71
                    } catch (BufferOperationException e) {
72
                        logger.error("Error applying the filters", e);
59
                        buffer = store.getRasterSet();
60
                    } catch (DataException e) {
61
                        logger.error("Error creating raster store's buffer", e);
73 62
                        JOptionPane.showMessageDialog(null,
74
                            new StringBuilder().append(i18nManager.getTranslation("error_applying_buffer")).append(":")
63
                            new StringBuilder().append(i18nManager.getTranslation("error_creating_buffer")).append(":")
75 64
                                .append(e.getLocalizedMessage()), i18nManager.getTranslation("error"),
76 65
                            JOptionPane.ERROR_MESSAGE);
77 66
                        return;
78 67
                    }
79
                    RasterSwingBufferManager rasterSwingBufferManager = RasterSwingBufferLocator.getSwingManager();
80
                    SaveBufferDialog saveBufferDialog = rasterSwingBufferManager.createSaveBufferDialog();
81
                    saveBufferDialog.setBuffer(filteredBuffer);
82
                    saveBufferDialog.showDialog(null);
83
                    return;
68
                    OperationList filters = layer.getLegend().getFilters();
69
                    if (buffer != null) {
70
                        Buffer filteredBuffer = null;
71
                        try {
72
                            filteredBuffer = filters.execute(buffer);
73
                            RasterSwingBufferManager rasterSwingBufferManager =
74
                                RasterSwingBufferLocator.getSwingManager();
75
                            SaveBufferDialog saveBufferDialog = rasterSwingBufferManager.createSaveBufferDialog();
76
                            saveBufferDialog.setBuffer(filteredBuffer);
77
                            saveBufferDialog.showDialog(null);
78
                        } catch (BufferOperationException e) {
79
                            logger.error("Error applying the filters", e);
80
                            JOptionPane.showMessageDialog(
81
                                null,
82
                                new StringBuilder().append(i18nManager.getTranslation("error_applying_buffer"))
83
                                    .append(":").append(e.getLocalizedMessage()), i18nManager.getTranslation("error"),
84
                                JOptionPane.ERROR_MESSAGE);
85
                            return;
86
                        } finally {
87
                            DisposeUtils.disposeQuietly(filteredBuffer);
88
                        }
89
                        return;
90
                    }
91
                } finally {
92
                    DisposeUtils.disposeQuietly(buffer);
84 93
                }
85 94
            }
86 95
        }
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.mainplugin/src/main/java/org/gvsig/raster/tools/app/mainplugin/ExportViewToImageExtension.java
31 31
import org.gvsig.raster.swing.buffer.save.SaveBufferDialog;
32 32
import org.gvsig.raster.tools.swing.api.RasterToolsSwingLocator;
33 33
import org.gvsig.raster.tools.swing.api.RasterToolsSwingManager;
34
import org.gvsig.tools.dispose.DisposeUtils;
34 35
import org.gvsig.tools.locator.LocatorException;
35 36
import org.gvsig.tools.swing.api.ToolsSwingLocator;
36 37
import org.gvsig.tools.swing.api.ToolsSwingManager;
......
75 76
            Buffer buffer = null;
76 77
            try {
77 78
                buffer = bufferManager.createBufferFromAwtRaster(image.getRaster(), viewPort.getProjection(), envelope);
79
                RasterSwingBufferManager rasterSwingBufferManager = RasterSwingBufferLocator.getSwingManager();
80
                SaveBufferDialog saveBufferDialog = rasterSwingBufferManager.createSaveBufferDialog(buffer);
81

  
82
                saveBufferDialog.showDialog(null);
78 83
            } catch (IOException | BufferException e1) {
79 84
                logger.warn("Can't create buffer from view's image.", e1);
80 85
                return;
86
            } finally {
87
                DisposeUtils.disposeQuietly(buffer);
81 88
            }
82

  
83
            RasterSwingBufferManager rasterSwingBufferManager = RasterSwingBufferLocator.getSwingManager();
84
            SaveBufferDialog saveBufferDialog = rasterSwingBufferManager.createSaveBufferDialog(buffer);
85

  
86
            saveBufferDialog.showDialog(null);
87

  
88 89
        }
89 90
    }
90 91

  

Also available in: Unified diff