Revision 10293 branches/simbologia/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/VectorialUniqueValueLegend.java

View differences:

VectorialUniqueValueLegend.java
85 85
 * @author Vicente Caballero Navarro
86 86
 */
87 87
public class VectorialUniqueValueLegend implements UniqueValueLegend,
88
    VectorialLegend {
89
    private TreeMap symbols = new TreeMap(new Comparator() {
90
                public int compare(Object o1, Object o2) {
91
                    if ((o1 != null) && (o2 != null)) {
92
                        Value v2 = (Value) o2;
93
                        Value v1 = (Value) o1;
94
                        BooleanValue boolVal;
88
VectorialLegend {
89
	private TreeMap symbols = new TreeMap(new Comparator() {
90
		public int compare(Object o1, Object o2) {
91
			if ((o1 != null) && (o2 != null)) {
92
				Value v2 = (Value) o2;
93
				Value v1 = (Value) o1;
94
				BooleanValue boolVal;
95 95

  
96
                        //						TODO estas dos comprobaciones son por evitar un bug en el gdbms, cuando se solucione se puede eliminar.
97
                        if (v1 instanceof NullValue && v2 instanceof NullValue) {
98
                            return 0;
99
                        }
96
				//						TODO estas dos comprobaciones son por evitar un bug en el gdbms, cuando se solucione se puede eliminar.
97
				if (v1 instanceof NullValue && v2 instanceof NullValue) {
98
					return 0;
99
				}
100 100

  
101
                        if (v1 instanceof NullValue) {
102
                            return -1;
103
                        }
101
				if (v1 instanceof NullValue) {
102
					return -1;
103
				}
104 104

  
105
                        if (v2 instanceof NullValue) {
106
                            return 1;
107
                        }
105
				if (v2 instanceof NullValue) {
106
					return 1;
107
				}
108 108

  
109
                        try {
110
                            boolVal = (BooleanValue) (v1.greater(v2));
109
				try {
110
					boolVal = (BooleanValue) (v1.greater(v2));
111 111

  
112
                            if (boolVal.getValue()) {
113
                                return 1;
114
                            }
112
					if (boolVal.getValue()) {
113
						return 1;
114
					}
115 115

  
116
                            boolVal = (BooleanValue) (v1.less(v2));
116
					boolVal = (BooleanValue) (v1.less(v2));
117 117

  
118
                            if (boolVal.getValue()) {
119
                                return -1;
120
                            }
121
                        } catch (IncompatibleTypesException e) {
122
                            // TODO Auto-generated catch block
123
                            //e.printStackTrace();
124
                        }
118
					if (boolVal.getValue()) {
119
						return -1;
120
					}
121
				} catch (IncompatibleTypesException e) {
122
					// TODO Auto-generated catch block
123
					//e.printStackTrace();
124
				}
125 125

  
126
                        try {
127
                            if (((BooleanValue) v1.equals(v2)).getValue()) {
128
                                return 0;
129
                            }
130
                        } catch (IncompatibleTypesException e) {
131
                            // TODO Auto-generated catch block
132
                            //e.printStackTrace();
133
                        }
126
				try {
127
					if (((BooleanValue) v1.equals(v2)).getValue()) {
128
						return 0;
129
					}
130
				} catch (IncompatibleTypesException e) {
131
					// TODO Auto-generated catch block
132
					//e.printStackTrace();
133
				}
134 134

  
135
                        if (v1 instanceof StringValue) {
136
                            return -1;
137
                        }
135
				if (v1 instanceof StringValue) {
136
					return -1;
137
				}
138 138

  
139
                        if (v2 instanceof StringValue) {
140
                            return 1;
141
                        }
142
                    }
139
				if (v2 instanceof StringValue) {
140
					return 1;
141
				}
142
			}
143 143

  
144
                    return 0;
145
                }
146
            }); // Para poder ordenar
144
			return 0;
145
		}
146
	}); // Para poder ordenar
147 147
    private ArrayList keys = new ArrayList(); // En lugar de un HashSet, para tener acceso por ?ndice
148 148
    private String fieldName;
149 149
    protected int fieldId = -1;
......
173 173
    }
174 174

  
175 175
    public void setShapeType(int shapeType) {
176
        if (this.shapeType != shapeType) {
177
            switch (shapeType) {
178
                case FShape.POINT:
179
                    defaultSymbol = new FSymbol(FConstant.SYMBOL_TYPE_POINT);
176
    	if (this.shapeType != shapeType) {
177
    		switch (shapeType) {
178
    		case FShape.POINT:
179
    			defaultSymbol = new FSymbol(FConstant.SYMBOL_TYPE_POINT);
180 180

  
181
                    break;
181
    			break;
182 182

  
183
                case FShape.LINE:
184
                    defaultSymbol = new FSymbol(FConstant.SYMBOL_TYPE_LINE);
183
    		case FShape.LINE:
184
    			defaultSymbol = new FSymbol(FConstant.SYMBOL_TYPE_LINE);
185 185

  
186
                    break;
186
    			break;
187 187

  
188
                case FShape.POLYGON:
189
                    defaultSymbol = new FSymbol(FConstant.SYMBOL_TYPE_FILL);
188
    		case FShape.POLYGON:
189
    			defaultSymbol = new FSymbol(FConstant.SYMBOL_TYPE_FILL);
190 190

  
191
                    break;
191
    			break;
192 192

  
193
                default:
194
                    defaultSymbol = new FSymbol(shapeType);
195
            }
193
    		default:
194
    			defaultSymbol = new FSymbol(shapeType);
195
    		}
196 196

  
197
            this.shapeType = shapeType;
198
        }
197
    		this.shapeType = shapeType;
198
    	}
199 199
    }
200 200

  
201 201
    public void setValueSymbolByID(int id, ISymbol symbol) {

Also available in: Unified diff