Revision 31228 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/styling/labeling/AttrInTableLabelingStrategy.java
AttrInTableLabelingStrategy.java | ||
---|---|---|
119 | 119 |
FBitSet bs = layer.queryByRect(viewPort.getAdjustedExtent()); |
120 | 120 |
|
121 | 121 |
ReadableVectorial source = layer.getSource(); |
122 |
SelectableDataSource recordSet = source.getRecordset();
|
|
122 |
SelectableDataSource recordSet = layer.getRecordset();
|
|
123 | 123 |
boolean reproject=layer.getProjection()!=null && !layer.getProjection().getAbrev().equals( |
124 | 124 |
layer.getMapContext().getViewPort().getProjection().getAbrev()) && |
125 | 125 |
(layer.getCoordTrans()!=null); |
126 |
|
|
127 |
|
|
128 |
if ((idTextField == -1) || (idTextField >= recordSet.getFieldCount())) { |
|
129 |
System.err.println("Ha habido un error. Se ha perdido el campo de etiquetado. Probablemente por quitar un join o edici?n externa."); |
|
130 |
return; |
|
131 |
} |
|
132 |
|
|
126 | 133 |
for(int i=bs.nextSetBit(0); i>=0 && !cancel.isCanceled(); i=bs.nextSetBit(i+1)) { |
127 | 134 |
Value[] vv = recordSet.getRow(i); |
128 | 135 |
double size; |
... | ... | |
298 | 305 |
|
299 | 306 |
public String getTextField() throws ReadDriverException { |
300 | 307 |
if (idTextField == -1) return null; |
301 |
return ((SelectableDataSource) layer.getRecordset()) |
|
302 |
.getFieldName(idTextField); |
|
308 |
try { |
|
309 |
String fieldName = ((SelectableDataSource) layer.getRecordset()).getFieldAlias(idTextField); |
|
310 |
return fieldName; |
|
311 |
} |
|
312 |
catch (ArrayIndexOutOfBoundsException e) { |
|
313 |
// Probablmente hemos quitado un join y la leyenda se basaba en un campo de la segunda tabla |
|
314 |
e.printStackTrace(); |
|
315 |
return null; |
|
316 |
} |
|
303 | 317 |
} |
304 | 318 |
|
305 | 319 |
public int getTextFieldId() { |
... | ... | |
313 | 327 |
public String getHeightField() throws ReadDriverException { |
314 | 328 |
if (idHeightField == -1) return null; |
315 | 329 |
return ((SelectableDataSource) layer.getRecordset()) |
316 |
.getFieldName(idHeightField);
|
|
330 |
.getFieldAlias(idHeightField);
|
|
317 | 331 |
} |
318 | 332 |
|
319 | 333 |
public int getHeightFieldId() { |
... | ... | |
327 | 341 |
public String getColorField() throws ReadDriverException { |
328 | 342 |
if (idColorField == -1) return null; |
329 | 343 |
return ((SelectableDataSource) layer.getRecordset()) |
330 |
.getFieldName(idColorField);
|
|
344 |
.getFieldAlias(idColorField);
|
|
331 | 345 |
} |
332 | 346 |
|
333 | 347 |
public int getColorFieldId() { |
Also available in: Unified diff