Ignore:
Timestamp:
2010-12-08T12:38:19+13:00 (13 years ago)
Author:
sjb48
Message:

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

File:
1 edited

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