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 |
}
|