Revision 43355 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/operations/ResultSetForSetProviderOperation.java
ResultSetForSetProviderOperation.java | ||
---|---|---|
4 | 4 |
import java.util.ArrayList; |
5 | 5 |
import java.util.List; |
6 | 6 |
import org.apache.commons.lang3.StringUtils; |
7 |
import org.gvsig.fmap.dal.ExpressionBuilder.Config; |
|
7 | 8 |
import org.gvsig.fmap.dal.exception.DataException; |
8 | 9 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
9 | 10 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
... | ... | |
84 | 85 |
int fetchSize |
85 | 86 |
) throws DataException { |
86 | 87 |
|
88 |
double tolerance = -1 ; //query.getScale(); |
|
87 | 89 |
JDBCSQLBuilderBase sqlbuilder = createSQLBuilder(); |
88 | 90 |
|
89 | 91 |
List<String> primaryKeys = new ArrayList<>(); |
... | ... | |
101 | 103 |
primaryKeys.remove(attr.getName()); |
102 | 104 |
} |
103 | 105 |
if( attr.getType() == DataTypes.GEOMETRY ) { |
104 |
sqlbuilder.select().column().name(attr.getName()).as_geometry(); |
|
106 |
if( tolerance<=0 || !sqlbuilder.getConfig().has_functionality(Config.ST_Simplify)) { |
|
107 |
sqlbuilder.select().column().name(attr.getName()).as_geometry(); |
|
108 |
} else { |
|
109 |
sqlbuilder.select().column().value( |
|
110 |
sqlbuilder.ST_Simplify( |
|
111 |
sqlbuilder.column(attr.getName()), |
|
112 |
sqlbuilder.constant(tolerance) |
|
113 |
) |
|
114 |
).as_geometry(); |
|
115 |
} |
|
105 | 116 |
} else { |
106 | 117 |
sqlbuilder.select().column().name(attr.getName()); |
107 | 118 |
} |
Also available in: Unified diff