Revision 38552 branches/v2_0_0_prep/extensions/extDalTransformJoin/src/org/gvsig/app/join/daltransform/SelectParametersWizardPanel.java
SelectParametersWizardPanel.java | ||
---|---|---|
27 | 27 |
|
28 | 28 |
package org.gvsig.app.join.daltransform; |
29 | 29 |
|
30 |
import java.awt.event.ActionEvent; |
|
31 |
import java.awt.event.ActionListener; |
|
32 |
import java.util.ArrayList; |
|
33 |
|
|
34 |
import javax.swing.JOptionPane; |
|
35 |
|
|
36 |
import org.slf4j.Logger; |
|
37 |
import org.slf4j.LoggerFactory; |
|
38 |
|
|
30 | 39 |
import org.gvsig.andami.PluginServices; |
40 |
import org.gvsig.app.ApplicationLocator; |
|
41 |
import org.gvsig.app.join.utils.TransformUtils; |
|
31 | 42 |
import org.gvsig.daltransform.swing.DataTransformWizardPanel; |
32 | 43 |
import org.gvsig.daltransform.swing.impl.AbstractDataTransformWizardPanel; |
33 | 44 |
import org.gvsig.daltransform.swing.impl.components.FeatureTypeAttributesCombo; |
34 | 45 |
import org.gvsig.daltransform.swing.impl.components.FeatureTypeAttributesList; |
35 | 46 |
import org.gvsig.fmap.dal.exception.DataException; |
47 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
36 | 48 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
49 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
50 |
import org.gvsig.i18n.Messages; |
|
37 | 51 |
|
38 | 52 |
|
39 | 53 |
/** |
40 | 54 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
41 | 55 |
*/ |
42 |
public class SelectParametersWizardPanel extends AbstractDataTransformWizardPanel implements DataTransformWizardPanel{ |
|
56 |
public class SelectParametersWizardPanel extends AbstractDataTransformWizardPanel |
|
57 |
implements DataTransformWizardPanel, ActionListener{ |
|
58 |
|
|
59 |
private static Logger logger = |
|
60 |
LoggerFactory.getLogger(SelectParametersWizardPanel.class); |
|
61 |
|
|
43 | 62 |
private javax.swing.JLabel attributesLabel; |
44 | 63 |
private FeatureTypeAttributesList attributesList; |
45 | 64 |
private javax.swing.JScrollPane attributesScroll; |
46 | 65 |
private FeatureTypeAttributesCombo key1Combo; |
47 | 66 |
private javax.swing.JLabel key1Label; |
48 |
private FeatureTypeAttributesCombo key2Combo; |
|
67 |
private FeatureTypeAttributesCombo key2_Combo;
|
|
49 | 68 |
private javax.swing.JLabel key2Label; |
50 | 69 |
private javax.swing.JLabel prefix1Label; |
51 | 70 |
private javax.swing.JTextField prefix1Text; |
52 | 71 |
private javax.swing.JLabel prefix2Label; |
53 | 72 |
private javax.swing.JTextField prefix2Text; |
73 |
|
|
74 |
private FeatureStore secondFeatStore = null; |
|
54 | 75 |
|
55 | 76 |
/** |
56 | 77 |
* @param featureTransformWizardModel |
... | ... | |
73 | 94 |
java.awt.GridBagConstraints gridBagConstraints; |
74 | 95 |
|
75 | 96 |
prefix2Text = new javax.swing.JTextField(); |
76 |
key2Combo = new FeatureTypeAttributesCombo(); |
|
97 |
key2_Combo = new FeatureTypeAttributesCombo();
|
|
77 | 98 |
prefix1Text = new javax.swing.JTextField(); |
78 | 99 |
key1Label = new javax.swing.JLabel(); |
100 |
|
|
79 | 101 |
key1Combo = new FeatureTypeAttributesCombo(); |
102 |
// listen to changes in first combo |
|
103 |
// we'll update second combo leaving |
|
104 |
// fields of same type |
|
105 |
key1Combo.addActionListener(this); |
|
106 |
|
|
80 | 107 |
key2Label = new javax.swing.JLabel(); |
81 | 108 |
prefix1Label = new javax.swing.JLabel(); |
82 | 109 |
prefix2Label = new javax.swing.JLabel(); |
... | ... | |
99 | 126 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
100 | 127 |
gridBagConstraints.weightx = 1.0; |
101 | 128 |
gridBagConstraints.insets = new java.awt.Insets(2, 2, 3, 2); |
102 |
add(key2Combo, gridBagConstraints); |
|
129 |
add(key2_Combo, gridBagConstraints);
|
|
103 | 130 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
104 | 131 |
gridBagConstraints.gridx = 0; |
105 | 132 |
gridBagConstraints.gridy = 5; |
... | ... | |
179 | 206 |
* @return |
180 | 207 |
*/ |
181 | 208 |
public String getkeyAtrr2() { |
182 |
return key2Combo.getSelectedFeatureAttributeDescriptor().getName(); |
|
209 |
return key2_Combo.getSelectedFeatureAttributeDescriptor().getName();
|
|
183 | 210 |
} |
184 | 211 |
|
185 | 212 |
/** |
... | ... | |
208 | 235 |
* @throws DataException |
209 | 236 |
*/ |
210 | 237 |
public void updateFeatureStores(FeatureStore selectedFeatureStore) throws DataException { |
238 |
secondFeatStore = selectedFeatureStore; |
|
211 | 239 |
key1Combo.addFeatureAttributes(getFeatureStore().getDefaultFeatureType()); |
212 |
key2Combo.addFeatureAttributes(selectedFeatureStore.getDefaultFeatureType()); |
|
213 | 240 |
attributesList.addFeatureAttributes(selectedFeatureStore.getDefaultFeatureType()); |
241 |
|
|
242 |
if (key1Combo.getItemCount() == 0) { |
|
243 |
|
|
244 |
String _msg = |
|
245 |
Messages.getText("_First_table_has_no_fields"); |
|
246 |
String _tit = Messages.getText("_Join"); |
|
247 |
|
|
248 |
JOptionPane.showMessageDialog( |
|
249 |
this, _msg, _tit, |
|
250 |
JOptionPane.ERROR_MESSAGE); |
|
251 |
|
|
252 |
getDataTransformWizard().setApplicable(false); |
|
253 |
} else { |
|
254 |
key1Combo.setSelectedIndex(0); |
|
255 |
} |
|
214 | 256 |
} |
257 |
|
|
258 |
|
|
259 |
/** |
|
260 |
* Listen to changes in first combo box (key1) |
|
261 |
*/ |
|
262 |
public void actionPerformed(ActionEvent e) { |
|
263 |
|
|
264 |
Object src = e.getSource(); |
|
265 |
if (src == key1Combo |
|
266 |
&& key1Combo != null |
|
267 |
&& key2_Combo != null |
|
268 |
&& secondFeatStore != null) { |
|
269 |
|
|
270 |
FeatureAttributeDescriptor att = |
|
271 |
key1Combo.getSelectedFeatureAttributeDescriptor(); |
|
272 |
if (att != null) { |
|
273 |
|
|
274 |
int the_type = att.getType(); |
|
275 |
key2_Combo.removeAllItems(); |
|
276 |
FeatureType ft = null; |
|
277 |
|
|
278 |
try { |
|
279 |
ft = secondFeatStore.getDefaultFeatureType(); |
|
280 |
} catch (DataException de) { |
|
281 |
logger.info("While getting feat type: " + de.getMessage()); |
|
282 |
getDataTransformWizard().setApplicable(false); |
|
283 |
ApplicationLocator.getManager().message( |
|
284 |
Messages.getText("_Error_getting_attributes"), |
|
285 |
JOptionPane.ERROR_MESSAGE); |
|
286 |
return; |
|
287 |
} |
|
288 |
|
|
289 |
ArrayList<Integer> comparable_types = |
|
290 |
TransformUtils.getComparableDataTypes(ft, the_type); |
|
291 |
|
|
292 |
if (key2_Combo.addFeatureAttributes(ft, comparable_types) == 0) { |
|
293 |
getDataTransformWizard().setApplicable(false); |
|
294 |
|
|
295 |
String _msg = |
|
296 |
Messages.getText("_No_compatible_field_in_second_table"); |
|
297 |
String _tit = Messages.getText("_Join"); |
|
298 |
|
|
299 |
JOptionPane.showMessageDialog( |
|
300 |
this, _msg, _tit, |
|
301 |
JOptionPane.ERROR_MESSAGE); |
|
302 |
} else { |
|
303 |
getDataTransformWizard().setApplicable(true); |
|
304 |
// JOptionPane.showMessageDialog(this, "(2) OK !!"); |
|
305 |
} |
|
306 |
} |
|
307 |
} |
|
308 |
|
|
309 |
} |
|
215 | 310 |
} |
216 | 311 |
|
Also available in: Unified diff