444 |
444 |
|
445 |
445 |
final List<Object> values = new ArrayList<>();
|
446 |
446 |
final DefaultComboBoxModel model = new DefaultComboBoxModel();
|
447 |
|
this.setEnabled(false);
|
448 |
|
final FeatureStore theStore = field.getFeatureStore();
|
449 |
|
final FeatureQuery query = parameters.getQuery().getCopy(); // theStore.createFeatureQuery();
|
|
447 |
final FeatureStore theStore = field.getFeatureStore();
|
|
448 |
final FeatureQuery query;
|
|
449 |
if (this.store == theStore) {
|
|
450 |
query = parameters.getQuery().getCopy(); // theStore.createFeatureQuery();
|
|
451 |
} else {
|
|
452 |
query = theStore.createFeatureQuery();
|
|
453 |
}
|
450 |
454 |
query.addAttributeName(field.getDescriptor().getName());
|
451 |
455 |
query.setFilter("");
|
452 |
456 |
query.setLimit(updateValuesFeaturesLimit);
|
... | ... | |
524 |
528 |
SwingUtilities.invokeLater(new Runnable() {
|
525 |
529 |
@Override
|
526 |
530 |
public void run() {
|
|
531 |
setEnabled(false);
|
527 |
532 |
cboValue.setModel(model);
|
528 |
533 |
if (valueAssigned != null) {
|
529 |
534 |
cboValue.setSelectedItem(valueAssigned);
|
... | ... | |
538 |
543 |
}
|
539 |
544 |
|
540 |
545 |
public void setEnabled(boolean enabled) {
|
541 |
|
this.ddnFields.setEnabled(enabled);
|
542 |
|
if (this.ddnLogicalOperators != null) {
|
543 |
|
this.ddnLogicalOperators.setEnabled(enabled);
|
544 |
|
}
|
545 |
|
this.ddnRelationalOperators.setEnabled(enabled);
|
546 |
|
this.lblExtraFields.setEnabled(enabled);
|
547 |
|
this.cboValue.setEnabled(enabled);
|
|
546 |
ddnFields.setEnabled(enabled);
|
|
547 |
if (ddnLogicalOperators != null) {
|
|
548 |
ddnLogicalOperators.setEnabled(enabled);
|
|
549 |
}
|
|
550 |
ddnRelationalOperators.setEnabled(enabled);
|
|
551 |
lblExtraFields.setEnabled(enabled);
|
|
552 |
cboValue.setEnabled(enabled);
|
548 |
553 |
}
|
549 |
554 |
|
550 |
555 |
public String getRelationalOperator() {
|
... | ... | |
629 |
634 |
}
|
630 |
635 |
}
|
631 |
636 |
|
632 |
|
public void setValue(Object value) {
|
633 |
|
this.cboValue.setSelectedItem(value);
|
634 |
|
this.valueAssigned = value;
|
635 |
|
}
|
|
637 |
public void setValue(Object value) {
|
|
638 |
//this.cboValue.setSelectedItem(value);
|
|
639 |
SwingUtilities.invokeLater(new Runnable() {
|
|
640 |
@Override
|
|
641 |
public void run() {
|
|
642 |
DefaultComboBoxModel model = (DefaultComboBoxModel) cboValue.getModel();
|
|
643 |
for (int i = 0; i < model.getSize(); i++) {
|
|
644 |
Object item = model.getElementAt(i);
|
|
645 |
if (item.equals(value)) {
|
|
646 |
cboValue.setSelectedIndex(i);
|
|
647 |
valueAssigned = value;
|
|
648 |
return;
|
|
649 |
}
|
|
650 |
}
|
|
651 |
// si no lo encuentra en el modelo lo a?ade
|
|
652 |
final Field field = (Field) ddnFields.getSelectedItem();
|
|
653 |
if (field == null) {
|
|
654 |
return;
|
|
655 |
} else {
|
|
656 |
LabeledValue[] availableValues = field.getDescriptor().getAvailableValues();
|
|
657 |
Map<String, String> availableValuesMap = new HashMap<>();
|
|
658 |
if (availableValues != null) {
|
|
659 |
for (LabeledValue availableValue : availableValues) {
|
|
660 |
availableValuesMap.put(
|
|
661 |
Objects.toString(availableValue.getValue()),
|
|
662 |
availableValue.getLabel()
|
|
663 |
);
|
|
664 |
}
|
|
665 |
}
|
|
666 |
String key;
|
|
667 |
if (value instanceof Date) {
|
|
668 |
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault());
|
|
669 |
df.setLenient(false);
|
|
670 |
key = df.format(value);
|
|
671 |
} else {
|
|
672 |
key = Objects.toString(value);
|
|
673 |
}
|
|
674 |
String label = availableValuesMap.getOrDefault(key, key);
|
|
675 |
LabeledValueImpl newItem = new LabeledValueImpl(label, value);
|
|
676 |
model.addElement(newItem);
|
|
677 |
cboValue.setSelectedItem(newItem);
|
|
678 |
valueAssigned = newItem;
|
|
679 |
}
|
|
680 |
}
|
|
681 |
});
|
|
682 |
}
|
636 |
683 |
|
637 |
684 |
private Field getCurrentField() {
|
638 |
685 |
final Field field = (Field) this.ddnFields.getSelectedItem();
|