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
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