Revision 47622 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/updatetable/UpdateTableExtension.java

View differences:

UpdateTableExtension.java
7 7
import javax.swing.JComponent;
8 8
import javax.swing.JOptionPane;
9 9
import org.gvsig.andami.plugins.Extension;
10
import org.gvsig.expressionevaluator.I18N;
11
import org.gvsig.fmap.dal.feature.FeatureStore;
12
import org.gvsig.tools.ToolsLocator;
10 13
import org.gvsig.tools.dispose.DisposeUtils;
14
import org.gvsig.tools.i18n.I18nManager;
11 15
import org.gvsig.tools.swing.api.ToolsSwingLocator;
16
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager;
12 17
import org.gvsig.tools.swing.api.windowmanager.Dialog;
13 18
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
14 19
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
......
26 31
    @Override
27 32
    public void execute(String actionCommand) {
28 33
        if( "tools-updatetable".equalsIgnoreCase(actionCommand) ) {
34
            I18nManager i18n = ToolsLocator.getI18nManager();
29 35
            WindowManager_v2 windowManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
30 36
            UpdateTablePanelImpl panel = new UpdateTablePanelImpl();
31 37
            Dialog dialog = windowManager.createDialog(
......
46 52
                            UpdateTableProcess process = UpdateTableProcess.createProcess();
47 53
                            UpdateTableProcessParameters params = process.createParameters();
48 54
                            panel.fetch(params);
55
                            if( params.getStore() instanceof FeatureStore && 
56
                                    params.getStore().getMode() != FeatureStore.MODE_QUERY ) {
57
                                    ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager();
58
                                    int n = dialogs.confirmDialog(
59
                                            i18n.getTranslation("_The_data_source_is_currently_being_edited") 
60
                                            + "\n"
61
                                            + i18n.getTranslation("_If_you_run_this_process_and_any_problem_occurs_the_data_that_has_not_yet_been_saved_will_be_lost") 
62
                                            + "\n"
63
                                            + i18n.getTranslation("_Do_you_want_to_continue_executing_the_table_update_process"),
64
                                            "Actualizar tabla", 
65
                                            JOptionPane.YES_NO_OPTION, 
66
                                            JOptionPane.QUESTION_MESSAGE, 
67
                                            "_Execute_the_table_update_process_even_when_the_data_source_is_being_edited"
68
                                    );
69
                                    if( n != JOptionPane.YES_OPTION ) {
70
                                        dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK, true);
71
                                        return;
72
                                    }
73
                            }
49 74
                            if( UpdateTablePanelImpl.confirmUpdateTableParameters(params) != JOptionPane.YES_OPTION ) {
50 75
                                dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK, true);
51 76
                                return;
......
57 82
                                    panel.postProcess(); 
58 83
                                    DisposeUtils.dispose(params);
59 84
                                    dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK, true);
60
                                });                            
85
                                });      
61 86
                            process.start();
62 87
                            
63 88
                            break;

Also available in: Unified diff