Revision 16403

View differences:

trunk/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/FileOpenWizard.java
23 23
import java.awt.event.ActionListener;
24 24
import java.awt.geom.Rectangle2D;
25 25
import java.io.File;
26
import java.lang.reflect.InvocationTargetException;
27 26
import java.util.ArrayList;
28 27
import java.util.Iterator;
29 28
import java.util.prefs.Preferences;
......
71 70
	private TitledBorder      titledBorder    = null;
72 71

  
73 72
	/**
74
   * Lista de manejadores de ficheros (extensiones)
75
   */
76
	private ArrayList         listFileOpen    = new ArrayList();
73
	 * Lista de manejadores de ficheros (extensiones)
74
	 */
75
	private ArrayList<IFileOpen> listFileOpen = new ArrayList<IFileOpen>();
77 76

  
78 77
	/**
79 78
	 * Construye un FileOpenWizard usando la extension por defecto
......
107 106
			String key = (String) iterator.next();
108 107
			Object obj = extensionPoint.get(key);
109 108
			if (obj instanceof Class) {
110
        try {
111
	        obj = ((Class) obj).getConstructor(null).newInstance(null);
112
        } catch (Exception e) {
113
          // TODO: Tratar este printStackTrace
114
	        e.printStackTrace();
115
        }
109
				try {
110
					obj = ((Class) obj).getConstructor(null).newInstance(null);
111
				} catch (Exception e) {
112
					e.printStackTrace();
113
				}
116 114
			}
117 115
			if (obj instanceof IFileOpen) {
118
				listFileOpen.add(obj);
116
				listFileOpen.add((IFileOpen) obj);
119 117
			}
120 118
		}
121 119
		init(null, proj);
122 120
	}
123 121

  
124 122
	/**
125
   * Creates a new FileOpenWizard object.
123
	 * Creates a new FileOpenWizard object.
126 124
	 * @param driverClasses
127 125
	 * @param proj
128
   */
126
	 */
129 127
	public FileOpenWizard(IFileOpen[] driverClasses, boolean proj) {
130 128
		init(driverClasses, proj);
131 129
	}
132 130

  
133 131
	/**
134
   * Creates a new FileOpenWizard object.
132
	 * Creates a new FileOpenWizard object.
135 133
	 * @param driverClasses
136
   */
134
	 */
137 135
	public FileOpenWizard(IFileOpen[] driverClasses) {
138 136
		init(driverClasses, true);
139 137
	}
140 138

  
141 139
	/**
142
   * Creates a new FileOpenWizard object.
140
	 * Creates a new FileOpenWizard object.
143 141
	 * @param driverClasses
144 142
	 * @param proj
145 143
	 * @param title
......
150 148
	}
151 149

  
152 150
	/**
153
   * @param driverClasses2
154
   * @param b
155
   */
151
	 * @param driverClasses2
152
	 * @param b
153
	 */
156 154
	private void init(IFileOpen[] driverClasses, boolean projection) {
157 155
		this.projection = projection;
158 156

  
......
169 167
	}
170 168

  
171 169
	/*
172
   * (non-Javadoc)
173
   * @see com.iver.cit.gvsig.gui.WizardPanel#initWizard()
174
   */
170
	 * (non-Javadoc)
171
	 * @see com.iver.cit.gvsig.gui.WizardPanel#initWizard()
172
	 */
175 173
	public void initWizard() {
176 174
		setTabName(PluginServices.getText(this, "Fichero"));
177 175
		init(null, true);
178 176
	}
179 177

  
180 178
	/**
181
   * This method initializes this
182
   */
179
	 * This method initializes this
180
	 */
183 181
	private void initialize() {
184 182
		this.setSize(514, 280);
185 183
		this.setLayout(null);
......
202 200
	}
203 201

  
204 202
	/**
205
   * This method initializes jPanel2
206
   * @return javax.swing.JPanel
207
   */
203
	 * This method initializes jPanel2
204
	 * @return javax.swing.JPanel
205
	 */
208 206
	private JPanel getJPanel2() {
209 207
		if (jPanel2 == null) {
210 208
			jPanel2 = new JPanel();
......
241 239
	}
242 240

  
243 241
	/**
244
   * This method initializes jPanel
245
   * @return javax.swing.JPanel
246
   */
242
	 * This method initializes jPanel
243
	 * @return javax.swing.JPanel
244
	 */
247 245
	private CRSSelectPanel getJPanelProj() {
248 246
		if (jPanelProj == null) {
249 247
			IProjection proj = CRSFactory.getCRS("EPSG:23030");
......
283 281
		}
284 282

  
285 283
		/*
286
     * (non-Javadoc)
287
     * @see java.lang.Object#toString()
288
     */
284
		 * (non-Javadoc)
285
		 * @see java.lang.Object#toString()
286
		 */
289 287
		public String toString() {
290 288
			return f.getName();
291 289
		}
......
304 302
	}
305 303

  
306 304
	/**
307
   * This method initializes listManagerDemoSkin
308
   * @return ListManagerSkin
309
   */
305
	 * This method initializes listManagerDemoSkin
306
	 * @return ListManagerSkin
307
	 */
310 308
	private ListManagerSkin getListManagerSkin() {
311 309
		if (listManagerSkin == null) {
312 310
			listManagerSkin = new ListManagerSkin(false);
......
317 315
	}
318 316

  
319 317
	/*
320
   * (non-Javadoc)
321
   * @see com.iver.utiles.listManager.ListManagerListener#addObjects()
322
   */
318
	 * (non-Javadoc)
319
	 * @see com.iver.utiles.listManager.ListManagerListener#addObjects()
320
	 */
323 321
	public Object[] addObjects() {
324 322
		this.callStateChanged(true);
325 323
		fileChooser = new JFileChooser(lastPath);
......
329 327
		boolean finded = false;
330 328
		FileFilter auxFilter=null;
331 329
		for (int i = 0; i < listFileOpen.size(); i++) {
332
			IFileOpen fileOpen = (IFileOpen) listFileOpen.get(i);
330
			IFileOpen fileOpen = listFileOpen.get(i);
333 331
			fileOpen.pre();
334
			ArrayList aux = fileOpen.getFileFilter();
332
			ArrayList<FileFilter> aux = fileOpen.getFileFilter();
335 333

  
336 334
			for (int j = 0; j < aux.size(); j++) {
337
				FileFilter fileFilter = (FileFilter) aux.get(j);
335
				FileFilter fileFilter = aux.get(j);
338 336
				fileChooser.addChoosableFileFilter(fileFilter);
339 337
				if (lastFileFilter!=null && lastFileFilter.getDescription().equals(fileFilter.getDescription())){
340 338
					auxFilter=fileFilter;
......
348 346
		int result = fileChooser.showOpenDialog(this);
349 347

  
350 348
		File[] newFiles = null;
351
		MyFile[] toAdd;
349
		ArrayList<MyFile> toAdd = new ArrayList<MyFile>();
352 350
		if (result == JFileChooser.APPROVE_OPTION) {
353 351
			lastPath = fileChooser.getCurrentDirectory().getAbsolutePath();
354 352
			lastFileFilter = (FileFilter) fileChooser.getFileFilter();
......
356 354

  
357 355
			IFileOpen lastFileOpen = null;
358 356
			for (int i = 0; i < listFileOpen.size(); i++) {
359
				IFileOpen fileOpen = (IFileOpen) listFileOpen.get(i);
360
				ArrayList aux = fileOpen.getFileFilter();
357
				IFileOpen fileOpen = listFileOpen.get(i);
358
				ArrayList<FileFilter> aux = fileOpen.getFileFilter();
361 359
				for (int j = 0; j < aux.size(); j++) {
362
					if (fileChooser.getFileFilter() == (FileFilter) aux.get(j)) {
360
					if (fileChooser.getFileFilter() == aux.get(j)) {
363 361
						for (int iFile=0; iFile<newFiles.length; iFile++) {
364
							File fileAux = fileOpen.post(newFiles[iFile]);
365
							if (fileAux != null)
366
								newFiles[iFile] = fileAux;
362
							newFiles[iFile] = fileOpen.post(newFiles[iFile]);
367 363
						}
368 364
						lastFileOpen = fileOpen;
369 365
						break;
......
371 367
				}
372 368
			}
373 369

  
374
			toAdd = new MyFile[newFiles.length];
375 370
			for (int ind = 0; ind < newFiles.length; ind++) {
371
				if (newFiles[ind] == null)
372
					break;
376 373
				String driverName = ((FileFilter) fileChooser.getFileFilter()).getDescription();
377
				toAdd[ind] = new MyFile(newFiles[ind], driverName, lastFileOpen);
374
				toAdd.add(new MyFile(newFiles[ind], driverName, lastFileOpen));
378 375
			}
379 376

  
380
			return toAdd;
377
			return toAdd.toArray();
381 378
		} else
382 379
			return new Object[0];
383 380
	}
384 381

  
385 382
	/*
386
   * (non-Javadoc)
387
   * @see com.iver.cit.gvsig.gui.WizardPanel#execute()
388
   */
383
	 * (non-Javadoc)
384
	 * @see com.iver.cit.gvsig.gui.WizardPanel#execute()
385
	 */
389 386
	public void execute() {
390 387
		if (getFiles() == null)
391 388
			return;
......
448 445
	}
449 446

  
450 447
	public void setTitle(String title) {
451
  	getTitledBorder().setTitle(title);
452
  }
448
		getTitledBorder().setTitle(title);
449
	}
453 450

  
454 451
	/*
455
   * (non-Javadoc)
456
   * @see com.iver.utiles.listManager.ListManagerListener#getProperties(java.lang.Object)
457
   */
452
	 * (non-Javadoc)
453
	 * @see com.iver.utiles.listManager.ListManagerListener#getProperties(java.lang.Object)
454
	 */
458 455
	public Object getProperties(Object selected) {
459 456
		return null;
460 457
	}
461 458

  
462 459
	/*
463
   * (non-Javadoc)
464
   * @see com.iver.cit.gvsig.gui.WizardPanel#getLayer()
465
   */
460
	 * (non-Javadoc)
461
	 * @see com.iver.cit.gvsig.gui.WizardPanel#getLayer()
462
	 */
466 463
	public FLayer getLayer() {
467 464
		return null;
468 465
	}
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/AbstractFileOpen.java
1
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package com.iver.cit.gvsig.addlayer.fileopen;
20

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

  
24
import javax.swing.filechooser.FileFilter;
25
/**
26
 * Clase abstracta que deben implementar todas aquellas extensiones que quieran
27
 * aparecer en un punto com�n del cuadro de dialogo de apertura de ficheros.
28
 *
29
 * @version 19/11/2007
30
 * @author BorSanZa - Borja S�nchez Zamorano (borja.sanchez@iver.es)
31
 */
32
public abstract class AbstractFileOpen implements IFileOpen {
33
	private ArrayList<FileFilter> arrayFileFilter = null;
34

  
35
	/*
36
	 * (non-Javadoc)
37
	 * @see com.iver.cit.gvsig.addlayer.fileopen.IFileOpen#pre()
38
	 */
39
	public void pre() {
40
	}
41

  
42
	/*
43
	 * (non-Javadoc)
44
	 * @see com.iver.cit.gvsig.addlayer.fileopen.IFileOpen#post(java.io.File)
45
	 */
46
	public File post(File file) {
47
		return file;
48
	}
49

  
50
	/*
51
	 * (non-Javadoc)
52
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#getFileFilter()
53
	 */
54
	public final ArrayList getFileFilter() {
55
		if (arrayFileFilter == null) {
56
			arrayFileFilter = new ArrayList<FileFilter>();
57
		}
58
		return arrayFileFilter;
59
	}
60
}
0 61

  
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/vectorial/VectorialFileOpen.java
32 32
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
33 33
import com.iver.andami.messages.NotificationManager;
34 34
import com.iver.cit.gvsig.AddLayer;
35
import com.iver.cit.gvsig.addlayer.fileopen.IFileOpen;
35
import com.iver.cit.gvsig.addlayer.fileopen.AbstractFileOpen;
36 36
import com.iver.cit.gvsig.fmap.MapControl;
37 37
import com.iver.cit.gvsig.fmap.drivers.VectorialFileDriver;
38 38
import com.iver.cit.gvsig.fmap.layers.FLayer;
39 39
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
40 40
/**
41 41
 * Clase que indicar? que ficheros puede tratar al panel de apertura de ficheros
42
 * 
42
 *
43 43
 * @version 04/09/2007
44 44
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
45 45
 */
46
public class VectorialFileOpen implements IFileOpen {
46
public class VectorialFileOpen extends AbstractFileOpen{
47 47
	private ArrayList arrayFileFilter;
48
	
48

  
49 49
	/**
50 50
	 * Constructor de FileOpenRaster
51 51
	 */
52 52
	public VectorialFileOpen() {
53
		arrayFileFilter = new ArrayList();
54

  
55 53
		TreeSet filters = new TreeSet(new Comparator() {
56 54
			public int compare(Object o1, Object o2) {
57 55
				VectorialFileFilter dff1 = (VectorialFileFilter) o1;
......
82 80
			Iterator i = filters.iterator();
83 81
			while (i.hasNext()) {
84 82
				VectorialFileFilter element = (VectorialFileFilter) i.next();
85
				arrayFileFilter.add(element);
83
				getFileFilter().add(element);
86 84
			}
87 85
		} catch (DriverLoadException e1) {
88 86
			NotificationManager.addError("No se pudo acceder a los drivers", e1);
......
91 89
	}
92 90

  
93 91
	/*
94
   * (non-Javadoc)
95
   * @see org.gvsig.raster.gui.wizards.IFileOpen#pre()
96
   */
97
	public void pre() {
98
  }
99

  
100
	/*
101 92
	 * (non-Javadoc)
102
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#post(java.io.File[])
103
	 */
104
	public File post(File file) {
105
		return null;
106
	}
107

  
108
	/*
109
	 * (non-Javadoc)
110
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#getFileFilter()
111
	 */
112
	public ArrayList getFileFilter() {
113
	  return arrayFileFilter;
114
  }
115
	
116
	/*
117
	 * (non-Javadoc)
118 93
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#execute(java.io.File[])
119 94
	 */
120 95
	public Rectangle2D createLayer(File file, MapControl mapControl, String driverName, IProjection proj) {
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/addlayer/fileopen/IFileOpen.java
22 22
import java.io.File;
23 23
import java.util.ArrayList;
24 24

  
25
import javax.swing.filechooser.FileFilter;
26

  
25 27
import org.cresques.cts.IProjection;
26 28

  
27 29
import com.iver.cit.gvsig.fmap.MapControl;
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/table/TableFileOpen.java
30 30
import com.hardcode.driverManager.DriverLoadException;
31 31
import com.hardcode.gdbms.engine.data.driver.FileDriver;
32 32
import com.iver.andami.messages.NotificationManager;
33
import com.iver.cit.gvsig.addlayer.fileopen.IFileOpen;
33
import com.iver.cit.gvsig.addlayer.fileopen.AbstractFileOpen;
34 34
import com.iver.cit.gvsig.fmap.MapControl;
35 35
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
36 36
/**
37 37
 * Clase que indicar? que ficheros puede tratar al panel de apertura de ficheros
38
 * 
38
 *
39 39
 * @version 04/09/2007
40 40
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
41 41
 */
42
public class TableFileOpen implements IFileOpen {
43
	private ArrayList arrayFileFilter;
44
	
42
public class TableFileOpen extends AbstractFileOpen {
43

  
45 44
	/**
46 45
	 * Constructor de FileOpenRaster
47 46
	 */
48 47
	public TableFileOpen() {
49
		arrayFileFilter = new ArrayList();
50

  
51 48
		TreeSet filters = new TreeSet(new Comparator() {
52 49
			public int compare(Object o1, Object o2) {
53 50
				TableFileFilter dff1 = (TableFileFilter) o1;
......
79 76
			Iterator iterator = filters.iterator();
80 77
			while (iterator.hasNext()) {
81 78
				TableFileFilter filter = (TableFileFilter) iterator.next();
82
				arrayFileFilter.add(filter);
79
				getFileFilter().add(filter);
83 80
			}
84 81
		} catch (DriverLoadException exception) {
85 82
			NotificationManager.addError("No se pudo acceder a los drivers", exception);
86 83
		}
87 84
	}
88
	
89
	/*
90
   * (non-Javadoc)
91
   * @see org.gvsig.raster.gui.wizards.IFileOpen#pre()
92
   */
93
	public void pre() {
94
  }
95 85

  
96 86
	/*
97 87
	 * (non-Javadoc)
98
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#post(java.io.File[])
99
	 */
100
	public File post(File file) {
101
		return null;
102
	}
103

  
104
	/*
105
	 * (non-Javadoc)
106
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#getFileFilter()
107
	 */
108
	public ArrayList getFileFilter() {
109
	  return arrayFileFilter;
110
  }
111
	
112
	/*
113
	 * (non-Javadoc)
114 88
	 * @see org.gvsig.raster.gui.wizards.IFileOpen#execute(java.io.File[])
115 89
	 */
116 90
	public Rectangle2D createLayer(File file, MapControl mapControl, String driverName, IProjection proj) {

Also available in: Unified diff