Changeset 3136
- Timestamp:
- 02/03/12 17:19:09 (4 months ago)
- Location:
- DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/panels/datastructures/KeysAndTypesPropertyWidget.java
r3135 r3136 25 25 26 26 import javax.swing.JComponent; 27 import javax.swing.event.DocumentEvent; 27 28 28 29 import org.eobjects.analyzer.beans.datastructures.SelectFromMapTransformer; … … 30 31 import org.eobjects.analyzer.job.builder.AbstractBeanJobBuilder; 31 32 import org.eobjects.datacleaner.panels.DCPanel; 33 import org.eobjects.datacleaner.util.DCDocumentListener; 32 34 import org.eobjects.datacleaner.widgets.DCComboBox; 33 35 import org.eobjects.datacleaner.widgets.DCComboBox.Listener; … … 36 38 import org.eobjects.datacleaner.widgets.properties.PropertyWidget; 37 39 import org.eobjects.datacleaner.widgets.properties.SingleClassPropertyWidget; 40 import org.eobjects.metamodel.util.EqualsBuilder; 38 41 import org.jdesktop.swingx.JXTextField; 39 42 … … 65 68 @Override 66 69 public Class<?>[] getValue() { 67 final Class<?>[] result = new Class<?>[_comboBoxes.size()]; 70 final String[] keys = KeysAndTypesPropertyWidget.this 71 .getValue(); 72 final Class<?>[] result = new Class<?>[keys.length]; 68 73 for (int i = 0; i < result.length; i++) { 69 result[i] = _comboBoxes.get(i).getSelectedItem(); 74 final DCComboBox<Class<?>> comboBox = _comboBoxes.get(i); 75 result[i] = comboBox.getSelectedItem(); 70 76 } 71 77 return result; … … 73 79 74 80 @Override 81 public boolean isSet() { 82 if (_comboBoxes.isEmpty()) { 83 return false; 84 } 85 for (DCComboBox<Class<?>> comboBox : _comboBoxes) { 86 if (comboBox.getSelectedItem() == null) { 87 return false; 88 } 89 } 90 return true; 91 } 92 93 @Override 75 94 protected void setValue(Class<?>[] value) { 76 // TODO Auto-generated method stub 95 if (EqualsBuilder.equals(value, getValue())) { 96 return; 97 } 98 99 if (value == null) { 100 value = new Class[0]; 101 } 102 103 final String[] keys = KeysAndTypesPropertyWidget.this 104 .getValue(); 105 if (keys.length != value.length) { 106 // disregard this invalid value update 107 return; 108 } 109 110 for (int i = 0; i < keys.length; i++) { 111 DCComboBox<Class<?>> comboBox = _comboBoxes.get(i); 112 Class<?> selectedClass = value[i]; 113 comboBox.setSelectedItem(selectedClass); 114 } 77 115 } 78 116 }; … … 88 126 @Override 89 127 public void onItemSelected(Class<?> item) { 128 _typesPropertyWidget.fireValueChanged(); 129 } 130 }); 131 132 textField.getDocument().addDocumentListener(new DCDocumentListener() { 133 @Override 134 protected void onChange(DocumentEvent event) { 90 135 _typesPropertyWidget.fireValueChanged(); 91 136 } … … 106 151 } 107 152 153 @Override 154 protected boolean isEmptyStringValid() { 155 return false; 156 } 108 157 } -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/widgets/properties/MultipleMappedStringsPropertyWidget.java
r3135 r3136 211 211 return; 212 212 } 213 214 if (value == null) { 215 value = new String[0]; 216 } 213 217 214 218 if (EqualsBuilder.equals(value, getValue())) { … … 218 222 .getValue(); 219 223 220 if ( value != null &&inputColumns.length != value.length) {224 if (inputColumns.length != value.length) { 221 225 // disregard this invalid value update 222 226 return; -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/widgets/properties/MultipleStringPropertyWidget.java
r3120 r3136 48 48 * @author Kasper SÞrensen 49 49 */ 50 public class MultipleStringPropertyWidget extends AbstractPropertyWidget<String[]> { 50 public class MultipleStringPropertyWidget extends 51 AbstractPropertyWidget<String[]> { 51 52 52 53 private final DCPanel _textFieldPanel; … … 54 55 55 56 @Inject 56 public MultipleStringPropertyWidget(ConfiguredPropertyDescriptor propertyDescriptor, 57 public MultipleStringPropertyWidget( 58 ConfiguredPropertyDescriptor propertyDescriptor, 57 59 AbstractBeanJobBuilder<?, ?, ?> beanJobBuilder) { 58 60 super(beanJobBuilder, propertyDescriptor); … … 63 65 _textFieldPanel.setLayout(new VerticalLayout(2)); 64 66 65 final JButton addButton = WidgetFactory.createSmallButton("images/actions/add.png"); 67 final JButton addButton = WidgetFactory 68 .createSmallButton("images/actions/add.png"); 66 69 addButton.addActionListener(new ActionListener() { 67 70 @Override … … 72 75 }); 73 76 74 final JButton removeButton = WidgetFactory.createSmallButton("images/actions/remove.png"); 77 final JButton removeButton = WidgetFactory 78 .createSmallButton("images/actions/remove.png"); 75 79 removeButton.addActionListener(new ActionListener() { 76 80 @Override … … 115 119 if (!EqualsBuilder.equals(previousValues[i], values[i])) { 116 120 Component decoration = _textFieldPanel.getComponent(i); 117 JXTextField component = _textFieldDecorations.get(decoration); 121 JXTextField component = _textFieldDecorations 122 .get(decoration); 118 123 component.setText(values[i]); 119 124 } … … 182 187 183 188 @Override 189 public boolean isSet() { 190 String[] value = getValue(); 191 if (value.length == 0) { 192 return false; 193 } 194 195 if (!isEmptyStringValid()) { 196 for (int i = 0; i < value.length; i++) { 197 if (value[i].length() == 0) { 198 return false; 199 } 200 } 201 } 202 203 return true; 204 } 205 206 /** 207 * Method to be overridden by subclasses in case empty strings inside the 208 * arrays are not to be tolerated. 209 * 210 * @return 211 */ 212 protected boolean isEmptyStringValid() { 213 return true; 214 } 215 216 @Override 184 217 protected void setValue(String[] value) { 185 218 updateComponents(value);
Note: See TracChangeset
for help on using the changeset viewer.
