Statistics
| Revision:

svn-gvsig-desktop / tags / v1_1_Build_1010 / extensions / extGeoProcessing / src / com / iver / cit / gvsig / geoprocess / core / gui / SumFuncListModel.java @ 12804

History | View | Annotate | Download (3.48 KB)

1
/*
2
 * Created on 01-mar-2006
3
 *
4
 * gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
5
 *
6
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
7
 *
8
 * This program is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU General Public License
10
 * as published by the Free Software Foundation; either version 2
11
 * of the License, or (at your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 * GNU General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU General Public License
19
 * along with this program; if not, write to the Free Software
20
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
21
 *
22
 * For more information, contact:
23
 *
24
 *  Generalitat Valenciana
25
 *   Conselleria d'Infraestructures i Transport
26
 *   Av. Blasco Ib??ez, 50
27
 *   46010 VALENCIA
28
 *   SPAIN
29
 *
30
 *      +34 963862235
31
 *   gvsig@gva.es
32
 *      www.gvsig.gva.es
33
 *
34
 *    or
35
 *
36
 *   IVER T.I. S.A
37
 *   Salamanca 50
38
 *   46005 Valencia
39
 *   Spain
40
 *
41
 *   +34 963163400
42
 *   dac@iver.es
43
 */
44
/* CVS MESSAGES:
45
*
46
* $Id: SumFuncListModel.java 12804 2007-07-26 12:18:11Z  $
47
* $Log$
48
* Revision 1.3  2006-08-11 16:12:27  azabala
49
* *** empty log message ***
50
*
51
* Revision 1.2  2006/06/20 18:19:43  azabala
52
* refactorizaci?n para que todos los nuevos geoprocesos cuelguen del paquete impl
53
*
54
* Revision 1.1  2006/05/24 21:13:09  azabala
55
* primera version en cvs despues de refactoring orientado a crear un framework extensible de geoprocessing
56
*
57
* Revision 1.3  2006/05/08 15:37:08  azabala
58
* bug fixed
59
*
60
* Revision 1.2  2006/04/07 19:00:58  azabala
61
* *** empty log message ***
62
*
63
* Revision 1.1  2006/03/05 19:56:06  azabala
64
* *** empty log message ***
65
*
66
*
67
*/
68
package com.iver.cit.gvsig.geoprocess.core.gui;
69

    
70
import java.util.Map;
71

    
72
import javax.swing.AbstractListModel;
73

    
74
import com.iver.cit.gvsig.geoprocess.core.fmap.SummarizationFunction;
75
/**
76
 * 
77
 * @author azabala
78
 *
79
 */
80
public class SumFuncListModel extends AbstractListModel {
81

    
82
        private static final long serialVersionUID = 1L;
83
        String[] fieldNames;
84
        Map nfield_sumFunctions;
85

    
86
        public SumFuncListModel(Map field_functions, String[] fieldNames) {
87
                this.nfield_sumFunctions = field_functions;
88
                this.fieldNames = fieldNames;
89
        }
90

    
91
        public int getSize() {
92
                int solution = fieldNames.length;
93
                return solution;
94
        }
95

    
96
        public Object getElementAt(int arg0) {
97
                String key = "";
98
                String fieldName = fieldNames[arg0];
99
                SummarizationFunction[] functions = (SummarizationFunction[]) nfield_sumFunctions
100
                                .get(fieldName);
101
                if ( (functions == null) || functions.length == 0)
102
                        return new SumarizeFunctionListEntry(null, arg0);//We use a blank space for an error of
103
                
104
                for (int i = 0; i < functions.length - 1; i++) {
105
                        key += functions[i].toString();
106
                        key += ",";
107
                }
108
                key += functions[functions.length - 1].toString();
109
                return new SumarizeFunctionListEntry(key, arg0);
110
        }
111
        
112
        class SumarizeFunctionListEntry{
113
                int index;
114
                String entry;
115
                
116
                SumarizeFunctionListEntry(String entry, int index){
117
                        this.entry = entry;
118
                        this.index = index;
119
                }
120
                public int hashCode(){
121
                        return 1;
122
                }
123
                
124
                public String toString(){
125
                        String prefix = index + " - ";
126
                        if(entry == null)
127
                                return prefix;
128
                        else
129
                                return prefix + entry;
130
                }
131
                
132
                public boolean equals(Object o){
133
                        if(!( o instanceof SumarizeFunctionListEntry))
134
                                return false;
135
                        return ((SumarizeFunctionListEntry)o).entry.equals(entry);
136
                }
137
        }
138

    
139
}
140