Ignore:
Timestamp:
2014-10-19T01:27:04+02:00 (10 years ago)
Author:
donvip
Message:

[josm_plugins] fix java 7 warnings / global usage of try-with-resource

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CacheControl.java

    r30737 r30738  
    11// License: GPL. v2 and later. Copyright 2008-2009 by Pieren <pieren3@gmail.com> and others
    22package cadastre_fr;
     3
     4import static org.openstreetmap.josm.tools.I18n.tr;
     5
     6import java.io.BufferedOutputStream;
     7import java.io.File;
     8import java.io.FileInputStream;
     9import java.io.FileOutputStream;
     10import java.io.IOException;
     11import java.io.ObjectInputStream;
     12import java.io.ObjectOutputStream;
     13import java.io.OutputStream;
     14import java.util.ArrayList;
     15import java.util.concurrent.locks.Lock;
     16import java.util.concurrent.locks.ReentrantLock;
     17
     18import javax.swing.JDialog;
     19import javax.swing.JOptionPane;
     20
     21import org.openstreetmap.josm.Main;
     22
    323/**
    424 * This class handles the WMS layer cache mechanism. The design is oriented for a good performance (no
     
    1030 * is inserted before each append and an exception is raised at objects read).
    1131 */
    12 
    13 import static org.openstreetmap.josm.tools.I18n.tr;
    14 
    15 import java.io.*;
    16 import java.util.ArrayList;
    17 import java.util.concurrent.locks.Lock;
    18 import java.util.concurrent.locks.ReentrantLock;
    19 
    20 import javax.swing.JDialog;
    21 import javax.swing.JOptionPane;
    22 import org.openstreetmap.josm.Main;
    23 
    2432public class CacheControl implements Runnable {
    2533
     
    3240            super(out);
    3341        }
     42        @Override
    3443        protected void writeStreamHeader() throws IOException {
    3544            reset();
     
    4049
    4150    public static int cacheSize = 500;
    42 
    4351
    4452    public WMSLayer wmsLayer = null;
     
    141149    public boolean loadCache(File file, int currentLambertZone) {
    142150        boolean successfulRead = false;
    143         FileInputStream fis = null;
    144         ObjectInputStream ois = null;
    145         try {
    146             fis = new FileInputStream(file);
    147             ois = new ObjectInputStream(fis);
     151        try (
     152            FileInputStream fis = new FileInputStream(file);
     153            ObjectInputStream ois = new ObjectInputStream(fis);
     154        ) {
    148155            successfulRead = wmsLayer.read(file, ois, currentLambertZone);
    149156        } catch (Exception ex) {
     
    151158            JOptionPane.showMessageDialog(Main.parent, tr("Error loading file.\nProbably an old version of the cache file."), tr("Error"), JOptionPane.ERROR_MESSAGE);
    152159            return false;
    153         } finally {
    154             try {
    155                 ois.close();
    156                 fis.close();
    157             } catch (Exception e) {
    158                 e.printStackTrace();
    159             }
    160160        }
    161161        if (successfulRead && wmsLayer.isRaster()) {
     
    165165        return successfulRead;
    166166    }
    167 
    168167
    169168    public synchronized void saveCache(GeorefImage image) {
     
    177176     * Thread saving the grabbed images in background.
    178177     */
     178    @Override
    179179    public synchronized void run() {
    180180        for (;;) {
     
    186186                try {
    187187                    if (file.exists()) {
    188                         ObjectOutputStreamAppend oos = new ObjectOutputStreamAppend(
    189                                 new BufferedOutputStream(new FileOutputStream(file, true)));
    190                         for (int i=0; i < size; i++) {
    191                             oos.writeObject(imagesToSave.get(i));
     188                        try (ObjectOutputStreamAppend oos = new ObjectOutputStreamAppend(
     189                                new BufferedOutputStream(new FileOutputStream(file, true)))) {
     190                            for (int i=0; i < size; i++) {
     191                                oos.writeObject(imagesToSave.get(i));
     192                            }
    192193                        }
    193                         oos.close();
    194194                    } else {
    195                         ObjectOutputStream oos = new ObjectOutputStream(
    196                                 new BufferedOutputStream(new FileOutputStream(file)));
    197                         wmsLayer.write(file, oos);
    198                         for (int i=0; i < size; i++) {
    199                             oos.writeObject(imagesToSave.get(i));
     195                        try (ObjectOutputStream oos = new ObjectOutputStream(
     196                                new BufferedOutputStream(new FileOutputStream(file)))) {
     197                            wmsLayer.write(file, oos);
     198                            for (int i=0; i < size; i++) {
     199                                oos.writeObject(imagesToSave.get(i));
     200                            }
    200201                        }
    201                         oos.close();
    202202                    }
    203203                } catch (IOException e) {
    204                     e.printStackTrace(System.out);
     204                    Main.error(e);
    205205                }
    206206                imagesLock.lock();
Note: See TracChangeset for help on using the changeset viewer.