mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/GUIFactory.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2003, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: GUIFactory.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.6 $
2 26 Feb 07 jari 8  * $Date: 2006/04/10 18:41:36 $
2 26 Feb 07 jari 9  * $Author: eleanorahowe $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 package org.tigr.microarray.mev.cluster.gui.impl;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.net.URL;
2 26 Feb 07 jari 15 import java.util.ArrayList;
2 26 Feb 07 jari 16 import java.util.MissingResourceException;
2 26 Feb 07 jari 17 import java.util.ResourceBundle;
2 26 Feb 07 jari 18 import java.util.StringTokenizer;
2 26 Feb 07 jari 19
2 26 Feb 07 jari 20 import javax.swing.Icon;
2 26 Feb 07 jari 21 import javax.swing.ImageIcon;
2 26 Feb 07 jari 22 import org.tigr.microarray.mev.TMEV;
2 26 Feb 07 jari 23 import org.tigr.microarray.mev.cluster.gui.AnalysisDescription;
2 26 Feb 07 jari 24 import org.tigr.microarray.mev.cluster.gui.IGUIFactory;
2 26 Feb 07 jari 25
2 26 Feb 07 jari 26 public class GUIFactory implements IGUIFactory {
2 26 Feb 07 jari 27     
2 26 Feb 07 jari 28     private ResourceBundle bundle;
2 26 Feb 07 jari 29     private static String BUNDLE_NAME = "org.tigr.microarray.mev.cluster.gui.impl.factory";
2 26 Feb 07 jari 30     
2 26 Feb 07 jari 31     public GUIFactory() {
2 26 Feb 07 jari 32   try {
2 26 Feb 07 jari 33       bundle = ResourceBundle.getBundle(BUNDLE_NAME);
2 26 Feb 07 jari 34   } catch (Exception e) {
2 26 Feb 07 jari 35       e.printStackTrace();
2 26 Feb 07 jari 36   }
2 26 Feb 07 jari 37     }
2 26 Feb 07 jari 38     
2 26 Feb 07 jari 39     public AnalysisDescription[] getAnalysisDescriptions() {
2 26 Feb 07 jari 40   if (bundle == null) {
2 26 Feb 07 jari 41       return null;
2 26 Feb 07 jari 42   }
2 26 Feb 07 jari 43   return createAnalysisDescription();
2 26 Feb 07 jari 44     }
2 26 Feb 07 jari 45     
2 26 Feb 07 jari 46     private AnalysisDescription[] createAnalysisDescription() {
2 26 Feb 07 jari 47   String names = null;
2 26 Feb 07 jari 48   try {
2 26 Feb 07 jari 49       names = bundle.getString("gui.names");
2 26 Feb 07 jari 50      
2 26 Feb 07 jari 51   } catch (MissingResourceException e) {
2 26 Feb 07 jari 52       e.printStackTrace();
2 26 Feb 07 jari 53   }
2 26 Feb 07 jari 54   if (names == null) {
2 26 Feb 07 jari 55       return null;
2 26 Feb 07 jari 56   }
2 26 Feb 07 jari 57   ArrayList list = new ArrayList();
2 26 Feb 07 jari 58   StringTokenizer tokenizer = new StringTokenizer(names, ":");
2 26 Feb 07 jari 59   String key;
2 26 Feb 07 jari 60   String name, clazz,category, tooltip;
2 26 Feb 07 jari 61   Icon smallIcon, largeIcon;
2 26 Feb 07 jari 62   while (tokenizer.hasMoreTokens()) {
2 26 Feb 07 jari 63       try {
2 26 Feb 07 jari 64     key   = tokenizer.nextToken();
2 26 Feb 07 jari 65     if (key.trim().equals("")) {
2 26 Feb 07 jari 66         continue;
2 26 Feb 07 jari 67     }
2 26 Feb 07 jari 68     name  = bundle.getString(key+".name").trim();
2 26 Feb 07 jari 69     clazz = bundle.getString(key+".class").trim();
2 26 Feb 07 jari 70     category=bundle.getString(key+".category").trim();
2 26 Feb 07 jari 71     tooltip = bundle.getString(key+".tooltip").trim();
2 26 Feb 07 jari 72     smallIcon = getIcon(bundle.getString(key+".smallIcon").trim());
2 26 Feb 07 jari 73     largeIcon = getIcon(bundle.getString(key+".largeIcon").trim());
2 26 Feb 07 jari 74     list.add(new AnalysisDescription(name, clazz, category, smallIcon, largeIcon, tooltip));
2 26 Feb 07 jari 75     } catch (Exception e) {
2 26 Feb 07 jari 76     System.out.println("Error while reading "+BUNDLE_NAME+".properties file: ");
2 26 Feb 07 jari 77     e.printStackTrace();
2 26 Feb 07 jari 78       }
2 26 Feb 07 jari 79   }
2 26 Feb 07 jari 80   return(AnalysisDescription[])list.toArray(new AnalysisDescription[list.size()]);
2 26 Feb 07 jari 81     }
2 26 Feb 07 jari 82     /*
2 26 Feb 07 jari 83     private AnalysisDescription[] createAnalysisDescription() {
2 26 Feb 07 jari 84       String names = null;
2 26 Feb 07 jari 85       try {
2 26 Feb 07 jari 86           names = bundle.getString("gui.names");
2 26 Feb 07 jari 87           //System.out.print(names);
2 26 Feb 07 jari 88       } catch (MissingResourceException e) {
2 26 Feb 07 jari 89           e.printStackTrace();
2 26 Feb 07 jari 90       }
2 26 Feb 07 jari 91       if (names == null) {
2 26 Feb 07 jari 92           return null;
2 26 Feb 07 jari 93       }
2 26 Feb 07 jari 94       ArrayList list = new ArrayList();
2 26 Feb 07 jari 95       StringTokenizer tokenizer = new StringTokenizer(names, ":");
2 26 Feb 07 jari 96       String key;
2 26 Feb 07 jari 97       String name, clazz, tooltip;
2 26 Feb 07 jari 98       Icon smallIcon, largeIcon;
2 26 Feb 07 jari 99     
2 26 Feb 07 jari 100       int i=0;
2 26 Feb 07 jari 101       while (tokenizer.hasMoreTokens()) {
2 26 Feb 07 jari 102           try {
2 26 Feb 07 jari 103         key   = tokenizer.nextToken();
2 26 Feb 07 jari 104         if (key.trim().equals("")) {
2 26 Feb 07 jari 105             continue;
2 26 Feb 07 jari 106         }
2 26 Feb 07 jari 107         name  = bundle.getString(key+".name").trim();
2 26 Feb 07 jari 108         clazz = bundle.getString(key+".class").trim();
2 26 Feb 07 jari 109         tooltip = bundle.getString(key+".tooltip").trim();
2 26 Feb 07 jari 110         smallIcon = getIcon(bundle.getString(key+".smallIcon").trim());
2 26 Feb 07 jari 111         largeIcon = getIcon(bundle.getString(key+".largeIcon").trim());
2 26 Feb 07 jari 112         list.add(new AnalysisDescription(name, clazz, smallIcon, largeIcon, tooltip));
2 26 Feb 07 jari 113         } catch (Exception e) {
2 26 Feb 07 jari 114         System.out.println("Error while reading "+BUNDLE_NAME+".properties file: ");
2 26 Feb 07 jari 115         e.printStackTrace();
2 26 Feb 07 jari 116           }
2 26 Feb 07 jari 117       }
2 26 Feb 07 jari 118       return(AnalysisDescription[])list.toArray(new AnalysisDescription[list.size()]);
2 26 Feb 07 jari 119         }
2 26 Feb 07 jari 120     */
2 26 Feb 07 jari 121     public static ImageIcon getIcon(String name) {
2 26 Feb 07 jari 122   URL url = GUIFactory.class.getResource("/org/tigr/microarray/mev/cluster/gui/impl/images/"+name);
2 26 Feb 07 jari 123   if (url == null)
2 26 Feb 07 jari 124       return null;
2 26 Feb 07 jari 125   return new ImageIcon(url);
2 26 Feb 07 jari 126     }
2 26 Feb 07 jari 127     
2 26 Feb 07 jari 128 }