Revision 24793

View differences:

branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/FileOpenWizard.java
24 24
import java.io.File;
25 25
import java.util.ArrayList;
26 26
import java.util.Iterator;
27
import java.util.List;
27 28
import java.util.prefs.Preferences;
28 29

  
29 30
import javax.swing.BorderFactory;
......
90 91
	 * parametro
91 92
	 * 
92 93
	 * @param nameExtension
93
	 *
94
	 * 
94 95
	 */
95 96
	public FileOpenWizard(String nameExtension) {
96 97
		this(nameExtension, true);
......
303 304
		for (int i = 0; i < listFileOpen.size(); i++) {
304 305
			IFileOpen fileOpen = listFileOpen.get(i);
305 306
			fileOpen.pre();
306
			ArrayList<FileFilter> aux = fileOpen.getFileFilter();
307
			List<FileFilter> aux = fileOpen.getFileFilter();
307 308

  
308 309
			for (int j = 0; j < aux.size(); j++) {
309 310
				FileFilter fileFilter = aux.get(j);
......
330 331
			IFileOpen lastFileOpen = null;
331 332
			for (int i = 0; i < listFileOpen.size(); i++) {
332 333
				IFileOpen fileOpen = listFileOpen.get(i);
333
				ArrayList<FileFilter> aux = fileOpen.getFileFilter();
334
				List<FileFilter> aux = fileOpen.getFileFilter();
334 335
				for (int j = 0; j < aux.size(); j++) {
335 336
					if (fileChooser.getFileFilter() == aux.get(j)) {
336 337
						for (int iFile=0; iFile<newFiles.length; iFile++) {
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/AbstractFileOpen.java
20 20

  
21 21
import java.io.File;
22 22
import java.util.ArrayList;
23
import java.util.List;
23 24

  
24 25
import javax.swing.filechooser.FileFilter;
25 26
/**
......
51 52
	 * (non-Javadoc)
52 53
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#getFileFilter()
53 54
	 */
54
	public final ArrayList getFileFilter() {
55
	public final List getFileFilter() {
55 56
		if (arrayFileFilter == null) {
56 57
			arrayFileFilter = new ArrayList<FileFilter>();
57 58
		}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/vectorial/VectorialFileOpen.java
19 19
package com.iver.cit.gvsig.addlayer.fileopen.vectorial;
20 20

  
21 21
import java.io.File;
22
import java.util.Comparator;
22
import java.util.ArrayList;
23 23
import java.util.Iterator;
24
import java.util.TreeSet;
24
import java.util.List;
25 25

  
26 26
import javax.swing.filechooser.FileFilter;
27 27

  
......
29 29
import org.gvsig.fmap.dal.DALLocator;
30 30
import org.gvsig.fmap.dal.DataManager;
31 31
import org.gvsig.fmap.dal.DataStoreParameters;
32
import org.gvsig.fmap.dal.exception.DataException;
32 33
import org.gvsig.fmap.dal.exception.InitializeException;
33
import org.gvsig.fmap.dal.exception.ReadException;
34
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
35
import org.gvsig.fmap.dal.explorer.filesystem.FilesystemExplorer;
36
import org.gvsig.fmap.dal.explorer.filesystem.FilesystemExplorerParameters;
37
import org.gvsig.fmap.dal.explorer.filesystem.FilesystemFileFilter;
38
import org.gvsig.fmap.dal.explorer.filesystem.FilesystemStoreParameters;
34 39
import org.gvsig.fmap.geom.primitive.Envelope;
35 40
import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
36 41
import org.gvsig.fmap.mapcontext.layers.FLayer;
......
39 44

  
40 45
import com.iver.andami.messages.NotificationManager;
41 46
import com.iver.cit.gvsig.AddLayer;
42
import com.iver.cit.gvsig.addlayer.fileopen.AbstractFileOpen;
47
import com.iver.cit.gvsig.addlayer.fileopen.IFileOpen;
43 48
/**
44 49
 * Clase que indicar? que ficheros puede tratar al panel de apertura de ficheros
45 50
 *
46 51
 * @version 04/09/2007
47 52
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
48 53
 */
49
public class VectorialFileOpen extends AbstractFileOpen{
54
public class VectorialFileOpen implements IFileOpen {
50 55

  
56
	private FilesystemExplorer explorer;
57
	private List filters;
58

  
51 59
	/**
52 60
	 * Constructor de FileOpenRaster
61
	 *
62
	 * @throws ProviderNotRegisteredException
63
	 * @throws InitializeException
53 64
	 */
54
	public VectorialFileOpen() {
55
		TreeSet filters = new TreeSet(new Comparator() {
56
			public int compare(Object o1, Object o2) {
57
				VectorialFileFilter dff1 = (VectorialFileFilter) o1;
58
				VectorialFileFilter dff2 = (VectorialFileFilter) o2;
59

  
60
				return dff1.params.toString().compareTo(dff2.params.toString());
61
			}
62
		});
63

  
64
		VectorialFileFilter auxF=null;
65
	public VectorialFileOpen() throws InitializeException,
66
			ProviderNotRegisteredException {
65 67
		DataManager dm = DALLocator.getDataManager();
66
		String[] names = dm.getStoreProviders();
67
		DataStoreParameters params;
68
		for (int i = 0; i < names.length; i++) {
69
			try {
70
				params = dm.createDataStoreParameters(names[i]);
71
			} catch (InitializeException e) {
72
				NotificationManager.addError(
73
						"Problema al acceder al driver '"
74
						+ names[i], e);
75
				continue;
76

  
77
			}
78
			if (params instanceof FileStoreParameters) {
79
				auxF = new VectorialFileFilter((FileStoreParameters) params);
80
				filters.add(auxF);
81
			}
68
		FilesystemExplorerParameters param = (FilesystemExplorerParameters) dm
69
				.createExplorerParameters(FilesystemExplorer.NAME);
70
		FilesystemExplorer explorer = (FilesystemExplorer) dm
71
				.createExplorer(param);
72
		this.filters = new ArrayList();
73
		Iterator<FilesystemFileFilter> iter = FilesystemExplorer.getFilters();
74
		while (iter.hasNext()) {
75
			this.filters.add(new VectorialFileFilter(iter.next()));
82 76
		}
83
		Iterator i = filters.iterator();
84
		while (i.hasNext()) {
85
			VectorialFileFilter element = (VectorialFileFilter) i.next();
86
			getFileFilter().add(element);
87
		}
88

  
89 77
	}
90 78

  
91 79
	/*
......
99 87

  
100 88
		try {
101 89
			// try to load the drivers referenced by the file dialog
102
			DataManager dm = DataManager.getManager();
103
			DataStoreParameters params = null;
104
			params = dm
105
					.createDataStoreParameters(((DataStoreParameters)((VectorialFileFilter) filter).params)
106
							.getDataStoreName());
90
			DataStoreParameters params = this.explorer.getParametersFor(file);
107 91

  
108

  
109
			// Envelope de cada fichero seleccionado por el usuario
110 92
			String layerName = file.getName();
111 93

  
112 94

  
113
			((FileStoreParameters) params).setFile(file);
95
			((FilesystemStoreParameters) params).setFile(file);
114 96
			lyr = LayerFactory.getInstance().createLayer(
115 97
					layerName, params, proj);
116 98

  
......
122 104
			}
123 105
		} catch (LoadLayerException e) {
124 106
			NotificationManager.showMessageError("Error_creating_layer", e);
125
		} catch (ReadException e) {
107
		} catch (DataException e) {
126 108
			NotificationManager.showMessageError("Error_creating_layer", e);
127 109
		}
128 110
		return null;
129 111
	}
112

  
113
	public List getFileFilter() {
114
		return this.filters;
115
	}
116

  
117
	public File post(File file) {
118
		// TODO Auto-generated method stub
119
		return null;
120
	}
121

  
122
	public void pre() {
123
		// TODO Par?meteros??
124

  
125
	}
130 126
}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/vectorial/VectorialFileFilter.java
22 22

  
23 23
import javax.swing.filechooser.FileFilter;
24 24

  
25
import org.gvsig.fmap.data.DataStoreParameters;
26
import org.gvsig.fmap.data.feature.file.FileStoreParameters;
25
import org.gvsig.fmap.dal.DataStoreParameters;
26
import org.gvsig.fmap.dal.explorer.filesystem.FilesystemFileFilter;
27 27

  
28 28
/**
29 29
 * Clase para definir que ficheros aceptara la extension vectorial, es necesario
......
33 33
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
34 34
 */
35 35
public class VectorialFileFilter extends FileFilter {
36
	public FileStoreParameters params = null;
36
	public FilesystemFileFilter filter = null;
37 37

  
38
	public VectorialFileFilter(FileStoreParameters params) {
39
		this.params = params;
38
	public VectorialFileFilter(FilesystemFileFilter params) {
39
		this.filter = params;
40 40
	}
41 41

  
42 42
	/**
......
46 46
		if (f.isDirectory()) {
47 47
			return true;
48 48
		}
49
		return (params).fileAccept(f);
49
		return filter.accept(f);
50 50

  
51 51
	}
52 52

  
......
54 54
	 * @see javax.swing.filechooser.FileFilter#getDescription()
55 55
	 */
56 56
	public String getDescription() {
57
		return ((DataStoreParameters)params).getDescription();
57
		return ((DataStoreParameters) filter).getDescription();
58 58
	}
59 59
}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/IFileOpen.java
19 19
package com.iver.cit.gvsig.addlayer.fileopen;
20 20

  
21 21
import java.io.File;
22
import java.util.ArrayList;
22
import java.util.List;
23 23

  
24 24
import javax.swing.filechooser.FileFilter;
25 25

  
......
69 69
	 * Devolver? todos los FileFilter que puede manejar dicha extensi?n
70 70
	 * @return
71 71
	 */
72
	public ArrayList getFileFilter();
72
	public List<FileFilter> getFileFilter();
73 73
}

Also available in: Unified diff