Revision 42200 trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/Launcher.java
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