Revision 23917
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/styling/labeling/DefaultLabelingMethod.java | ||
---|---|---|
118 | 118 |
|
119 | 119 |
public IFeatureIterator getFeatureIteratorByLabelClass(FLyrVect layer, LabelClass lc, ViewPort viewPort, String[] usedFields) |
120 | 120 |
throws ReadDriverException { |
121 |
String sqlFields = ""; |
|
122 |
for (int i = 0; i < usedFields.length; i++) { |
|
123 |
sqlFields += usedFields[i]; |
|
124 |
if (i < usedFields.length -1) sqlFields += ", "; |
|
121 |
|
|
122 |
if(lc.isUseSqlQuery()){ |
|
123 |
String sqlFields = ""; |
|
124 |
for (int i = 0; i < usedFields.length; i++) { |
|
125 |
sqlFields += usedFields[i]; |
|
126 |
if (i < usedFields.length -1) sqlFields += ", "; |
|
127 |
} |
|
128 |
String fieldNames[] = layer.getSource().getRecordset().getFieldNames(); |
|
129 |
StringBuilder sql = new StringBuilder(); |
|
130 |
sql.append("select "); |
|
131 |
for (int i=0; i<fieldNames.length-1; i++) { |
|
132 |
sql.append(fieldNames[i]); |
|
133 |
sql.append(","); |
|
134 |
} |
|
135 |
sql.append(fieldNames[fieldNames.length-1]); |
|
136 |
sql.append(" from "); |
|
137 |
sql.append(layer.getRecordset().getName()); |
|
138 |
sql.append(" where "); |
|
139 |
sql.append(lc.getSQLQuery()); |
|
140 |
sql.append(";"); |
|
141 |
return layer.getSource().getFeatureIterator(sql.toString(), layer.getProjection()); |
|
125 | 142 |
} |
126 |
String fieldNames[] = layer.getSource().getRecordset().getFieldNames(); |
|
127 |
StringBuilder sql = new StringBuilder(); |
|
128 |
sql.append("select "); |
|
129 |
for (int i=0; i<fieldNames.length-1; i++) { |
|
130 |
sql.append(fieldNames[i]); |
|
131 |
sql.append(","); |
|
143 |
else { |
|
144 |
return layer.getSource().getFeatureIterator( |
|
145 |
viewPort.getAdjustedExtent(), usedFields, |
|
146 |
layer.getProjection(), true); |
|
132 | 147 |
} |
133 |
sql.append(fieldNames[fieldNames.length-1]); |
|
134 |
sql.append(" from "); |
|
135 |
sql.append(layer.getRecordset().getName()); |
|
136 |
sql.append(" where "); |
|
137 |
sql.append(lc.getSQLQuery()); |
|
138 |
sql.append(";"); |
|
139 |
return layer.getSource().getFeatureIterator(sql.toString(), layer.getProjection()); |
|
140 | 148 |
} |
141 | 149 |
|
142 | 150 |
public boolean definesPriorities() { |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/styling/labeling/LabelClass.java | ||
---|---|---|
147 | 147 |
private int priority; |
148 | 148 |
private double scale = 1; |
149 | 149 |
private String sqlQuery; |
150 |
private boolean useSqlQuery = false; |
|
150 | 151 |
|
152 |
|
|
151 | 153 |
/** |
152 | 154 |
* Returns true if the label will be showed in the map |
153 | 155 |
* |
... | ... | |
457 | 459 |
xml.putProperty("unit", getUnit()); |
458 | 460 |
xml.putProperty("referenceSystem", getReferenceSystem()); |
459 | 461 |
xml.putProperty("priority", getPriority()); |
462 |
xml.putProperty("useSqlQuery",isUseSqlQuery()); |
|
460 | 463 |
|
461 | 464 |
if (texts != null) { |
462 | 465 |
xml.putProperty("texts", texts); |
... | ... | |
489 | 492 |
(ITextSymbol) SymbologyFactory. |
490 | 493 |
createSymbolFromXML(xml.firstChild("id", "TextSymbol"), null)); |
491 | 494 |
|
495 |
if(xml.contains("useSqlQuery")){ |
|
496 |
setUseSqlQuery(xml.getBooleanProperty("useSqlQuery")); |
|
497 |
} |
|
498 |
|
|
492 | 499 |
if (xml.contains("texts")) { |
493 | 500 |
setTexts(xml.getStringArrayProperty("texts")); |
494 | 501 |
} |
... | ... | |
580 | 587 |
public void setSQLQuery(String sqlQuery) { |
581 | 588 |
this.sqlQuery = sqlQuery; |
582 | 589 |
} |
590 |
|
|
591 |
public boolean isUseSqlQuery() { |
|
592 |
return useSqlQuery; |
|
593 |
} |
|
594 |
|
|
595 |
public void setUseSqlQuery(boolean useSqlQuery) { |
|
596 |
this.useSqlQuery = useSqlQuery; |
|
597 |
} |
|
583 | 598 |
} |
Also available in: Unified diff