Revision 47173 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/DefaultExpressionBuilderConfig.java
DefaultExpressionBuilderConfig.java | ||
---|---|---|
6 | 6 |
import java.util.HashMap; |
7 | 7 |
import java.util.List; |
8 | 8 |
import java.util.Map; |
9 |
import java.util.logging.Level; |
|
10 | 9 |
import org.apache.commons.lang3.StringUtils; |
11 | 10 |
import org.gvsig.expressionevaluator.Expression; |
12 | 11 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
... | ... | |
22 | 21 |
import org.gvsig.tools.dataTypes.DataType; |
23 | 22 |
import org.gvsig.tools.dispose.Disposable; |
24 | 23 |
import org.gvsig.tools.dispose.DisposeUtils; |
25 |
import org.gvsig.tools.lang.Cloneable; |
|
26 | 24 |
import org.gvsig.tools.util.Factory; |
27 | 25 |
import org.gvsig.tools.util.PropertiesSupportHelper; |
28 | 26 |
import org.slf4j.Logger; |
... | ... | |
135 | 133 |
} |
136 | 134 |
|
137 | 135 |
@Override |
138 |
public List<Element> getElements() { |
|
136 |
public synchronized List<Element> getElements() {
|
|
139 | 137 |
if (this.elements == null || this.elements.isEmpty() ) { |
140 | 138 |
this.elements = manager.createElements(this.getSymbolTables(), (Function f) -> { |
141 | 139 |
if( f.group().equalsIgnoreCase(Function.GROUP_AGGREGATE) && |
... | ... | |
165 | 163 |
} |
166 | 164 |
|
167 | 165 |
@Override |
168 |
public void addElement(Element element) { |
|
166 |
public synchronized void addElement(Element element) {
|
|
169 | 167 |
if( element==null ) { |
170 | 168 |
return; |
171 | 169 |
} |
... | ... | |
202 | 200 |
} |
203 | 201 |
|
204 | 202 |
@Override |
205 |
public void addSymbolTable(SymbolTable symbolTable) { |
|
203 |
public synchronized void addSymbolTable(SymbolTable symbolTable) {
|
|
206 | 204 |
if (symbolTable == null) { |
207 | 205 |
return; |
208 | 206 |
} |
... | ... | |
228 | 226 |
} |
229 | 227 |
|
230 | 228 |
@Override |
231 |
public void removeAllElements() { |
|
229 |
public synchronized void removeAllElements() {
|
|
232 | 230 |
if( this.elements!=null ) { |
233 | 231 |
for (Element element : this.elements) { |
234 | 232 |
DisposeUtils.disposeQuietly(element); |
... | ... | |
238 | 236 |
} |
239 | 237 |
|
240 | 238 |
@Override |
241 |
public void removeAddedElements() { |
|
239 |
public synchronized void removeAddedElements() {
|
|
242 | 240 |
if( this.addElements !=null ) { |
243 | 241 |
for (Element element : this.addElements) { |
244 | 242 |
DisposeUtils.disposeQuietly(element); |
... | ... | |
354 | 352 |
} |
355 | 353 |
|
356 | 354 |
@Override |
357 |
public String getSuggestion(Expression expression) { |
|
355 |
public synchronized String getSuggestion(Expression expression) {
|
|
358 | 356 |
if( expression == null ) { |
359 | 357 |
return null; |
360 | 358 |
} |
... | ... | |
384 | 382 |
} |
385 | 383 |
|
386 | 384 |
@Override |
387 |
public void addSuggestionFactory(Factory factory) { |
|
385 |
public synchronized void addSuggestionFactory(Factory factory) {
|
|
388 | 386 |
if( factory == null ) { |
389 | 387 |
return; |
390 | 388 |
} |
... | ... | |
392 | 390 |
} |
393 | 391 |
|
394 | 392 |
@Override |
395 |
public void dispose() { |
|
393 |
public synchronized void dispose() {
|
|
396 | 394 |
this.removeAllElements(); |
397 | 395 |
this.removeAllSymbolTables(); |
398 | 396 |
if( this.addElements!=null ) { |
... | ... | |
418 | 416 |
} |
419 | 417 |
|
420 | 418 |
@Override |
421 |
public Object clone() throws CloneNotSupportedException { |
|
419 |
public synchronized Object clone() throws CloneNotSupportedException {
|
|
422 | 420 |
DefaultExpressionBuilderConfig other = (DefaultExpressionBuilderConfig) super.clone(); |
423 | 421 |
|
424 | 422 |
other.symbolTables = new HashMap<>(); |
Also available in: Unified diff