Revision 328 org.gvsig.geoprocess/trunk/org.gvsig.geoprocess/org.gvsig.geoprocess.algorithm/org.gvsig.geoprocess.algorithm.dissolve/src/main/java/org/gvsig/geoprocess/algorithm/dissolve/DissolveParametersPanel.java

View differences:

DissolveParametersPanel.java
30 30
import java.awt.Insets;
31 31
import java.awt.event.ActionEvent;
32 32
import java.awt.event.ActionListener;
33
import java.util.ArrayList;
34
import java.util.List;
33 35

  
34 36
import javax.swing.ComboBoxModel;
35 37
import javax.swing.DefaultComboBoxModel;
......
49 51
import es.unex.sextante.core.ParametersSet;
50 52
import es.unex.sextante.core.Sextante;
51 53
import es.unex.sextante.dataObjects.IVectorLayer;
52

  
53 54
import es.unex.sextante.gui.algorithm.GeoAlgorithmParametersPanel;
54 55
import es.unex.sextante.gui.algorithm.OutputChannelSelectionPanel;
55 56
import es.unex.sextante.gui.core.SextanteGUI;
......
205 206
		if(fieldsCombo == null) {
206 207
			fieldsCombo = new JComboBox();
207 208
			fieldsCombo.setPreferredSize(new Dimension(0, 18));
208
			String[] fieldList = getFieldList();
209
			List<String> fieldList = getFieldList();
209 210
			fieldsCombo.removeAllItems();
210
			for (int i = 0; i < fieldList.length; i++) 
211
				fieldsCombo.addItem(fieldList[i]);
211
			for (int i = 0; i < fieldList.size(); i++) 
212
				fieldsCombo.addItem(fieldList.get(i));
212 213
		}
213 214
		return fieldsCombo;
214 215
	}
......
258 259
	public void actionPerformed(ActionEvent e) {
259 260
		if(e.getSource() ==  getLayersCombo()) {
260 261
			//Recarga el combo de campos
261
			String[] fieldList = getFieldList();
262
			List<String> fieldList = getFieldList();
262 263
			getFieldsCombo().removeAllItems();
263
			for (int i = 0; i < fieldList.length; i++) 
264
				getFieldsCombo().addItem(fieldList[i]);
264
			for (int i = 0; i < fieldList.size(); i++) 
265
				getFieldsCombo().addItem(fieldList.get(i));
265 266
			
266 267
			initTable();
267 268
		}
......
377 378
	 * Gets the field list of the selected layer
378 379
	 * @return
379 380
	 */
380
	public String[] getFieldList() {
381
	public List<String> getFieldList() {
381 382
		IVectorLayer layer = getSelectedVectorLayer();
382
		String[] data = new String[layer.getFieldCount()];
383
		for (int i = 0; i < layer.getFieldCount(); i++) 
384
			data[i] = layer.getFieldName(i);
383
		List<String> data = new ArrayList<String>();
384
		for (int i = 0; i < layer.getFieldCount(); i++) {
385
			Class type = layer.getFieldType(i);
386
			if(Number.class.isAssignableFrom(type))
387
				data.add(layer.getFieldName(i));
388
		}
385 389
		return data;
386 390
	}
387 391
}

Also available in: Unified diff