Revision 131 org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/RasterDefaultImplLibrary.java

View differences:

RasterDefaultImplLibrary.java
21 21
 */
22 22
package org.gvsig.raster.impl;
23 23

  
24
import java.io.File;
25 24
import java.util.ArrayList;
26 25
import java.util.List;
27 26

  
......
31 30
import org.gvsig.fmap.dal.DALLocator;
32 31
import org.gvsig.fmap.dal.coverage.RasterLibrary;
33 32
import org.gvsig.fmap.dal.coverage.RasterLocator;
34
import org.gvsig.fmap.dal.coverage.util.PropertyEvent;
35
import org.gvsig.fmap.dal.coverage.util.PropertyListener;
33
import org.gvsig.fmap.dal.coverage.util.FileUtils;
36 34
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
37 35
import org.gvsig.metadata.exceptions.MetadataException;
38 36
import org.gvsig.raster.impl.datastruct.serializer.ColorTableRmfSerializer;
......
86 84
	}
87 85

  
88 86
	/**
89
	 * Directorio temporal para la cach?. Si gastamos el mismo que andami este se ocupar? de gestionar su
90
	 * destrucci?n al cerrar gvSIG.
91
	 */
92
	private static String tempCacheDirectoryPath = System
93
			.getProperty("java.io.tmpdir")
94
			+ File.separator + "tmp-andami";
95

  
96
	/**
97 87
	 * Ejecuta las acciones necesarias para arrancar la librer?a.
98 88
	 */
99 89
	public static void wakeUp() {
......
147 137
		NoDataRmfSerializer.register();
148 138

  
149 139
		// Limpiamos el directorio temporal
150
		cleanUpTempFiles();
140
		FileUtils.cleanUpTempFiles();
151 141
		// Crea el directorio de temporales
152
		getTemporalPath();
142
		FileUtils.getTemporalPath();
153 143
		RasterLibrary.wakeup = true;
154 144
	}
155 145

  
156
	/**
157
	 * Elimina los ficheros del directorio temporal. Realizamos esta acci?n al
158
	 * levantar la librer?a.
159
	 */
160
	public static void cleanUpTempFiles() {
161
		try {
162
			File tempDirectory = new File(tempCacheDirectoryPath);
163

  
164
			File[] files = tempDirectory.listFiles();
165
			if (files != null)
166
				for (int i = 0; i < files.length; i++) {
167
					// s?lo por si en un futuro se necesitan crear directorios temporales
168
					if (files[i].isDirectory())
169
						deleteDirectory(files[i]);
170
					files[i].delete();
171
				}
172
			tempDirectory.delete();
173
		} catch (Exception e) {
174
		}
175
	}
176

  
177
	/**
178
	 * Recursive directory delete.
179
	 * @param f
180
	 */
181
	private static void deleteDirectory(File f) {
182
		File[] files = f.listFiles();
183
		for (int i = 0; i < files.length; i++) {
184
			if (files[i].isDirectory())
185
				deleteDirectory(files[i]);
186
			files[i].delete();
187
		}
188
	}
189

  
190
	/**
191
	 * Esta funci?n crea el directorio para temporales y devuelve el manejador
192
	 * del directorio
193
	 * @return
194
	 */
195
	public static File getTemporalFile() {
196
		File tempDirectory = new File(tempCacheDirectoryPath);
197
		if (!tempDirectory.exists())
198
			tempDirectory.mkdir();
199
		return tempDirectory;
200
	}
201

  
202
	/**
203
	 * Esta funci?n crea el directorio para temporales y devuelve la ruta de este
204
	 * @return
205
	 */
206
	static public String getTemporalPath() {
207
		return getTemporalFile().getAbsolutePath();
208
	}
209

  
210 146
	protected void doInitialize() throws LibraryException {
211 147
        //Register the default GeometryManager
212 148
        RasterLocator.registerManager(DefaultRasterManager.class);

Also available in: Unified diff