Revision 41078 trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/Launcher.java
Launcher.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import java.awt.BorderLayout; |
27 | 27 |
import java.awt.Component; |
28 |
import java.awt.Cursor; |
|
28 | 29 |
import java.awt.Dimension; |
29 | 30 |
import java.awt.EventQueue; |
30 | 31 |
import java.awt.Frame; |
... | ... | |
48 | 49 |
import java.io.OutputStreamWriter; |
49 | 50 |
import java.io.Reader; |
50 | 51 |
import java.io.StringWriter; |
52 |
import java.lang.reflect.InvocationTargetException; |
|
51 | 53 |
import java.net.Authenticator; |
52 | 54 |
import java.net.MalformedURLException; |
53 | 55 |
import java.net.PasswordAuthentication; |
... | ... | |
615 | 617 |
frame.setClassesExtensions(classesExtensions); |
616 | 618 |
|
617 | 619 |
// Se instalan los controles de las extensiones de los plugins |
618 |
splashWindow.process(translate("SplashWindow.installing_extensions_controls"));
|
|
620 |
message(translate("SplashWindow.installing_extensions_controls"));
|
|
619 | 621 |
SwingUtilities.invokeAndWait(new Runnable() { |
620 | 622 |
public void run() { |
621 | 623 |
installPluginsControls(); |
... | ... | |
623 | 625 |
}); |
624 | 626 |
|
625 | 627 |
// Se instalan los menus de las extensiones de los plugins |
626 |
splashWindow.process(translate("SplashWindow.installing_extensions_menus"));
|
|
628 |
message(translate("SplashWindow.installing_extensions_menus"));
|
|
627 | 629 |
SwingUtilities.invokeAndWait(new Runnable() { |
628 | 630 |
public void run() { |
629 | 631 |
installPluginsMenus(); |
... | ... | |
633 | 635 |
/* |
634 | 636 |
* Initialize local repository folders of the installer |
635 | 637 |
*/ |
636 |
splashWindow.process(translate("SplashWindow.initializing_local_addon_repository_folders"));
|
|
638 |
message(translate("SplashWindow.initializing_local_addon_repository_folders"));
|
|
637 | 639 |
initializeLocalAddOnRepositoryFolders(); |
638 | 640 |
|
639 |
splashWindow.process(translate("SplashWindow.initializing_server_data_persistence"));
|
|
641 |
message(translate("SplashWindow.initializing_server_data_persistence"));
|
|
640 | 642 |
ServerDataPersistence.registerPersistence(); |
641 | 643 |
|
642 | 644 |
// Se instalan las etiquetas de las extensiones de los plugins |
643 |
splashWindow.process(translate("SplashWindow.installing_extensions_labels"));
|
|
645 |
message(translate("SplashWindow.installing_extensions_labels"));
|
|
644 | 646 |
SwingUtilities.invokeAndWait(new Runnable() { |
645 | 647 |
public void run() { |
646 | 648 |
installPluginsLabels(); |
... | ... | |
648 | 650 |
}); |
649 | 651 |
|
650 | 652 |
// Se muestra el frame principal |
651 |
splashWindow.process(translate("creating_main_window"));
|
|
653 |
message(translate("creating_main_window"));
|
|
652 | 654 |
frame.setVisible(true); |
655 |
frame.setCursor(Cursor.WAIT_CURSOR); |
|
653 | 656 |
|
654 | 657 |
// Definimos un KeyEventDispatcher global para que las extensiones |
655 | 658 |
// puedan registrar sus "teclas rapidas". |
656 |
splashWindow.process(translate("SplashWindow.initializing_accelerator_keys"));
|
|
659 |
message(translate("SplashWindow.initializing_accelerator_keys"));
|
|
657 | 660 |
GlobalKeyEventDispatcher keyDispatcher = GlobalKeyEventDispatcher.getInstance(); |
658 | 661 |
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(keyDispatcher); |
659 | 662 |
|
660 |
splashWindow.process(translate("SplashWindow.enable_controls"));
|
|
663 |
message(translate("SplashWindow.enable_controls"));
|
|
661 | 664 |
SwingUtilities.invokeAndWait(new Runnable() { |
662 | 665 |
public void run() { |
663 | 666 |
frame.enableControls(); |
... | ... | |
667 | 670 |
splashWindow.close(); |
668 | 671 |
|
669 | 672 |
// Se ejecuta el postInitialize |
670 |
// splashWindow.process(translate("SplashWindow.post_initializing_extensions"));
|
|
673 |
message(translate("SplashWindow.post_initializing_extensions"));
|
|
671 | 674 |
SwingUtilities.invokeAndWait(new Runnable() { |
672 | 675 |
public void run() { |
673 |
frame.message(translate("SplashWindow.post_initializing_extensions"), JOptionPane.INFORMATION_MESSAGE); |
|
674 | 676 |
postInitializeExtensions(); |
675 | 677 |
} |
676 | 678 |
}); |
677 | 679 |
|
678 |
// splashWindow.process(translate("SplashWindow.enable_controls"));
|
|
680 |
message(translate("SplashWindow.enable_controls"));
|
|
679 | 681 |
SwingUtilities.invokeAndWait(new Runnable() { |
680 | 682 |
public void run() { |
681 |
frame.message(translate("SplashWindow.enable_controls"), JOptionPane.INFORMATION_MESSAGE); |
|
682 | 683 |
frame.enableControls(); |
683 |
frame.message(translate("StatusBar.Aplicacion_iniciada"), JOptionPane.INFORMATION_MESSAGE);
|
|
684 |
message(translate("StatusBar.Aplicacion_iniciada"));
|
|
684 | 685 |
} |
685 | 686 |
}); |
686 | 687 |
|
688 |
frame.setCursor(Cursor.DEFAULT_CURSOR); |
|
687 | 689 |
|
688 | 690 |
if (launcherrors != null) { |
689 | 691 |
NotificationManager.addError(launcherrors); |
... | ... | |
692 | 694 |
new NotificationAppender()); |
693 | 695 |
|
694 | 696 |
} |
697 |
|
|
698 |
private void message(final String msg) { |
|
699 |
if (!SwingUtilities.isEventDispatchThread()) { |
|
700 |
try { |
|
701 |
SwingUtilities.invokeAndWait(new Runnable() { |
|
702 |
public void run() { |
|
703 |
message(msg); |
|
704 |
} |
|
705 |
}); |
|
706 |
} catch (Exception e) { |
|
707 |
logger.info(msg); |
|
708 |
logger.warn("Error showing message.", e); |
|
709 |
} |
|
710 |
return; |
|
711 |
} |
|
712 |
if (splashWindow.isVisible()) { |
|
713 |
splashWindow.process(msg); |
|
714 |
} |
|
715 |
if (frame.isVisible()) { |
|
716 |
frame.message(msg, JOptionPane.INFORMATION_MESSAGE); |
|
717 |
} |
|
718 |
} |
|
695 | 719 |
|
696 | 720 |
private void initializeLocalAddOnRepositoryFolders() { |
697 | 721 |
InstallerManager installerManager = InstallerLocator.getInstallerManager(); |
... | ... | |
1389 | 1413 |
try { |
1390 | 1414 |
logger.info("Initializing " + extension.getClassName() |
1391 | 1415 |
+ "..."); |
1416 |
message(extension.getClassName() + "..."); |
|
1392 | 1417 |
Class<? extends IExtension> extensionClass = (Class<? extends IExtension>) ps |
1393 | 1418 |
.getClassLoader().loadClass( |
1394 | 1419 |
extension.getClassName()); |
... | ... | |
1432 | 1457 |
for (int i = 0; i < extensions.size(); i++) { |
1433 | 1458 |
org.gvsig.andami.plugins.IExtension extensionInstance = (org.gvsig.andami.plugins.IExtension) extensions |
1434 | 1459 |
.get(i); |
1435 |
logger.info("PostInitializing " |
|
1436 |
+ extensionInstance.getClass().getName() + "..."); |
|
1460 |
String name = extensionInstance.getClass().getName(); |
|
1461 |
logger.info("PostInitializing " + name + "..."); |
|
1462 |
message(name + "..."); |
|
1437 | 1463 |
try { |
1438 | 1464 |
extensionInstance.postInitialize(); |
1439 | 1465 |
} catch (Throwable ex) { |
... | ... | |
2144 | 2170 |
installed.contains(dependencyPluginService.getPluginName())) { |
2145 | 2171 |
loaders.add(dependencyPluginService.getClassLoader()); |
2146 | 2172 |
} else { |
2147 |
if( !dependency.getOptional() ) { |
|
2173 |
// if( !dependency.getOptional() ) {
|
|
2148 | 2174 |
ready = false; |
2149 |
} |
|
2175 |
// }
|
|
2150 | 2176 |
} |
2151 | 2177 |
} |
2152 | 2178 |
} |
Also available in: Unified diff