Changeset 19030


Ignore:
Timestamp:
2009-04-17T13:16:25+12:00 (15 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.

File:
1 edited

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}
Note: See TracChangeset for help on using the changeset viewer.