Revision 42200 trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/Launcher.java

View differences:

Launcher.java
89 89
import javax.swing.SwingUtilities;
90 90
import javax.swing.UIManager;
91 91

  
92
import com.jgoodies.looks.windows.WindowsLookAndFeel;
93

  
92 94
import org.apache.commons.cli.CommandLine;
93 95
import org.apache.commons.cli.CommandLineParser;
94 96
import org.apache.commons.cli.Options;
......
107 109
import org.apache.log4j.spi.ThrowableInformation;
108 110
import org.exolab.castor.xml.MarshalException;
109 111
import org.exolab.castor.xml.ValidationException;
112

  
110 113
import org.gvsig.andami.actioninfo.ActionInfo;
111 114
import org.gvsig.andami.actioninfo.ActionInfoManager;
112 115
import org.gvsig.andami.config.generate.Andami;
113 116
import org.gvsig.andami.config.generate.AndamiConfig;
114 117
import org.gvsig.andami.config.generate.Plugin;
118
import org.gvsig.andami.impl.UnsavedDataException;
115 119
import org.gvsig.andami.messages.Messages;
116 120
import org.gvsig.andami.messages.NotificationManager;
117 121
import org.gvsig.andami.persistence.serverData.ServerDataPersistence;
......
150 154
import org.gvsig.andami.ui.splash.MultiSplashWindow;
151 155
import org.gvsig.andami.ui.theme.Theme;
152 156
import org.gvsig.andami.ui.wizard.UnsavedDataPanel;
157
import org.gvsig.andami.ui.wizard.UnsavedDataPanel.UnsavedDataPanelListener;
153 158
import org.gvsig.installer.lib.api.Dependencies;
154 159
import org.gvsig.installer.lib.api.Dependency;
155 160
import org.gvsig.installer.lib.api.InstallerLocator;
......
164 169
import org.gvsig.tools.exception.ListBaseException;
165 170
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
166 171
import org.gvsig.tools.swing.api.ToolsSwingLocator;
172
import org.gvsig.tools.swing.api.windowmanager.WindowManager.MODE;
167 173
import org.gvsig.tools.swing.icontheme.IconTheme;
168 174
import org.gvsig.tools.swing.icontheme.IconThemeManager;
169 175
import org.gvsig.tools.util.FolderSet;
......
173 179
import org.gvsig.utils.XMLEntity;
174 180
import org.gvsig.utils.xml.XMLEncodingUtils;
175 181
import org.gvsig.utils.xmlEntity.generate.XmlTag;
182

  
176 183
import org.slf4j.Logger;
177 184
import org.slf4j.LoggerFactory;
178 185

  
......
2995 3002
        }
2996 3003
        localeStr = normalizeLanguageCode(localeStr);
2997 3004
        locale = getLocale(
2998
                localeStr, 
3005
                localeStr,
2999 3006
                andamiConfig.getLocaleCountry(),
3000 3007
                andamiConfig.getLocaleVariant()
3001 3008
        );
......
3186 3193
		}
3187 3194
	}
3188 3195

  
3196
	public static void manageUnsavedData(String prompt) throws Exception {
3197
	    final UnsavedDataPanel panel = new UnsavedDataPanel(prompt);
3198
	    final List <IUnsavedData> unsavedData = PluginsLocator.getManager().getUnsavedData();
3199
        panel.setUnsavedData(unsavedData);
3200

  
3201
        panel.addActionListener(panel.new UnsavedDataPanelListener() {
3202

  
3203
            public void cancel(UnsavedDataPanel panel) {
3204
                panel.setVisible(false);
3205
            }
3206

  
3207
            public void discard(UnsavedDataPanel panel) {
3208
                panel.setVisible(false);
3209
            }
3210

  
3211
            public void accept(UnsavedDataPanel panel) {
3212
                panel.setVisible(false);
3213

  
3214
                try {
3215
                    PluginsLocator.getManager().saveUnsavedData(panel.getSelectedsUnsavedDataList());
3216
                } catch (UnsavedDataException e) {
3217
                    StringBuilder msg = new StringBuilder();
3218
                    msg.append(PluginServices.getText(this,"The_following_resources_could_not_be_saved"));
3219
                    msg.append("\n");
3220
                    for (Iterator iterator = e.getUnsavedData().iterator(); iterator.hasNext();) {
3221
                        IUnsavedData unsavedData = (IUnsavedData) iterator.next();
3222
                        msg.append(unsavedData.getResourceName());
3223
                        msg.append(" -- ");
3224
                        msg.append(unsavedData.getDescription());
3225
                        msg.append("\n");
3226
                    }
3227
                    JOptionPane.showMessageDialog(panel,msg,PluginServices.getText(this,"Resources_was_not_saved"),JOptionPane.ERROR_MESSAGE);
3228
                 }
3229
            }
3230
        });
3231

  
3232
        //TODO: mostrar panel WindowManager
3233

  
3234
        ToolsSwingLocator.getWindowManager().showWindow(
3235
            panel,
3236
            PluginServices.getText(panel, "Resource_was_not_saved"),
3237
            MODE.DIALOG);
3238

  
3239
	}
3240

  
3189 3241
	/**
3190 3242
	 * Manages Andami termination process
3191 3243
	 *
......
3206 3258
				}
3207 3259
				closeAndami();
3208 3260
			} catch (Exception e) {
3261
			    logger.warn("It is not possible to close the application", e);
3209 3262
				// It is not possible to close the application.
3210 3263
				// this exception has been registered before
3211 3264
			}
......
3365 3418
			return panel;
3366 3419
		}
3367 3420

  
3368
		/**
3421
         /**
3369 3422
		 * Checks if the extensions have some unsaved data, and shows a dialog
3370 3423
		 * to allow saving it. This dialog also allows to don't exit Andami.
3371 3424
		 *
......
3430 3483
													+ unsavedDataArray[i]
3431 3484
															.getDescription(),
3432 3485
											PluginServices.getText(this,
3433
													"Resource_was_not_saved"),
3486
													"unsaved_resources"),
3434 3487
											JOptionPane.ERROR_MESSAGE);
3435 3488

  
3436 3489
							try {
......
3576 3629
        initializeApp(myArgs, "installer");
3577 3630

  
3578 3631
        new DefaultLibrariesInitializer().fullInitialize(true);
3579
        
3632

  
3580 3633
        initializeInstallerManager();
3581 3634

  
3582 3635
        InstallerManager installerManager = InstallerLocator.getInstallerManager();
......
3590 3643

  
3591 3644
        try {
3592 3645
            logger.info("Loading plugins");
3593
            this.loadPluginServices();            
3646
            this.loadPluginServices();
3594 3647
        } catch (Throwable ex) {
3595 3648
            logger.warn("Can't load plugins", ex);
3596 3649
        }
......
3598 3651
        AndamiConfig config = getAndamiConfig();
3599 3652

  
3600 3653
        initializeIdentityManagement(new File(config.getPluginsDirectory()).getAbsoluteFile());
3601
        
3654

  
3602 3655
        initializeLibraries();
3603 3656

  
3604 3657
//        config.setLocaleLanguage(locale.getLanguage());

Also available in: Unified diff