Revision 40955

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/app/extension/TableOperations.java
34 34
import org.gvsig.andami.messages.NotificationManager;
35 35
import org.gvsig.andami.plugins.Extension;
36 36
import org.gvsig.andami.ui.mdiManager.IWindow;
37
import org.gvsig.app.ApplicationLocator;
37 38
import org.gvsig.app.gui.filter.ExpressionListener;
38 39
import org.gvsig.app.project.Project;
39 40
import org.gvsig.app.project.ProjectManager;
......
53 54
import org.gvsig.fmap.dal.feature.FeatureSelection;
54 55
import org.gvsig.fmap.dal.feature.FeatureSet;
55 56
import org.gvsig.fmap.dal.feature.FeatureStore;
57
import org.gvsig.i18n.Messages;
56 58
import org.gvsig.tools.dispose.DisposableIterator;
57 59
import org.gvsig.tools.dispose.DisposeUtils;
58 60
import org.gvsig.utils.swing.objectSelection.SelectionException;
......
220 222
                newSel.select(set);
221 223
                featureStore.setSelection(newSel);
222 224
            } catch (Exception e) {
225
                
223 226
                JOptionPane.showMessageDialog(
224
                    (Component) PluginServices.getMainFrame(),
225
                    "Asegurate de que la consulta es correcta.");
227
                    ApplicationLocator.getManager().getRootComponent(),
228
                    Messages.getText("_Invalid_expression") + ":\n"
229
                        + FiltroExtension.getLastMessage(e),
230
                    Messages.getText("_Invalid_expression"),
231
                    JOptionPane.ERROR_MESSAGE);
232
                
233
                
226 234
            } finally {
227 235
                if (set != null) {
228 236
                    set.dispose();
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/app/extension/FiltroExtension.java
32 32
import org.gvsig.andami.messages.NotificationManager;
33 33
import org.gvsig.andami.plugins.Extension;
34 34
import org.gvsig.andami.ui.mdiManager.IWindow;
35
import org.gvsig.app.ApplicationLocator;
35 36
import org.gvsig.app.gui.filter.ExpressionListener;
36 37
import org.gvsig.app.gui.filter.FilterDialog;
37 38
import org.gvsig.app.project.documents.table.gui.FeatureTableDocumentPanel;
......
41 42
import org.gvsig.fmap.dal.feature.FeatureQuery;
42 43
import org.gvsig.fmap.dal.feature.FeatureSet;
43 44
import org.gvsig.fmap.dal.feature.FeatureStore;
45
import org.gvsig.i18n.Messages;
44 46
import org.gvsig.utils.exceptionHandling.ExceptionListener;
45 47

  
46 48
/**
......
113 115
                featureStore.setSelection(set);
114 116

  
115 117
            } catch (Exception e) {
118
                
116 119
                JOptionPane.showMessageDialog(
117
                    (Component) PluginServices.getMainFrame(),
118
                    "Asegurate de que la consulta es correcta.");
120
                    ApplicationLocator.getManager().getRootComponent(),
121
                    Messages.getText("_Invalid_expression") + ":\n"
122
                        + getLastMessage(e),
123
                    Messages.getText("_Invalid_expression"),
124
                    JOptionPane.ERROR_MESSAGE);
125
                
119 126
            } finally {
120 127
                if (set != null) {
121 128
                    set.dispose();
......
218 225
            return false;
219 226
        }
220 227
    }
228
    
229
    
230
    /**
231
     * @param ex
232
     * @return
233
     */
234
    public static String getLastMessage(Throwable ex) {
235
        
236
        Throwable p = ex;
237
        while (p.getCause() != null && p.getCause() != p) {
238
            p = p.getCause();
239
        }
240
        return p.getMessage();
241
    }    
221 242
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/app/project/documents/table/TableOperations.java
408 408

  
409 409
    }
410 410
    
411
    /**
412
     * @param ex
413
     * @return
414
     */
415
    private static String getLastMessage(Throwable ex) {
416
        
417
        Throwable p = ex;
418
        while (p.getCause() != null && p.getCause() != p) {
419
            p = p.getCause();
420
        }
421
        return p.getMessage();
422
    }
423 411

  
412

  
424 413
    /**
425 414
     * Renames field in feature store
426 415
     * 
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/resources-plugin/i18n/text.properties
44 44
_Find_and_select_duplicates=Detectar y seleccionar duplicados
45 45
_No_repetitions_found=No se han encontrado repeticiones
46 46
_Found_N_diff_repeated_vals_in_total_N_cases=Se han encontrado {0} valores diferentes repetidos en un total de {1} casos.
47
_Invalid_expression=Expresi?n no v?lida
47 48

  
48 49

  
49 50

  
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
44 44
_Find_and_select_duplicates=Find and select duplicates
45 45
_No_repetitions_found=No repetitions found
46 46
_Found_N_diff_repeated_vals_in_total_N_cases=Found {0} different repeated values in {1} cases in total.
47
_Invalid_expression=Invalid expression
47 48

  
48 49

  
49 50

  
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/FiltroExtension.java
33 33
import org.gvsig.andami.messages.NotificationManager;
34 34
import org.gvsig.andami.plugins.Extension;
35 35
import org.gvsig.andami.ui.mdiManager.IWindow;
36
import org.gvsig.app.ApplicationLocator;
36 37
import org.gvsig.app.gui.filter.ExpressionListener;
37 38
import org.gvsig.app.gui.filter.FilterDialog;
38 39
import org.gvsig.app.project.documents.AbstractDocument;
......
47 48
import org.gvsig.fmap.dal.feature.FeatureStore;
48 49
import org.gvsig.fmap.mapcontext.layers.FLayer;
49 50
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
51
import org.gvsig.i18n.Messages;
50 52
import org.gvsig.utils.exceptionHandling.ExceptionListener;
51 53

  
52 54
/**
......
193 195
                featureStore.setSelection(set);
194 196

  
195 197
            } catch (Exception e) {
196
                JOptionPane.showMessageDialog((Component) PluginServices
197
                    .getMainFrame(),
198
                    "Asegurate de que la consulta es correcta.");
198
                
199
                JOptionPane.showMessageDialog(
200
                    ApplicationLocator.getManager().getRootComponent(),
201
                    Messages.getText("expresion_error") + ":\n"
202
                        + getLastMessage(e),
203
                    Messages.getText("expresion_error"),
204
                    JOptionPane.ERROR_MESSAGE);
199 205
            } finally {
200 206
                if (set != null) {
201 207
                    set.dispose();
......
372 378
            return false;
373 379
        }
374 380
    }
375
}
381
    
382
    private String getLastMessage(Throwable ex) {
383
        
384
        Throwable p = ex;
385
        while (p.getCause() != null && p.getCause() != p) {
386
            p = p.getCause();
387
        }
388
        return p.getMessage();
389
    }}

Also available in: Unified diff