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