Revision 44205 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/fmap/dal/swing/impl/expressionevaluator/FeatureAttributeElement.java
FeatureAttributeElement.java | ||
---|---|---|
5 | 5 |
import java.util.List; |
6 | 6 |
import org.apache.commons.lang3.StringUtils; |
7 | 7 |
import org.gvsig.expressionevaluator.Function; |
8 |
import org.gvsig.expressionevaluator.SymbolTable; |
|
8 | 9 |
import org.gvsig.expressionevaluator.swing.Element; |
9 | 10 |
import org.gvsig.expressionevaluator.swing.Element.GroupElement; |
10 | 11 |
import org.gvsig.expressionevaluator.swing.Element.SimpleElement; |
... | ... | |
38 | 39 |
final FeatureStore store; |
39 | 40 |
final FeatureAttributeDescriptor attrdesc; |
40 | 41 |
List<Element> elements; |
41 |
final ExpressionBuilderConfig configPanel;
|
|
42 |
final ExpressionBuilderConfig config; |
|
42 | 43 |
boolean hasMoreElements; |
43 | 44 |
|
44 | 45 |
FeatureAttributeElement(ExpressionBuilderConfig configPanel, FeatureStore store, FeatureAttributeDescriptor attrdesc) { |
45 | 46 |
super(attrdesc.getName(), "expressionbuilder-element-table-field"); |
46 |
this.configPanel = configPanel;
|
|
47 |
this.config = configPanel; |
|
47 | 48 |
this.store = store; |
48 | 49 |
this.attrdesc = attrdesc; |
49 | 50 |
this.elements = null; |
... | ... | |
59 | 60 |
public Element get(int index) { |
60 | 61 |
return this.getElements().get(index); |
61 | 62 |
} |
63 |
|
|
64 |
@Override |
|
65 |
public boolean isEnabled() { |
|
66 |
if( this.config.isSQLCompatible() ) { |
|
67 |
if( this.attrdesc.isComputed() ) { |
|
68 |
return false; |
|
69 |
} |
|
70 |
} |
|
71 |
return true; |
|
72 |
} |
|
62 | 73 |
|
63 | 74 |
@Override |
64 | 75 |
public int size() { |
... | ... | |
92 | 103 |
hasMoreElements = false; |
93 | 104 |
ExpressionEvaluatorSwingManager manager = ExpressionEvaluatorSwingLocator.getManager(); |
94 | 105 |
final List<Object> values = new ArrayList<>(); |
95 |
final int limit = this.configPanel==null? 60 : this.configPanel.getSimpleElementsLimit();
|
|
106 |
final int limit = this.config==null? 60 : this.config.getSimpleElementsLimit();
|
|
96 | 107 |
final long timeLimit = System.currentTimeMillis() + limit*1000; |
97 | 108 |
try { |
98 | 109 |
FeatureSet set = this.store.getFeatureSet(); |
... | ... | |
116 | 127 |
} |
117 | 128 |
this.elements = new ArrayList<>(); |
118 | 129 |
for (Object value : values) { |
119 |
this.elements.add(manager.createConstantElement(this.configPanel, value));
|
|
130 |
this.elements.add(manager.createConstantElement(this.config, value)); |
|
120 | 131 |
} |
121 | 132 |
} |
122 | 133 |
return this.elements; |
Also available in: Unified diff