Revision 46421 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

View differences:

DefaultDataSwingManager.java
38 38
import javax.swing.text.JTextComponent;
39 39
import javax.swing.tree.TreeModel;
40 40
import org.apache.commons.lang3.StringUtils;
41
import org.gvsig.expressionevaluator.ExpressionUtils;
41 42
import org.gvsig.expressionevaluator.swing.Element;
42 43
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
43 44
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
......
98 99
import org.gvsig.tools.exception.BaseException;
99 100
import org.gvsig.fmap.dal.swing.DALActionFactory;
100 101
import org.gvsig.fmap.dal.swing.DALActionFactory.DALActionContext;
102
import org.gvsig.fmap.dal.swing.DALSwingLocator;
101 103
import org.gvsig.fmap.dal.swing.ProjectionPickerController;
102 104
import org.gvsig.fmap.dal.swing.impl.featuretable.SimpleFeaturesTableModelImpl;
103 105
import org.gvsig.fmap.dal.swing.impl.featuretype.FeatureAttributeListCellRendererImpl;
......
199 201
    @Override
200 202
    public void configureExpressionBuilder(ExpressionBuilderConfig builder, FeatureStore store) {
201 203
        DataManager dataManager = DALLocator.getDataManager();
202
        ExpressionEvaluatorSwingManager swingManager = ExpressionEvaluatorSwingLocator.getManager();
203 204
        FeatureSymbolTable featureSymbolTable = dataManager.createFeatureSymbolTable();
204 205

  
205 206
        builder.removeAllElements();
......
223 224
    }
224 225

  
225 226
    @Override
227
    public void resetExpressionBuilder(ExpressionBuilderConfig builder) {
228
        builder.removeAllElements();
229
        builder.setPreviewSymbolTable(ExpressionUtils.createSymbolTable());
230
    }
231

  
232
    @Override
233
    public void addToExpressionBuilder(ExpressionBuilderConfig builder, FeatureStore store, String name) {
234
        // Este metodo permite a?adir mas de un store al builder llamandolo
235
        // con un name distinto para cada store. En el arbol se presentaran todos
236
        // los stores que se configuren en el builder.
237
        // Ojo, que las expresiones creadas por estos builder no son compatible
238
        // con SQL.
239
        DataManager dataManager = DALLocator.getDataManager();
240

  
241
        // Creamos el store-element y lo a?adimos al builder
242
        FeatureStoreElement n = new DefaultFeatureStoreElement2(store, name);
243
        builder.addElement(n);
244

  
245
        // Creamos una tabla de simbolos de ejemplo basada en el store, y la
246
        // a?adimos a la tabla de simbolos de previsualizacion del builder.
247
        FeatureSymbolTable featureSymbolTable = dataManager.createFeatureSymbolTable();
248
        Feature sampleFeature = store.getSampleFeature();
249
        if( sampleFeature!=null ) {
250
            featureSymbolTable.setFeature(sampleFeature);
251
            builder.getPreviewSymbolTable().addSymbolTable(featureSymbolTable);
252
        }
253

  
254
        // forzamos a que al insertar campos de un store se indique siempre 
255
        // en nombre del store. Necesario si hay mas de un store en el builder.
256
        List<Element> elements = builder.getElements();
257
        for (Element item : elements) {
258
            if( item instanceof FeatureStoreElement ) {
259
                ((FeatureStoreElement)item).setUseFullyQualifiedNames(true);
260
            }
261
        }
262
        // Marcamos como no compatible sql las expresiones que vamos a generar.
263
        builder.getPreferences().setSQLCompatible(false);
264
        
265
        // A?adimos los generadores de sugerencias.
266
        builder.addSuggestionFactory(new StorePointFieldSuggestionProviderFactory(store));
267
        builder.addSuggestionFactory(new QuotesForFieldNameSuggestionProviderFactory(store));
268
        builder.addSuggestionFactory(new WrongNameFieldSuggestionProviderFactory(store));
269
        builder.addSuggestionFactory(new CheckTableFieldsSuggestionProviderFactory(store));    
270
    }
271

  
272
    @Override
226 273
    public JExpressionBuilder createQueryFilterExpresion(FeatureStore store) {
227 274
        return this.createJExpressionBuilder(store);
228 275
    }

Also available in: Unified diff