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 |
}
|