Revision 30580 branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/Launcher.java

View differences:

Launcher.java
77 77
import java.util.HashMap;
78 78
import java.util.HashSet;
79 79
import java.util.Iterator;
80
import java.util.List;
80 81
import java.util.Locale;
81 82
import java.util.Properties;
82 83
import java.util.TreeMap;
......
134 135
import org.gvsig.andami.ui.fonts.FontUtils;
135 136
import org.gvsig.andami.ui.mdiFrame.MDIFrame;
136 137
import org.gvsig.andami.ui.mdiFrame.NewStatusBar;
137
import org.gvsig.andami.ui.mdiManager.MDIManager;
138 138
import org.gvsig.andami.ui.mdiManager.MDIManagerFactory;
139 139
import org.gvsig.andami.ui.splash.MultiSplashWindow;
140 140
import org.gvsig.andami.ui.theme.Theme;
141 141
import org.gvsig.andami.ui.wizard.UnsavedDataPanel;
142
import org.gvsig.tools.library.LibrariesInitializer;
143
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
142 144
import org.gvsig.utils.DateTime;
143 145
import org.gvsig.utils.XMLEntity;
144 146
import org.gvsig.utils.xml.XMLEncodingUtils;
......
177 179
	private static HashMap pluginsServices = new HashMap();
178 180
	private static MDIFrame frame;
179 181
	private static HashMap classesExtensions = new HashMap();
182
	private static List<LibrariesInitializer> libInitializers;
180 183
	private static String andamiConfigPath;
181 184
	private static String pluginsPersistencePath;
182 185
	private static final String nonWinDefaultLookAndFeel =  "com.jgoodies.looks.plastic.PlasticXPLookAndFeel";
......
186 189
    private static String appHomeDir = null;
187 190
    // it seems castor uses this encoding
188 191
    private static final String CASTORENCODING = "UTF8";
189

  
192
    
190 193
	private static final class ProxyAuth extends Authenticator {
191 194
		private PasswordAuthentication auth;
192 195

  
......
807 810
	}
808 811

  
809 812
	private static void initializeExtensions() {
813
		
814
		libInitializers = new ArrayList<LibrariesInitializer>(pluginsOrdered
815
				.size());
816
		
810 817
		Iterator i = pluginsOrdered.iterator();
811 818

  
812 819
		while (i.hasNext()) {
......
814 821
            logger.debug("Initializing extensions from " + pName);
815 822
			PluginConfig pc = (PluginConfig) pluginsConfig.get(pName);
816 823
			PluginServices ps = (PluginServices) pluginsServices.get(pName);
824
			
825
			// Create the libraries initializer and 
826
			// initialize the plugin libraries
827
			LibrariesInitializer libsInitializer = new DefaultLibrariesInitializer(
828
					ps.getClassLoader());
829
			libsInitializer.initialize();
830
			libInitializers.add(libsInitializer);
817 831

  
818 832
			Extension[] exts = pc.getExtensions().getExtension();
819 833

  
......
832 846

  
833 847
				orderedExtensions.put(exts[j], null);
834 848
			}
835

  
849
			
836 850
			Iterator e = orderedExtensions.keySet().iterator();
837 851

  
838 852
			while (e.hasNext()) {
......
856 870
					classesExtensions.put(extensionClass, newExtensionDecorator);
857 871
					logger.info("Initializing " + extension.getClassName()+"...");
858 872
                    // logger.debug("Initializing " + extension.getClassName());
873
					
874
					
875
					// AQUI
876
					
859 877
                    extensionInstance.initialize();
860 878
                    extensions.add(extensionInstance);
861 879
                    // logger.debug(extension.getClassName() + " initialized.");
......
882 900
	}
883 901

  
884 902
	private static void postInitializeExtensions() {
903
		// Post initialize all plugin libraries
904
		for (int i = 0; i < libInitializers.size(); i++) {
905
			libInitializers.get(i).postInitialize();
906
		}
907
		// Remove them all, we don't need them anymore
908
		libInitializers.clear();
909
		libInitializers = null;
910
		
885 911
		for (int i=0;i<extensions.size();i++) {
886 912
			org.gvsig.andami.plugins.IExtension extensionInstance=(org.gvsig.andami.plugins.IExtension)extensions.get(i);
887 913
			extensionInstance.postInitialize();

Also available in: Unified diff