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

View differences:

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