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

View differences:

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