Revision 44215

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/fmap/dal/swing/DataSwingManager.java
23 23
package org.gvsig.fmap.dal.swing;
24 24

  
25 25
import java.util.function.Predicate;
26
import javax.swing.ComboBoxModel;
27 26
import javax.swing.JButton;
28 27
import javax.swing.JComboBox;
28
import javax.swing.JList;
29 29
import javax.swing.JTextField;
30 30
import org.cresques.cts.IProjection;
31 31
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
......
80 80
 
81 81
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JComboBox combo);
82 82

  
83
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JList list);
84

  
83 85
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JComboBox combo, Predicate<FeatureAttributeDescriptor> filter);
84 86
    
87
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JList list, Predicate<FeatureAttributeDescriptor> filter);
88

  
85 89
    public FeatureTypePanel createFeatureTypePanel();
86 90
    
87 91
    public FeatureTypeAttributePanel createFeatureTypeAttributePanel();    
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/featuretype/DefaultAttributeDescriptorPickerController.java
1 1
package org.gvsig.fmap.dal.swing.impl.featuretype;
2 2

  
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
3 5
import org.gvsig.fmap.dal.swing.featuretype.AttributeDescriptorPickerController;
4 6
import java.awt.event.ItemEvent;
5 7
import java.awt.event.ItemListener;
......
8 10
import java.util.List;
9 11
import java.util.function.Predicate;
10 12
import javax.swing.DefaultComboBoxModel;
13
import javax.swing.DefaultListModel;
11 14
import javax.swing.JComboBox;
15
import javax.swing.JComponent;
16
import javax.swing.JList;
17
import javax.swing.event.ListSelectionEvent;
18
import javax.swing.event.ListSelectionListener;
12 19
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
13 20
import org.gvsig.fmap.dal.feature.FeatureType;
21
import org.gvsig.tools.swing.api.Component;
14 22
import org.gvsig.tools.swing.api.ListElement;
15 23
import org.gvsig.tools.swing.api.pickercontroller.AbstractPickerController;
16 24

  
......
23 31
        implements AttributeDescriptorPickerController
24 32
    {
25 33

  
26
    private final JComboBox combo;
34
    private static class ComboOrList<T> implements Component {
35

  
36
        private JComboBox combo;
37
        private JList list;
38

  
39
        public ComboOrList(JComboBox combo) {
40
            this.combo = combo;
41
            this.combo.setEditable(false);
42
        }
43
        
44
        public ComboOrList(JList list) {
45
            this.list = list;
46
        }
47
        
48
        @Override
49
        public JComponent asJComponent() {
50
            if( this.combo == null ) {
51
                return this.list;
52
            }
53
            return this.combo;
54
        }
55

  
56
        private void addSelectionListener(final ActionListener listener) {
57
            if( this.combo == null ) {
58
                this.list.addListSelectionListener(new ListSelectionListener() {
59
                    @Override
60
                    public void valueChanged(ListSelectionEvent e) {
61
                        if( e.getValueIsAdjusting() ) {
62
                            return;
63
                        }
64
                        listener.actionPerformed(new ActionEvent(list, 0, "selected"));
65
                    }
66
                });
67
            } else {
68
                this.combo.addItemListener(new ItemListener() {
69
                    @Override
70
                    public void itemStateChanged(ItemEvent e) {
71
                        if( e.getStateChange()==ItemEvent.SELECTED ) {
72
                            listener.actionPerformed(new ActionEvent(combo, 0, "selected"));
73
                        }
74
                    }
75
                });
76
            }
77
        }
78

  
79
        public void clear() {
80
            if( this.combo == null ) {
81
                DefaultListModel model = new DefaultListModel();
82
                this.list.setModel(model);
83
            } else {
84
                DefaultComboBoxModel model = new DefaultComboBoxModel();
85
                this.combo.setModel(model);
86
            }
87
        }
88
        
89
        public void add(String label, T value) {
90
            ListElement<T> element = new ListElement<>(label,value);
91
            if( this.combo == null ) {
92
                DefaultListModel model = (DefaultListModel) this.list.getModel();
93
                model.addElement(element);
94
            } else {
95
                DefaultComboBoxModel model = (DefaultComboBoxModel) this.combo.getModel();
96
                model.addElement(element);
97
            }
98
        }
99

  
100
        public int getSize() {
101
            if( this.combo == null ) {
102
                return this.list.getModel().getSize();
103
            } else {
104
                return this.combo.getModel().getSize();
105
            }
106
        }
107

  
108
        public void setSelectedIndex(int i) {
109
            if( this.combo == null ) {
110
                this.list.setSelectedIndex(i);
111
            } else {
112
                this.combo.setSelectedIndex(i);
113
            }
114
        }
115

  
116
        public void setEnabled(boolean enabled) {
117
            if( this.combo == null ) {
118
                this.list.setEnabled(enabled);
119
            } else {
120
                this.combo.setEnabled(enabled);
121
            }
122
        }
123

  
124
        public boolean isEnabled() {
125
            if( this.combo == null ) {
126
                return this.list.isEnabled();
127
            } else {
128
                return this.combo.isEnabled();
129
            }
130
        }
131
        
132
        public void setSelectedValue(T value) {
133
            if( this.combo == null ) {
134
                ListElement.setSelected(this.list, value);
135
            } else {
136
                ListElement.setSelected(this.combo, value);
137
            }
138
        }
139
        
140
        public T getSelectedValue() {
141
            T value;
142
            if( this.combo == null ) {
143
                value = (T) ListElement.getSelected(this.list);
144
            } else {
145
                value = (T) ListElement.getSelected(this.combo);
146
            }
147
            return value;
148
        }
149
    }
150
    
151
    
152
    private final ComboOrList<FeatureAttributeDescriptor> combo;
27 153
    private FeatureType featureType;
28 154
    private final Predicate<FeatureAttributeDescriptor> filter;
29 155

  
30 156
    public DefaultAttributeDescriptorPickerController(JComboBox combo, Predicate<FeatureAttributeDescriptor> filter) {
157
        this(new ComboOrList(combo), filter);
158
    }
159
    
160
    public DefaultAttributeDescriptorPickerController(JList list, Predicate<FeatureAttributeDescriptor> filter) {
161
        this(new ComboOrList(list), filter);
162
    }
163
    
164
    private DefaultAttributeDescriptorPickerController(ComboOrList combo, Predicate<FeatureAttributeDescriptor> filter) {
31 165
        this.combo = combo; 
32
        this.combo.setEditable(false);
33
        this.combo.addItemListener(new ItemListener() {
166
        this.combo.addSelectionListener(new ActionListener() {
34 167
            @Override
35
            public void itemStateChanged(ItemEvent e) {
168
            public void actionPerformed(ActionEvent e) {
36 169
                fireChangeEvent();
37 170
            }
38 171
        });
39 172
        this.filter = filter;
40 173
    }
41 174
    
175
    @Override
42 176
    public void setFeatureType(FeatureType featureType) {
43 177
        this.featureType = featureType;
178
        this.combo.clear();
179
        if( this.featureType==null ) {
180
            return;
181
        }
44 182
        List<FeatureAttributeDescriptor> attributes = new ArrayList<>();
45 183
        for (FeatureAttributeDescriptor descriptor : featureType) {
46 184
            if( filter==null || filter.test(descriptor) ) {
......
53 191
                return o1.getName().compareToIgnoreCase(o2.getName());
54 192
            }
55 193
        });
56
        DefaultComboBoxModel model = new DefaultComboBoxModel();
57 194
        for (FeatureAttributeDescriptor descriptor : attributes) {
58 195
            String nameDescription = descriptor.getName() + " [" + descriptor.getDataTypeName() + "]";
59
            model.addElement(new ListElement<>(nameDescription, descriptor));
196
            this.combo.add(nameDescription, descriptor);
60 197
        }
61
        this.combo.setModel(model);
62
        if( this.combo.getModel().getSize()>0 ) {
198
        if( this.combo.getSize()>0 ) {
63 199
            this.combo.setSelectedIndex(0);
64 200
        } else {
65 201
            this.combo.setSelectedIndex(-1);
......
68 204
    
69 205
    @Override
70 206
    public FeatureAttributeDescriptor get() {
71
        FeatureAttributeDescriptor descriptor = (FeatureAttributeDescriptor) ListElement.getSelected(this.combo);
207
        FeatureAttributeDescriptor descriptor = this.combo.getSelectedValue();
72 208
        return descriptor;
73 209
    }
74 210

  
75 211
    @Override
76 212
    public void set(FeatureAttributeDescriptor descriptor) {
77
        ListElement.setSelected(this.combo, descriptor);
213
        this.combo.setSelectedValue(descriptor);
78 214
    }
79 215

  
80 216
    @Override
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/DefaultDataSwingManager.java
25 25
import java.util.function.Predicate;
26 26
import javax.swing.JButton;
27 27
import javax.swing.JComboBox;
28
import javax.swing.JList;
28 29
import javax.swing.JTextField;
29 30
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
30 31
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
......
202 203
    }
203 204

  
204 205
    @Override
206
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JList list) {
207
        AttributeDescriptorPickerController controller = new DefaultAttributeDescriptorPickerController(list, null);
208
        return controller;
209
    }
210

  
211
    @Override
205 212
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JComboBox combo, Predicate<FeatureAttributeDescriptor> filter) {
206 213
        AttributeDescriptorPickerController controller = new DefaultAttributeDescriptorPickerController(combo, filter);
207 214
        return controller;
208 215
    }
209 216

  
210 217
    @Override
218
    public AttributeDescriptorPickerController createAttributeDescriptorPickerController(JList list, Predicate<FeatureAttributeDescriptor> filter) {
219
        AttributeDescriptorPickerController controller = new DefaultAttributeDescriptorPickerController(list, filter);
220
        return controller;
221
    }
222

  
223
    @Override
211 224
    public FeatureTypePanel createFeatureTypePanel() {
212 225
        FeatureTypePanel panel = new DefaultFeatureTypePanel();
213 226
        return panel;
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/DefaultFeatureStoreElement.java
82 82

  
83 83
    @Override
84 84
    public List<Element> getElements() {
85
        if( this.elements == null ) {
86
            return Collections.EMPTY_LIST;
87
        }
85 88
        return Collections.unmodifiableList(this.elements);
86 89
    }
87 90

  
......
98 101
    @Override
99 102
    public void setFeatureStore(FeatureStore store) {
100 103
          if (store==null) {
101
              this.elements = new ArrayList<>();
104
              this.elements = Collections.EMPTY_LIST;
102 105
              return;
103 106
          }
104 107
          try {
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/Expression.java
16 16
public interface Expression extends Persistent, Cloneable {
17 17
    public void clear();
18 18
    
19
    /**
20
     * This symbol table don't persist with the expression.
21
     * 
22
     * @return the symbol table of the expression
23
     */
24
    public SymbolTable getSymbolTable();
25
    
19 26
    public String getPhrase();
20 27
    
21 28
    public Script getUserScript(); 
......
53 60
    public void setSQLCompatible(boolean sqlCompatible);
54 61
    
55 62
    public boolean isSQLCompatible();
63

  
64
    public void setUseBracketsForIdentifiers(boolean useBracketsForIdentifiers);
65
    
66
    public boolean getUseBracketsForIdentifiers();
56 67
}
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
87 87
    }
88 88
    
89 89
    @Override
90
    public void addSymbolTable(SymbolTable symbolTable) {
90
    public boolean addSymbolTable(SymbolTable symbolTable) {
91 91
        if (this.symbolTables.contains(symbolTable)) {
92
            return;
92
            return false;
93 93
        }
94 94
        this.symbolTables.add(symbolTable);
95
        return true;
95 96
    }
96 97

  
98
    @Override
99
    public boolean containsSymbolTable(SymbolTable symbolTable) {
100
        return this.symbolTables.contains(symbolTable);
101
    }
102
    
103
    @Override
104
    public boolean removeSymbolTable(SymbolTable symbolTable) {
105
        boolean n = this.symbolTables.remove(symbolTable);
106
        return n;
107
    }
108
    
97 109
    protected Map<String, Object> getVars() {
98 110
        if (this.vars == null) {
99 111
            this.vars = new HashMap<>();
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
9 9

  
10 10
    public String getName();
11 11
    
12
    public void addSymbolTable(SymbolTable symbolTable);
12
    public boolean addSymbolTable(SymbolTable symbolTable);
13 13

  
14
    public boolean removeSymbolTable(SymbolTable symbolTable);
15

  
16
    public boolean containsSymbolTable(SymbolTable symbolTable);
17

  
14 18
    public Function function(String name);
15 19

  
16 20
    public boolean exists(String name);
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/ExpressionUtils.java
1 1
package org.gvsig.expressionevaluator;
2 2

  
3
import org.apache.commons.lang3.StringUtils;
3 4
import org.gvsig.expressionevaluator.ExpressionBuilder.Value;
4 5
import org.gvsig.tools.script.Script;
5 6

  
......
51 52
    }
52 53

  
53 54
    public static Expression createExpression(String phrase) {
55
        if( StringUtils.isBlank(phrase) ) {
56
            return null;
57
        }
54 58
        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
55 59
        expression.setPhrase(phrase);
56 60
        return expression;
......
82 86
    }
83 87

  
84 88
    public static Code compile(String expression) {
89
        if( StringUtils.isBlank(expression) ) {
90
            return null;
91
        }
85 92
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
86 93
        Code code = manager.compile(expression);
87 94
        return code;
88 95
    }
89 96

  
90 97
    public static Object evaluate(SymbolTable symbolTable, String expression) {
98
        if( StringUtils.isBlank(expression) ) {
99
            return null;
100
        }
91 101
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
92 102
        Object x = manager.evaluate(symbolTable, expression);
93 103
        return x;
......
139 149
        return code.toString(Code.EMPTY_FORMATTER);
140 150
    }
141 151

  
152
    public static Expression createExpressionFromJSON(String json) {
153
        Expression expression = ExpressionUtils.createExpression();
154
        expression.fromJSON(json);
155
        return expression;
156
    }
157

  
158
    public static MutableSymbolTable createSymbolTable() {
159
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
160
        MutableSymbolTable symbolTable = manager.createSymbolTable();
161
        return symbolTable;
162
    }
163

  
142 164
}
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/DefaultExpression.java
6 6
import java.util.List;
7 7
import org.apache.commons.lang3.StringUtils;
8 8
import org.gvsig.expressionevaluator.Code;
9
import org.gvsig.expressionevaluator.Compiler;
9 10
import org.gvsig.expressionevaluator.Expression;
10 11
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
11 12
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
13
import org.gvsig.expressionevaluator.ExpressionUtils;
12 14
import org.gvsig.expressionevaluator.Interpreter;
13 15
import org.gvsig.expressionevaluator.Optimizer;
14 16
import org.gvsig.expressionevaluator.SymbolTable;
......
38 40
    private Code code = null;
39 41
    private Interpreter interpreter;
40 42
    private boolean hasNotBeenOptimized = true;
43
    private SymbolTable mySymbolTable = null;
44
    private boolean useBracketsForIdentifiers = false;
41 45

  
42 46
    public DefaultExpression() {
43 47

  
44 48
    }
49
    
50
    @Override
51
    public SymbolTable getSymbolTable() {
52
        if( this.mySymbolTable==null ) {
53
            this.mySymbolTable = ExpressionUtils.createSymbolTable();
54
        }
55
        return this.mySymbolTable;
56
    }
45 57

  
46 58
    @Override
47 59
    public String getPhrase() {
......
147 159
    public Code getCode() {
148 160
        if (this.code == null) {
149 161
            ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
150
            this.code = manager.compile(this.phrase);
162
            Compiler compiler = manager.createCompiler();
163
            compiler.getLexicalAnalyzer().setUseBracketsForIdentifiers(
164
                    this.useBracketsForIdentifiers
165
            );
166
            this.code = compiler.compileExpression(this.phrase);
151 167
        }
152 168
        return code;
153 169
    }
......
176 192
            ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
177 193
            this.interpreter = manager.createInterpreter();
178 194
        }
179
        this.interpreter.setSymbolTable(symbolTable);
180
        if( this.hasNotBeenOptimized  ) {
181
            Optimizer optimizer = new DefaultOptimizer(symbolTable);
182
            this.code = optimizer.optimize(this.getCode());
183
            this.hasNotBeenOptimized = false;
195
        boolean added = this.getSymbolTable().addSymbolTable(symbolTable);
196
        try {
197
            this.interpreter.setSymbolTable(this.mySymbolTable);
198
            if( this.hasNotBeenOptimized  ) {
199
                Optimizer optimizer = new DefaultOptimizer(symbolTable);
200
                this.code = optimizer.optimize(this.getCode());
201
                this.hasNotBeenOptimized = false;
202
            }
203
            Object x = this.interpreter.run(this.getCode());
204

  
205
            return x;
206
        } finally {
207
            if( added ) {
208
                this.getSymbolTable().removeSymbolTable(symbolTable);
209
            }
184 210
        }
185
        Object x = this.interpreter.run(this.getCode());
186
        return x;
187 211
    }
188 212

  
189 213
    @Override
......
341 365
        return other;
342 366
    }
343 367

  
368
    @Override
369
    public void setUseBracketsForIdentifiers(boolean useBracketsForIdentifiers) {
370
        this.useBracketsForIdentifiers = useBracketsForIdentifiers;
371
    }
372
    
373
    @Override
374
    public boolean getUseBracketsForIdentifiers() {
375
        return this.useBracketsForIdentifiers;
376
    }
377
    
344 378
}
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
41 41
        }
42 42

  
43 43
        @Override
44
        public void addSymbolTable(SymbolTable symbolTable) {
44
        public boolean addSymbolTable(SymbolTable symbolTable) {
45 45
            throw new UnsupportedOperationException("Not supported yet.");
46 46
        }
47 47

  
48 48
        @Override
49
        public boolean containsSymbolTable(SymbolTable symbolTable) {
50
            throw new UnsupportedOperationException("Not supported yet.");
51
        }
52

  
53
        @Override
54
        public boolean removeSymbolTable(SymbolTable symbolTable) {
55
            throw new UnsupportedOperationException("Not supported yet.");
56
        }
57

  
58
        @Override
49 59
        public Function function(String name) {
50 60
            return this.symbolTable.function(name);
51 61
        }
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
4 4
import java.util.Collections;
5 5
import java.util.HashMap;
6 6
import java.util.List;
7
import java.util.Map;
7 8
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
8 9
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
9 10
import org.gvsig.expressionevaluator.SymbolTable;
......
12 13
import org.gvsig.expressionevaluator.swing.ElementFactory;
13 14
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
14 15
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
16
import org.gvsig.tools.util.PropertiesSupportHelper;
15 17

  
16 18
/**
17 19
 *
......
27 29
    private boolean scriptsEnabled = true;
28 30
    private SymbolTable previewSymbolTable;
29 31
    private boolean SQLCompatible;
30

  
32
    private PropertiesSupportHelper propertiesSupportHelper;
33
    
31 34
    public DefaultExpressionBuilderConfig(ExpressionEvaluatorSwingManager manager) {
32 35
        this.manager = manager;
33 36
        this.limit = 6;
34 37
        this.SQLCompatible = false;
38
        this.propertiesSupportHelper = new PropertiesSupportHelper();
35 39
        initSymbolTables();
36 40
    }
37 41

  
......
150 154
    public boolean isSQLCompatible() {
151 155
        return SQLCompatible;
152 156
    }
157

  
158
    @Override
159
    public Object getProperty(String string) {
160
        return this.propertiesSupportHelper.getProperty(string);
161
    }
162

  
163
    @Override
164
    public void setProperty(String string, Object o) {
165
        this.propertiesSupportHelper.setProperty(string, o);
166
    }
167

  
168
    @Override
169
    public Map<String, Object> getProperties() {
170
        return this.propertiesSupportHelper.getProperties();
171
    }
153 172
    
154 173
}
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
18 18
import java.util.HashSet;
19 19
import java.util.List;
20 20
import java.util.Locale;
21
import java.util.Map;
21 22
import java.util.Objects;
22 23
import javax.swing.DefaultListCellRenderer;
23 24
import javax.swing.ImageIcon;
......
857 858
    public boolean isSQLCompatible() {
858 859
        return this.config.isSQLCompatible();
859 860
    }
861

  
862
    @Override
863
    public Object getProperty(String string) {
864
        return this.config.getProperty(string);
865
    }
866

  
867
    @Override
868
    public void setProperty(String string, Object o) {
869
        this.config.setProperty(string, o);
870
    }
871

  
872
    @Override
873
    public Map<String, Object> getProperties() {
874
        return this.config.getProperties();
875
    }
860 876
    
861 877
    @Override
862 878
    public JComponent asJComponent() {
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/DefaultExpressionPickerController.java
5 5
import java.net.URL;
6 6
import java.util.Collection;
7 7
import java.util.List;
8
import java.util.Map;
8 9
import javax.swing.ImageIcon;
9 10
import javax.swing.JButton;
10 11
import javax.swing.JMenuItem;
......
253 254
        return this.config.isSQLCompatible();
254 255
    }
255 256

  
257
    @Override
258
    public Object getProperty(String string) {
259
        return this.config.getProperty(string);
260
    }
261

  
262
    @Override
263
    public void setProperty(String string, Object o) {
264
        this.config.setProperty(string, o);
265
    }
266

  
267
    @Override
268
    public Map<String, Object> getProperties() {
269
        return this.config.getProperties();
270
    }
256 271
}
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/DefaultJExpressionPicker.java
3 3
import java.awt.BorderLayout;
4 4
import java.util.Collection;
5 5
import java.util.List;
6
import java.util.Map;
6 7
import javax.swing.JButton;
7 8
import javax.swing.JComponent;
8 9
import javax.swing.JPanel;
......
136 137
    public boolean isSQLCompatible() {
137 138
        return this.controller.isSQLCompatible();
138 139
    }
140

  
141
    @Override
142
    public Object getProperty(String string) {
143
        return this.controller.getProperty(string);
144
    }
145

  
146
    @Override
147
    public void setProperty(String string, Object o) {
148
        this.controller.setProperty(string, o);
149
    }
150

  
151
    @Override
152
    public Map<String, Object> getProperties() {
153
        return this.controller.getProperties();
154
    }
139 155
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.api/src/main/java/org/gvsig/expressionevaluator/swing/ExpressionBuilderConfig.java
3 3
import java.util.Collection;
4 4
import java.util.List;
5 5
import org.gvsig.expressionevaluator.SymbolTable;
6
import org.gvsig.tools.util.PropertiesSupport;
6 7

  
7 8
/**
8 9
 *
9 10
 * @author jjdelcerro
10 11
 */
11
public interface ExpressionBuilderConfig {
12
public interface ExpressionBuilderConfig extends PropertiesSupport {
12 13

  
13 14
    public List<Element> getElements();
14 15

  

Also available in: Unified diff