Changeset 19371 in osm for applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CacheControl.java
- Timestamp:
- 2010-01-10T15:46:08+01:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CacheControl.java
r18838 r19371 49 49 private Lock imagesLock = new ReentrantLock(); 50 50 51 public boolean isCachePipeEmpty() { 52 imagesLock.lock(); 53 boolean ret = imagesToSave.isEmpty(); 54 imagesLock.unlock(); 55 return ret; 56 } 57 51 58 public CacheControl(WMSLayer wmsLayer) { 52 59 cacheEnabled = Main.pref.getBoolean("cadastrewms.enableCaching", true); … … 171 178 for (;;) { 172 179 imagesLock.lock(); 173 // copy locally the images to save for better performance 174 ArrayList<GeorefImage> images = new ArrayList<GeorefImage>(imagesToSave); 175 imagesToSave.clear(); 180 //ArrayList<GeorefImage> images = new ArrayList<GeorefImage>(imagesToSave); 181 int size = imagesToSave.size(); 176 182 imagesLock.unlock(); 177 if ( images != null && !images.isEmpty()) {183 if (size > 0) { 178 184 String extension = String.valueOf((wmsLayer.getLambertZone() + 1)); 179 185 if (Main.proj instanceof LambertCC9Zones) … … 186 192 ObjectOutputStreamAppend oos = new ObjectOutputStreamAppend( 187 193 new BufferedOutputStream(new FileOutputStream(file, true))); 188 for ( GeorefImage img : images) {189 oos.writeObject(im g);194 for (int i=0; i < size; i++) { 195 oos.writeObject(imagesToSave.get(i)); 190 196 } 191 197 oos.close(); … … 194 200 new BufferedOutputStream(new FileOutputStream(file))); 195 201 wmsLayer.write(oos); 196 for ( GeorefImage img : images) {197 oos.writeObject(im g);202 for (int i=0; i < size; i++) { 203 oos.writeObject(imagesToSave.get(i)); 198 204 } 199 205 oos.close(); … … 202 208 e.printStackTrace(System.out); 203 209 } 210 imagesLock.lock(); 211 for (int i=0; i < size; i++) { 212 imagesToSave.remove(0); 213 } 214 imagesLock.unlock(); 204 215 } 205 216 try {wait();} catch (InterruptedException e) {
Note:
See TracChangeset
for help on using the changeset viewer.