Revision 44205
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractSymbolTable.java | ||
---|---|---|
238 | 238 |
return other; |
239 | 239 |
} |
240 | 240 |
|
241 |
@Override |
|
242 |
public boolean isSQLCompatible(String name) { |
|
243 |
Function f = function(name); |
|
244 |
if( f!=null ) { |
|
245 |
return f.isSQLCompatible(); |
|
246 |
} |
|
247 |
return true; |
|
248 |
} |
|
249 |
|
|
241 | 250 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/SymbolTable.java | ||
---|---|---|
16 | 16 |
public boolean exists(String name); |
17 | 17 |
|
18 | 18 |
public Object value(String name); |
19 |
|
|
20 |
public boolean isSQLCompatible(String name); |
|
19 | 21 |
|
20 | 22 |
public Collection<String> variables(); |
21 | 23 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultOptimizer.java | ||
---|---|---|
61 | 61 |
} |
62 | 62 |
|
63 | 63 |
@Override |
64 |
public boolean isSQLCompatible(String name) { |
|
65 |
return false; |
|
66 |
} |
|
67 |
|
|
68 |
@Override |
|
64 | 69 |
public Collection<String> variables() { |
65 | 70 |
return Collections.EMPTY_LIST; |
66 | 71 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultJExpressionBuilder.java | ||
---|---|---|
397 | 397 |
label.setIcon(element.getIcon()); |
398 | 398 |
} |
399 | 399 |
label.setText(element.getName()); |
400 |
label.setEnabled(element.isEnabled()); |
|
400 | 401 |
} else { |
401 | 402 |
label.setIcon(null); |
402 | 403 |
label.setText(Objects.toString(value, "")); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/expressionevaluator/DefaultFeatureSymbolTable.java | ||
---|---|---|
10 | 10 |
import org.gvsig.fmap.dal.DataManager; |
11 | 11 |
import org.gvsig.fmap.dal.expressionevaluator.FeatureSymbolTable; |
12 | 12 |
import org.gvsig.fmap.dal.feature.Feature; |
13 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
13 | 14 |
import org.gvsig.fmap.dal.feature.FeatureSelection; |
14 | 15 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
15 | 16 |
import org.gvsig.fmap.dal.feature.FeatureType; |
... | ... | |
144 | 145 |
} |
145 | 146 |
|
146 | 147 |
@Override |
148 |
public boolean isSQLCompatible(String name) { |
|
149 |
if( this.type == null ) { |
|
150 |
return super.isSQLCompatible(name); |
|
151 |
} |
|
152 |
FeatureAttributeDescriptor attrdesc = this.type.getAttributeDescriptor(name); |
|
153 |
if( attrdesc == null ) { |
|
154 |
return true; |
|
155 |
} |
|
156 |
if( attrdesc.isComputed() ) { |
|
157 |
return false; |
|
158 |
} |
|
159 |
return true; |
|
160 |
} |
|
161 |
|
|
162 |
@Override |
|
147 | 163 |
public void setFeature(Feature feature) { |
148 | 164 |
this.feature = feature; |
149 | 165 |
this.type = feature.getType(); |
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 | ||
---|---|---|
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