Changeset 19030

Show
Ignore:
Timestamp:
17.04.2009 13:16:25 (11 years ago)
Author:
ak19
Message:

Works with the template glisite.cfg.in and llssite.cfg.in files to generate the glisite.cfg file if this is missing.

Files:
1 modified

Legend:

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

    r19004 r19030  
    403403 
    404404        File configFile = null; 
     405        if(!glisite_cfg.exists()) { // create it from the templates or the llssite.cfg file 
     406 
     407        File llssite_cfg_in = new File(server_exe.getParentFile(), LLSSITE_CFG+".in"); 
     408        File glisite_cfg_in = new File(server_exe.getParentFile(), GLISITE_CFG+".in"); 
     409 
     410        // need to generate glisite_cfg from glisite_cfg_in, llssite_cfg or llssite.cfg.in 
     411        if(glisite_cfg_in.exists()) { 
     412            copyConfigFile(glisite_cfg_in, glisite_cfg, false);     
     413        }  
     414        else if(llssite_cfg_in.exists()) {  
     415            copyConfigFile(llssite_cfg_in, glisite_cfg_in, true); // adjust for glisite.cfg 
     416            copyConfigFile(glisite_cfg_in, glisite_cfg, false);     
     417        } 
     418        else if(llssite_cfg.exists()) { 
     419            copyConfigFile(llssite_cfg, glisite_cfg, true);        // adjust for glisite.cfg 
     420        } 
     421        else { 
     422            debug("Neither the file glisite.cfg nor llssite.cfg can be found!"); 
     423        } 
     424        } 
     425 
    405426        if(glisite_cfg.exists()) { 
    406427        configFile = glisite_cfg; 
    407         } else if(llssite_cfg.exists()) { 
    408         configFile = llssite_cfg; 
    409         } else { 
    410         debug("Neither the file glisite.cfg nor llssite.cfg can be found!"); 
    411         } 
    412          
     428        }  
     429 
    413430        autoenter_initial = null; 
    414431        start_browser_initial = null; 
     
    603620        } 
    604621    } 
     622 
     623    private static void copyConfigFile(File source_cfg, File dest_cfg, boolean setToGliSiteDefaults) { 
     624        // source_cfg file should exist 
     625        // dest_cfg file should not yet exist 
     626        // If setToGliSiteDefaults is true, then GLIsite.cfg's default configuration  
     627        // is applied to concerned lines: autoenter=1, and startbrowser=0 
     628 
     629        try { 
     630        BufferedReader in = new BufferedReader(new FileReader(source_cfg)); 
     631        BufferedWriter out = new BufferedWriter(new FileWriter(dest_cfg, false)); 
     632         
     633        String line = null; 
     634        while((line = in.readLine()) != null) { 
     635             
     636            if(setToGliSiteDefaults) { 
     637            if(line.startsWith(AUTOENTER)) { 
     638                line = AUTOENTER+"=1"; 
     639            } 
     640            else if(line.startsWith(STARTBROWSER)) { 
     641                line = STARTBROWSER+"=0"; 
     642            } 
     643            } 
     644         
     645            // write out the line 
     646            out.write(line + "\n"); 
     647        } 
     648         
     649        out.flush(); 
     650        in.close(); 
     651        out.close(); 
     652        } catch(Exception e) { 
     653        System.err.println("Exception occurred when trying to copy the config file " 
     654                   + source_cfg.getName() + " to " + dest_cfg.getName() + ": " + e); 
     655        e.printStackTrace(); 
     656        } 
     657    } 
    605658    } 
    606659}