Changeset 23417

Show
Ignore:
Timestamp:
08.12.2010 12:38:19 (8 years ago)
Author:
sjb48
Message:

Started work on versioning and saving of format statement in ServiceCluster?.java

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/collection/ServiceCluster.java

    r23405 r23417  
    3232import org.w3c.dom.NodeList;  
    3333 
     34import java.io.*; 
    3435import java.io.File; 
    3536import java.util.HashMap; 
     
    524525        logger.error("Format string: " + format_string); 
    525526        logger.error("Config file location = " + GSFile.collectionConfigFile(this.site_home, this.cluster_name)); 
    526     } 
     527 
     528        // check for version file 
     529 
     530        String directory = new File(GSFile.collectionConfigFile(this.site_home, this.cluster_name)).getParent() + "/"; 
     531        logger.error("Directory is " + directory); 
     532 
     533        String version_filename = ""; 
     534 
     535        if(service.equals("ClassifierBrowse")) 
     536            version_filename = directory + "browse_"+classifier+"_format_statement_version.txt"; 
     537        else 
     538            version_filename = directory + "query_format_statement_version.txt"; 
     539 
     540        File version_file = new File(version_filename); 
     541        logger.error("Version filename is " + version_filename); 
     542        String version_number = "1"; 
     543 
     544        try{ 
     545 
     546            if(version_file.exists()) 
     547            { 
     548                // Read version 
     549                 BufferedReader reader = new BufferedReader(new FileReader(version_filename)); 
     550                 version_number = reader.readLine(); 
     551                 int aInt = Integer.parseInt(version_number) + 1; 
     552                 version_number = Integer.toString(aInt); 
     553                 reader.close(); 
     554            } 
     555            else{ 
     556                // Create 
     557                version_file.createNewFile();  
     558                // write 1 to file 
     559                BufferedWriter writer = new BufferedWriter(new FileWriter(version_filename)); 
     560                writer.write(version_number); 
     561                writer.close(); 
     562            } 
     563 
     564            // Write version file 
     565            String format_statement_filename = ""; 
     566 
     567            if(service.equals("ClassifierBrowse")) 
     568                format_statement_filename = directory + "browse_"+classifier+"_format_statement_v" + version_number + ".txt";  
     569            else 
     570                format_statement_filename = directory + "query_format_statement_v" + version_number + ".txt"; 
     571 
     572            logger.error("Format statement filename is " + format_statement_filename); 
     573 
     574            BufferedWriter writer = new BufferedWriter(new FileWriter(format_statement_filename)); 
     575            writer.write(format_string); 
     576            writer.close(); 
     577 
     578            // Update version number 
     579 
     580        } catch (IOException e) { 
     581            logger.error("IO Exception "+e); 
     582            //System.exit(1); 
     583        } 
     584 
     585 
     586    } 
    527587    if (type.equals(GSXML.REQUEST_TYPE_SYSTEM)) { 
    528588        response = processSystemRequest(request);