Revision 44239
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/featureform/swing/impl/DefaultJFeaturesForm.java | ||
---|---|---|
38 | 38 |
import javax.swing.JOptionPane; |
39 | 39 |
import javax.swing.JPanel; |
40 | 40 |
import org.gvsig.expressionevaluator.Expression; |
41 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
|
41 | 42 |
import org.gvsig.expressionevaluator.swing.JExpressionBuilder; |
42 | 43 |
|
43 | 44 |
import org.slf4j.Logger; |
... | ... | |
46 | 47 |
import org.gvsig.featureform.swing.JFeaturesForm; |
47 | 48 |
import org.gvsig.fmap.dal.DALLocator; |
48 | 49 |
import org.gvsig.fmap.dal.exception.DataException; |
50 |
import org.gvsig.fmap.dal.expressionevaluator.ExpressionEvaluator; |
|
49 | 51 |
import org.gvsig.fmap.dal.feature.Feature; |
50 | 52 |
import org.gvsig.fmap.dal.feature.FacadeOfAFeature; |
51 | 53 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
... | ... | |
65 | 67 |
import org.gvsig.tools.dynform.JDynFormSet.JDynFormSetListener; |
66 | 68 |
import org.gvsig.tools.dynobject.DynClass; |
67 | 69 |
import org.gvsig.tools.dynobject.DynObject; |
70 |
import org.gvsig.tools.evaluator.Evaluator; |
|
68 | 71 |
import org.gvsig.tools.exception.BaseException; |
69 | 72 |
import org.gvsig.tools.i18n.I18nManager; |
70 | 73 |
import org.gvsig.tools.observer.Observable; |
... | ... | |
355 | 358 |
@Override |
356 | 359 |
public void setQuery(FeatureQuery query) { |
357 | 360 |
if (this.ph != null) { |
358 |
if (this.formset != null && this.formset.isAutosave() && this.formset.countValues() > 0) { |
|
361 |
if (this.formset != null && !formset.isReadOnly() && this.formset.isAutosave() && this.formset.countValues() > 0) {
|
|
359 | 362 |
if (!store.isEditing()) { |
360 | 363 |
try { |
361 | 364 |
store.edit(); |
... | ... | |
370 | 373 |
updateForm(); |
371 | 374 |
} |
372 | 375 |
|
376 |
private FeatureQuery getCurrentQuery() { |
|
377 |
return this.currentQuery; |
|
378 |
} |
|
379 |
|
|
373 | 380 |
@Override |
374 | 381 |
public void showForm(MODE mode) { |
375 | 382 |
this.panel.add(this.getFormset().asJComponent(), BorderLayout.CENTER); |
... | ... | |
509 | 516 |
WindowManager_v2 winmgr = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
510 | 517 |
|
511 | 518 |
JExpressionBuilder builder = dataSwingmanager.createQueryFilterExpresion(store); |
519 |
FeatureQuery currentQuery = getCurrentQuery(); |
|
520 |
if( currentQuery!=null ) { |
|
521 |
Evaluator filter = currentQuery.getFilter(); |
|
522 |
if( filter instanceof ExpressionEvaluator ) { |
|
523 |
Expression expression = ((ExpressionEvaluator)filter).getExpression(); |
|
524 |
builder.setExpression(expression); |
|
525 |
} |
|
526 |
} |
|
512 | 527 |
Dialog dialog = winmgr.createDialog( |
513 | 528 |
builder.asJComponent(), |
514 | 529 |
"Filtro", |
... | ... | |
520 | 535 |
Expression expresion = builder.getExpression(); |
521 | 536 |
try { |
522 | 537 |
FeatureQuery query = store.createFeatureQuery(); |
523 |
if( !expresion.isPhraseEmpty() ) { |
|
538 |
if( ExpressionUtils.isPhraseEmpty(expresion) ) { |
|
539 |
query.clearFilter(); |
|
540 |
} else { |
|
524 | 541 |
query.setFilter(expresion); |
525 | 542 |
} |
526 | 543 |
setQuery(query); |
Also available in: Unified diff