Revision 47700
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/updatetable/UpdateTablePanelImpl.java | ||
---|---|---|
93 | 93 |
private BookmarksController bookmarksController; |
94 | 94 |
private HistoryController historyController; |
95 | 95 |
private StoresRepositoryController treeTableController; |
96 |
private DataSwingManager dataSwingManager; |
|
96 | 97 |
|
98 |
|
|
97 | 99 |
private class FeatureAttributeCellEditor extends AbstractCellEditor implements TableCellEditor { |
98 | 100 |
|
99 | 101 |
private final AttributeDescriptorPickerController picker; |
... | ... | |
168 | 170 |
|
169 | 171 |
private class Row { |
170 | 172 |
String attrname; |
173 |
String attrlabel; |
|
171 | 174 |
String expression; |
172 | 175 |
boolean update; |
173 | 176 |
|
177 |
public Row(String attrlabel, String attrname, String expression, boolean update) { |
|
178 |
this.attrlabel = attrlabel; |
|
179 |
this.attrname = attrname; |
|
180 |
this.expression = expression; |
|
181 |
this.update = update; |
|
182 |
} |
|
183 |
|
|
174 | 184 |
public Object get(int index) { |
175 | 185 |
switch(index) { |
176 | 186 |
case 0: |
177 | 187 |
return update; |
178 | 188 |
case 1: |
179 |
return attrname;
|
|
189 |
return attrlabel;
|
|
180 | 190 |
case 2: |
181 | 191 |
return expression; |
182 | 192 |
default: |
... | ... | |
190 | 200 |
this.update = (boolean) value; |
191 | 201 |
break; |
192 | 202 |
case 1: |
193 |
this.attrname = (String) value;
|
|
203 |
this.attrlabel = (String) value;
|
|
194 | 204 |
break; |
195 | 205 |
case 2: |
196 | 206 |
this.expression = (String) value; |
... | ... | |
199 | 209 |
break; |
200 | 210 |
} |
201 | 211 |
} |
212 |
|
|
213 |
public String getAttrname() { |
|
214 |
return attrname; |
|
215 |
} |
|
216 |
|
|
217 |
public String getExpression() { |
|
218 |
return expression; |
|
219 |
} |
|
220 |
|
|
221 |
public boolean isUpdate() { |
|
222 |
return update; |
|
223 |
} |
|
224 |
|
|
225 |
private void setExpression(String expression) { |
|
226 |
this.expression = expression; |
|
227 |
} |
|
228 |
|
|
229 |
private void setUpdate(boolean update) { |
|
230 |
this.update = update; |
|
231 |
} |
|
202 | 232 |
} |
203 | 233 |
|
204 | 234 |
public MyTableModel() { |
205 | 235 |
this.rows = new ArrayList<>(); |
206 | 236 |
this.tableType = table.getDefaultFeatureTypeQuietly(); |
207 | 237 |
for (FeatureAttributeDescriptor targetAttr : tableType) { |
208 |
Row row = new Row(); |
|
209 |
row.attrname = targetAttr.getName(); |
|
210 |
row.expression = null; |
|
211 |
if( targetAttr.isAutomatic() || targetAttr.isReadOnly() || targetAttr.isPrimaryKey() ) { |
|
212 |
row.update = false; |
|
213 |
} else { |
|
214 |
row.update = true; |
|
215 |
} |
|
238 |
Row row = new Row( |
|
239 |
getDataSwingManager().getAttributeDescriptorLabel(targetAttr), |
|
240 |
targetAttr.getName(), |
|
241 |
null, |
|
242 |
!(targetAttr.isAutomatic() || targetAttr.isReadOnly() || targetAttr.isPrimaryKey()) |
|
243 |
); |
|
216 | 244 |
this.rows.add(row); |
217 | 245 |
} |
218 | 246 |
this.columnNames = new String[] { |
... | ... | |
287 | 315 |
|
288 | 316 |
this.initComponents(); |
289 | 317 |
} |
318 |
|
|
319 |
private DataSwingManager getDataSwingManager() { |
|
320 |
if( this.dataSwingManager==null ) { |
|
321 |
this.dataSwingManager = DALSwingLocator.getSwingManager(); |
|
322 |
} |
|
323 |
return this.dataSwingManager; |
|
324 |
} |
|
290 | 325 |
|
291 | 326 |
private void initComponents() { |
292 | 327 |
// DataManager dataManager = DALLocator.getDataManager(); |
293 |
DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager(); |
|
328 |
// DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
|
|
294 | 329 |
ExpressionEvaluatorSwingManager expressionSwingManager = ExpressionEvaluatorSwingLocator.getManager(); |
295 | 330 |
ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager(); |
296 | 331 |
|
... | ... | |
334 | 369 |
this.btnCancelStatus, |
335 | 370 |
null |
336 | 371 |
); |
337 |
this.treeTableController = dataSwingManager.createStoresRepositoryController(this.treeTable);
|
|
372 |
this.treeTableController = this.getDataSwingManager().createStoresRepositoryController(this.treeTable);
|
|
338 | 373 |
this.treeTable.addTreeSelectionListener((TreeSelectionEvent e) -> { |
339 | 374 |
doChangeTable(); |
340 | 375 |
}); |
... | ... | |
439 | 474 |
this.btnRecordsUpdatePreview.setVisible(false); |
440 | 475 |
return; |
441 | 476 |
} |
442 |
DataSwingManager dataSwingManager = DALSwingLocator.getDataSwingManager(); |
|
443 | 477 |
SimpleFeaturesTableModel model; |
444 | 478 |
if( this.rdoRecordsAll.isSelected() ) { |
445 |
model = dataSwingManager.createSimpleFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
479 |
model = this.getDataSwingManager().createSimpleFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
446 | 480 |
} else if( this.rdoRecordsEditeds.isSelected() ) { |
447 |
model = dataSwingManager.createSimpleEditedFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
481 |
model = this.getDataSwingManager().createSimpleEditedFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
448 | 482 |
} else if( this.rdoRecordsSelecteds.isSelected() ) { |
449 |
model = dataSwingManager.createSimpleSelectedFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
483 |
model = this.getDataSwingManager().createSimpleSelectedFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
450 | 484 |
} else { |
451 | 485 |
// FIXME |
452 |
model = dataSwingManager.createSimpleFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
486 |
model = this.getDataSwingManager().createSimpleFeaturesTableModel(table, this.pickerTableFilter.get());
|
|
453 | 487 |
} |
454 | 488 |
model.setCellRenderers(tblRecordsPreview); |
455 | 489 |
this.tblRecordsPreview.setModel(model); |
... | ... | |
464 | 498 |
if( this.table==null ) { |
465 | 499 |
return; |
466 | 500 |
} |
467 |
DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager(); |
|
468 |
dataSwingManager.configureExpressionBuilder(pickerTableFilter.getConfig(), table); |
|
501 |
this.getDataSwingManager().configureExpressionBuilder(pickerTableFilter.getConfig(), table); |
|
469 | 502 |
this.tableFields.setModel(new MyTableModel()); |
470 | 503 |
doUpdateRecordsPreview(); |
471 | 504 |
|
... | ... | |
499 | 532 |
} |
500 | 533 |
|
501 | 534 |
private void doUpdatePreviewTable() { |
502 |
DataSwingManager manager = DALSwingLocator.getDataSwingManager(); |
|
503 | 535 |
FeatureType ftype = this.table.getDefaultFeatureTypeQuietly(); |
504 |
SimpleFeaturesTableModel model = manager.createSimpleFeaturesTableModel(
|
|
536 |
SimpleFeaturesTableModel model = this.getDataSwingManager().createSimpleFeaturesTableModel(
|
|
505 | 537 |
ftype, |
506 | 538 |
this.previewColumns, |
507 | 539 |
this.table.getFeatures(this.pickerTableFilter.get()) |
... | ... | |
595 | 627 |
MyTableModel fieldsModel = new MyTableModel(); |
596 | 628 |
this.tableFields.setModel(fieldsModel); |
597 | 629 |
for (MyTableModel.Row row : fieldsModel.rows) { |
598 |
ProcessFieldParameters paramfield = params.get(row.attrname);
|
|
599 |
row.expression = paramfield.getExpression().getPhrase();
|
|
600 |
row.update = paramfield.isUpdate();
|
|
630 |
ProcessFieldParameters paramfield = params.get(row.getAttrname());
|
|
631 |
row.setExpression(paramfield.getExpression().getPhrase());
|
|
632 |
row.setUpdate(paramfield.isUpdate());
|
|
601 | 633 |
} |
602 | 634 |
fieldsModel.fireTableDataChanged(); |
603 | 635 |
} |
... | ... | |
622 | 654 |
MyTableModel model = (MyTableModel) this.tableFields.getModel(); |
623 | 655 |
for (MyTableModel.Row row : model) { |
624 | 656 |
Expression exp = null; |
625 |
if( StringUtils.isNotBlank(row.expression)) {
|
|
626 |
exp = ExpressionUtils.createExpression(row.expression);
|
|
657 |
if( StringUtils.isNotBlank(row.getExpression())) {
|
|
658 |
exp = ExpressionUtils.createExpression(row.getExpression());
|
|
627 | 659 |
} |
628 |
params.add(row.attrname, row.update, exp);
|
|
660 |
params.add(row.getAttrname(), row.isUpdate(), exp);
|
|
629 | 661 |
} |
630 | 662 |
if( this.rdoOptionsFulledit.isSelected() ) { |
631 | 663 |
params.setEditMode(FeatureStore.MODE_FULLEDIT); |
Also available in: Unified diff