Revision 46250

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureQuery.java
834 834
  }
835 835

  
836 836
  @Override
837
  public void removeAggregateFunction(String colname) {
838
    if( this.aggregateFunctions == null ) {
839
      return;
840
    }
841
    this.aggregateFunctions.remove(colname);
842
  }
843
  
844
  @Override
837 845
  public String getAggregate(String name) {    
838 846
      String fn = this.getAggregateFunctions().get(name);
839 847
      if( StringUtils.isAlphanumeric(fn) ) {
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/searchpanel/DefaultSearchParameters.java
273 273
    public void setSearchMode(int searchMode) {
274 274
        this.searchMode = searchMode;
275 275
    }
276

  
277
    void fix(FeatureType featureType) {
278
        List<String> toRemoveAggregateColumns = new ArrayList<>();
279
        Map<String, String> aggregateFunctions = this.query.getAggregateFunctions();
280
        for (Map.Entry<String, String> aggregate : aggregateFunctions.entrySet()) {
281
            String colname = aggregate.getKey();
282
            String funcname = aggregate.getValue();
283
            if( this.query.getExtraColumn().get(colname)==null && featureType.get(colname)==null ) {
284
                toRemoveAggregateColumns.add(colname);
285
            }
286
        }
287
        for (String toRemoveAggregateColumn : toRemoveAggregateColumns) {
288
            this.query.removeAggregateFunction(toRemoveAggregateColumn);
289
        }
290
    }
276 291
}
277 292

  
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/searchpanel/DefaultSearchPanel.java
727 727
					DefaultSearchParameters searchParams;
728 728
					try {
729 729
						searchParams = b.getCurrentValue().getCopy();
730
                                                searchParams.fix(this.getFeatureType());
730 731
					} catch (Exception ex) {
731 732
						LOGGER.warn("Not been able to clone export parameters", ex);
732 733
						return;
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureQuery.java
326 326
   */
327 327
  public Map<String,String> getAggregateFunctions();
328 328
  
329
  public void removeAggregateFunction(String colname);
330
  
329 331
  public void addAggregate(String funcName, String columnName);
330 332

  
331 333
  @Deprecated

Also available in: Unified diff