Ignore:
Timestamp:
2005-02-07T10:36:51+13:00 (19 years ago)
Author:
mdewsnip
Message:

More GEMS fixes, by Matthew Whyte. Can now create subelements of subelements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/gems/GEMSLanguageManager.java

    r8581 r8971  
    1 /*
    2  * GEMSLanguageManager.java
     1 /**
     2 *#########################################################################
    33 *
    4  * Created on October 27, 2004, 3:31 PM
     4 * A component of the Gatherer application, part of the Greenstone digital
     5 * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
     6 *
     7 * <BR><BR>
     8 *
     9 * Author: John Thompson, Greenstone Digital Library, University of Waikato
     10 *
     11 * <BR><BR>
     12 *
     13 * Copyright (C) 1999 New Zealand Digital Library Project
     14 *
     15 * <BR><BR>
     16 *
     17 * This program is free software; you can redistribute it and/or modify
     18 * it under the terms of the GNU General Public License as published by
     19 * the Free Software Foundation; either version 2 of the License, or
     20 * (at your option) any later version.
     21 *
     22 * <BR><BR>
     23 *
     24 * This program is distributed in the hope that it will be useful,
     25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     27 * GNU General Public License for more details.
     28 *
     29 * <BR><BR>
     30 *
     31 * You should have received a copy of the GNU General Public License
     32 * along with this program; if not, write to the Free Software
     33 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     34 *
     35 *############################################## ##########################
    536 */
    637
     
    3566 * @author John Thompson, Greenstone Digital Library, University of Waikato
    3667 * @version 2.3
     68 * Created on October 27, 2004, 3:31 PM
     69 * Modified 1/02/05 by Matthew Whyte
    3770 */
    3871 public class GEMSLanguageManager {
    39               private Document document;
    40               private DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    41               private Vector languageCodes;
    42             public GEMSLanguageManager(String languagexml_location) {
    43                
    44                this.languageCodes = new Vector();
     72     private Document document;
     73     private DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     74     private Vector languageCodes;
     75     private Vector languageCodesAndNames;
     76     public GEMSLanguageManager(String languagexml_location) {
     77     
     78     this.languageCodes = new Vector();
     79     this.languageCodesAndNames = new Vector();
    4580
    46             try {
    47                
    48                File f = new File(languagexml_location);
    49                
    50                DocumentBuilder builder = factory.newDocumentBuilder();
    51                document = builder.parse(f);
    52                org.w3c.dom.Element docelement = document.getDocumentElement();
    53                
    54                //get all language nodes
    55                NodeList mynodelist = docelement.getChildNodes();
    56                
    57                //get a single language text
    58                //System.out.println(mynodelist.item(1).getChildNodes().item(0).getNodeValue());
    59                
    60                for(int j = 1; j < mynodelist.getLength(); j++){
    61                    
    62                    //read text value for the element
    63                  
    64                    NodeList childnodesofelement = mynodelist.item(j).getChildNodes();
    65                    
    66                      
    67                    NamedNodeMap nnm = mynodelist.item(j).getAttributes();
    68                
    69                    
    70                     if(childnodesofelement.getLength() == 1){
    71                        
    72                             String code = nnm.item(0).getNodeValue();
    73                             String name = nnm.item(4).getNodeValue();
    74                             String name_value = childnodesofelement.item(0).getNodeValue();
    75                             //language_box.addItem(code.toLowerCase());
    76                             this.languageCodes.add(code.toLowerCase());
    77                     }
    78                    
    79                    
    80                
    81            
    82                    
    83                }//end for
    84        
    85            }
    86            catch(SAXException sxe) {
    87                
    88                System.out.println("sxe exception\n");
    89            }
    90            catch(ParserConfigurationException pce) {
     81     try {
     82         
     83         File f = new File(languagexml_location);
     84         
     85         DocumentBuilder builder = factory.newDocumentBuilder();
     86         document = builder.parse(f);
     87         org.w3c.dom.Element docelement = document.getDocumentElement();
     88         
     89         //get all language nodes
     90         NodeList mynodelist = docelement.getChildNodes();
     91         
     92         //get a single language text
     93         //System.out.println(mynodelist.item(1).getChildNodes().item(0).getNodeValue()); //debug
     94         
     95         for(int j = 1; j < mynodelist.getLength(); j++){
     96         
     97         //read text value for the element
     98         NodeList childnodesofelement = mynodelist.item(j).getChildNodes();
     99         NamedNodeMap nnm = mynodelist.item(j).getAttributes();
     100         
     101         if(childnodesofelement.getLength() == 1)
     102             {
     103             String code = nnm.item(0).getNodeValue();
     104             String name = nnm.item(4).getNodeValue();
     105             String name_value = childnodesofelement.item(0).getNodeValue();
     106             //language_box.addItem(code.toLowerCase());
     107             this.languageCodes.add(code.toLowerCase());
     108             this.languageCodesAndNames.add(name.toLowerCase() + "               \t(" + code.toLowerCase() + ")");
     109             } //end if
     110         }//end for
     111     } //end try
     112     catch(SAXException sxe) {
     113         System.out.println("sxe exception\n");
     114     }
     115     catch(ParserConfigurationException pce) {
    91116             System.out.println("pce exception\n");
    92                
    93            }
    94            catch(IOException ioe){
    95                
    96                System.out.println("ioe exc\n");
    97                
    98            }
    99             
    100             //end create dom object for language_box
    101                
    102             }
    103            public Vector getLanguageCodes() {
    104                return languageCodes;
    105            }
    106            public Object[] getLanguageCodesToArray() {
    107                return languageCodes.toArray();
    108            }
    109            public String getEnabledLanguageCodes() {
    110             String enabled_languages =  Configuration.getString("Gems.Preferences.Selected_Languages", true);
    111            return enabled_languages;   
    112            }
    113             public String[] getEnabledLanguageCodesToArray() {
    114             String enabled_languages =  Configuration.getString("Gems.Preferences.Selected_Languages", true);
    115             String [] enabled_languages_split = enabled_languages.split(",");
    116            // String [] trimmed_enabled_lang_split = null;
    117            
    118           //  for(int p = 0; p < enabled_languages_split.length; p++) {
    119                 //trimmed_enabled_lang_split[p] = enabled_languages_split[p].trim();
    120               //  System.out.println("gemslang: trimm: " + trimmed_enabled_lang_split[p] + " orig: "+ enabled_languages_split[p].trim());
    121            // }//for p < enabled lang split
    122            
    123             return enabled_languages_split;
    124            }
    125            
    126         }
     117     }
     118     catch(IOException ioe){
     119         System.out.println("ioe exception\n");
     120     }
     121     
     122     //end create dom object for language_box
     123     
     124     }
     125     public Vector getLanguageCodesAndNames() {
     126     return languageCodesAndNames;
     127     }
     128
     129     public Vector getLanguageCodes() {
     130     return languageCodes;
     131     }
     132     public Object[] getLanguageCodesToArray() {
     133     return languageCodes.toArray();
     134     }
     135     public String getEnabledLanguageCodes() {
     136     String enabled_languages =  Configuration.getString("Gems.Preferences.Selected_Languages", true);
     137     return enabled_languages;   
     138     }
     139     public String[] getEnabledLanguageCodesToArray() {
     140     String enabled_languages =  Configuration.getString("Gems.Preferences.Selected_Languages", true);
     141     String [] enabled_languages_split = enabled_languages.split(",");
     142     // String [] trimmed_enabled_lang_split = null;
     143     
     144     //  for(int p = 0; p < enabled_languages_split.length; p++) {
     145     //trimmed_enabled_lang_split[p] = enabled_languages_split[p].trim();
     146     //  System.out.println("gemslang: trimm: " + trimmed_enabled_lang_split[p] + " orig: "+ enabled_languages_split[p].trim());
     147     // }//for p < enabled lang split
     148     
     149     return enabled_languages_split;
     150     } 
     151 }
Note: See TracChangeset for help on using the changeset viewer.