package org.gvsig; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Iterator; import org.gvsig.tools.locator.Library; public class InitializeLibraries{ static ArrayList classes = new ArrayList(); public static synchronized void initialize(){ InputStream is = null; InputStreamReader isr = null; BufferedReader bir = null; try { is = InitializeLibraries.class.getResourceAsStream("/libraries.txt"); isr = new InputStreamReader(is); bir = new BufferedReader(isr); while (is.available() != 0) { try{ String className = bir.readLine(); Class clase = Class.forName(className); Object obj = clase.newInstance(); if (obj instanceof Library) { Library lib = (Library) obj; lib.initialize(); classes.add(lib); System.out.println(clase.getName() + " initialized"); } } catch (ClassNotFoundException e){ e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassCastException e){ e.printStackTrace(); } } is.close(); isr.close(); bir.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static synchronized void postInitialize(){ Iterator it = classes.iterator(); while (it.hasNext()){ Library lib = (Library) it.next(); lib.postInitialize(); System.out.println(lib.getClass().getName() + " postInitialized"); } } }