Revision 44873 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/featurequery/DefaultFeatureQueryGroupByPanel.java

View differences:

DefaultFeatureQueryGroupByPanel.java
4 4
import java.awt.Component;
5 5
import java.awt.Dimension;
6 6
import java.awt.event.ActionEvent;
7
import java.awt.event.ActionListener;
8 7
import java.net.URL;
8
import java.util.ArrayList;
9
import java.util.Collections;
10
import java.util.List;
9 11
import javax.swing.DefaultComboBoxModel;
10 12
import javax.swing.ImageIcon;
11 13
import javax.swing.JComponent;
12 14
import javax.swing.JLabel;
13 15
import javax.swing.JList;
14 16
import javax.swing.event.ChangeEvent;
15
import javax.swing.event.ChangeListener;
16
import javax.swing.event.ListDataEvent;
17
import javax.swing.event.ListDataListener;
18 17
import javax.swing.event.ListSelectionEvent;
19
import javax.swing.event.ListSelectionListener;
20 18
import org.apache.commons.io.FilenameUtils;
21 19
import org.apache.commons.lang3.StringUtils;
22 20
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
......
112 110
  private void initComponents() {
113 111
    ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
114 112
    
113
    toolsSwingManager.translate(this.btnAttributesFilter);
114
    toolsSwingManager.translate(this.tabGroup);
115
    
115 116
    this.groupByPanel = new DefaultFeatureAttributesSelectionPanel();
116 117

  
117 118
    this.pnlGroupByAttributes.setLayout(new BorderLayout());
......
125 126
            doSelectAttribute();
126 127
    });
127 128
    
128
    this.cboAggretateFunctions.addActionListener(new ActionListener() {
129
        @Override
130
        public void actionPerformed(ActionEvent e) {
131
            doSelectAttribute();
132
        }
129
    this.cboAggretateFunctions.addActionListener((ActionEvent e) -> {
130
      doSelectAttribute();
133 131
    });
134 132

  
135 133
    this.aggregateFunctionsController = toolsSwingManager.createFilteredListController(
......
137 135
            txtAttributesFilter,
138 136
            btnAttributesFilter
139 137
    );
140
    this.aggregateFunctionsController.addChangeListener(new ChangeListener() {
141
        @Override
142
        public void stateChanged(ChangeEvent ce) {
143
            doSelectAttribute();
144
        }
138
    this.aggregateFunctionsController.addChangeListener((ChangeEvent ce) -> {
139
      doSelectAttribute();
145 140
    });
146 141
    Dimension sz = this.getPreferredSize();
147 142
    if (sz.width < DEFAULT_WIDTH) {
......
181 176
  private void updateControls() {
182 177
    int indexAttributes = this.lstAttributes.getSelectedIndex();
183 178
    if( this.cboAggretateFunctions.getModel().getSize() < 1 ) {
184
      DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>();
185
      model.addElement("<NULL>");
179
      List<String> aggregateFunctions = new ArrayList<>();
186 180
      java.util.function.Function<String, Integer> isAllowed = ((FeatureStoreProviderFactory)(store.getProviderFactory())).allowFunction();
187 181
      ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();    
188 182
      for (SymbolTableFactory factory : manager.getSymbolTableFactories()) {
......
190 184
          SymbolTable symbolTable = factory.create();
191 185
          for (Function function : symbolTable) {
192 186
            if( isAllowed.apply(function.name())!=DataType.NO ) {
193
              model.addElement(function.name());
187
              aggregateFunctions.add(function.name());
194 188
            }
195 189
          }
196 190
          break;
197 191
        }
198 192
      }
193
      Collections.sort(aggregateFunctions);
194
      DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>();
195
      model.addElement("<NULL>");
196
      for (String functionName : aggregateFunctions) {
197
        model.addElement(functionName);
198
      }
199
      
199 200
      this.cboAggretateFunctions.setModel(model);
200 201
      this.cboAggretateFunctions.setSelectedIndex(0);
201 202
      this.txtCurrentAttributeName.setText("");

Also available in: Unified diff