Revision 24988

View differences:

branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/table/TableFileOpen.java
19 19
package com.iver.cit.gvsig.project.documents.table;
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

  
28 28
import org.cresques.cts.IProjection;
29
import org.gvsig.fmap.dal.DALLocator;
29 30
import org.gvsig.fmap.dal.DataManager;
30
import org.gvsig.fmap.dal.DataStoreParameters;
31 31
import org.gvsig.fmap.dal.exception.InitializeException;
32
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
33
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemFileFilter;
34
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorer;
35
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorerParameters;
32 36
import org.gvsig.fmap.geom.primitive.Envelope;
33 37
import org.gvsig.fmap.mapcontrol.MapControl;
34 38

  
35
import com.iver.andami.messages.NotificationManager;
36
import com.iver.cit.gvsig.addlayer.fileopen.AbstractFileOpen;
39
import com.iver.cit.gvsig.addlayer.fileopen.IFileOpen;
37 40
/**
38 41
 * Clase que indicar? que ficheros puede tratar al panel de apertura de ficheros
39 42
 *
40 43
 * @version 04/09/2007
41 44
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
42 45
 */
43
public class TableFileOpen extends AbstractFileOpen {
46
public class TableFileOpen implements IFileOpen {
47
	private FilesystemServerExplorer explorer;
48
	private ArrayList<FileFilter> filters;
49

  
44 50
	/**
45 51
	 * Constructor de FileOpenRaster
52
	 * 
53
	 * @throws ProviderNotRegisteredException
54
	 * @throws InitializeException
46 55
	 */
47
	public TableFileOpen() {
48
		TreeSet filters = new TreeSet(new Comparator() {
49
			public int compare(Object o1, Object o2) {
50
				TableFileFilter dff1 = (TableFileFilter) o1;
51
				TableFileFilter dff2 = (TableFileFilter) o2;
56
	public TableFileOpen() throws InitializeException,
57
			ProviderNotRegisteredException {
52 58

  
53
				return dff1.params.toString().compareTo(dff2.params.toString());
54
			}
55
		});
56

  
57
		TableFileFilter auxF=null;
58
		DataManager dm=DataManager.getManager();
59
		String[] names = dm.getRegistersStores();
60
		DataStoreParameters params;
61
		for (int i = 0; i < names.length; i++) {
62
			try {
63
				params = dm.createDataStoreParameters(names[i]);
64
			} catch (InitializeException e) {
65
				NotificationManager.addError(
66
						"Problema al acceder al driver '"
67
						+ names[i], e);
68
				continue;
69

  
70
			}
71
			if (params instanceof FileStoreParameters) {
72
				auxF = new TableFileFilter((FileStoreParameters) params);
73
				filters.add(auxF);
74
			}
59
		DataManager dm = DALLocator.getDataManager();
60
		FilesystemServerExplorerParameters param = (FilesystemServerExplorerParameters) dm
61
				.createServerExplorerParameters(FilesystemServerExplorer.NAME);
62
		explorer = (FilesystemServerExplorer) dm.createServerExplorer(param);
63
		this.filters = new ArrayList<FileFilter>();
64
		Iterator<FilesystemFileFilter> iter = explorer.getFilters();
65
		while (iter.hasNext()) {
66
			this.filters.add(new TableFileFilter(iter.next()));
75 67
		}
76
		Iterator i = filters.iterator();
77
		while (i.hasNext()) {
78
			TableFileFilter element = (TableFileFilter) i.next();
79
			getFileFilter().add(element);
80
		}
81

  
68
		this.filters.add(new TableFileFilter(explorer.getGenericFilter()));
82 69
	}
83 70

  
84 71
	/*
......
90 77
		// TODO Auto-generated method stub
91 78
		return null;
92 79
	}
80

  
81
	public List<FileFilter> getFileFilter() {
82
		return this.filters;
83
	}
84

  
85
	public File post(File file) {
86
		// TODO Auto-generated method stub
87
		return null;
88
	}
89

  
90
	public void pre() {
91
		// TODO Auto-generated method stub
92

  
93
	}
94

  
93 95
}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/table/TableFileFilter.java
22 22

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

  
25
import org.gvsig.fmap.dal.DataStoreParameters;
25
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemFileFilter;
26 26

  
27 27
/**
28 28
 * Clase para definir que ficheros aceptara el filtro de tablas, es necesario
......
32 32
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
33 33
 */
34 34
public class TableFileFilter extends FileFilter {
35
	public FileStoreParameters params = null;
35
	public FilesystemFileFilter filter = null;
36 36

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

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

  
51 51
    /**
52 52
     * @see javax.swing.filechooser.FileFilter#getDescription()
53 53
     */
54 54
    public String getDescription() {
55
    	return ((DataStoreParameters)params).getDescription();
55
    	return filter.getDescription();
56 56
    }
57 57
}

Also available in: Unified diff