Changeset 6896


Ignore:
Timestamp:
2004-02-26T09:51:07+13:00 (20 years ago)
Author:
kjdon
Message:

build manager is saved as a class variable, and now this writes out a buildConfig.xml file - not finished yet

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/CollectionManager.java

    r6870 r6896  
    1212import java.io.File;
    1313import java.io.IOException;
     14import java.io.FileOutputStream;
     15import java.io.BufferedWriter;
     16import java.io.OutputStreamWriter;
    1417
    1518import java.net.URL;
     
    3740import org.greenstone.gsdl3.util.GSFile;
    3841import org.greenstone.gsdl3.util.GSXML;
     42import org.greenstone.gsdl3.util.XMLConverter;
     43
    3944
    4045/**
     
    5964    String           qualifiedCollectionName; // used as the database name
    6065
     66    BuildManager     buildManager;
    6167   
    6268  class CollectionClassifier
     
    174180    this.buildDocNo = 1;
    175181  }
    176 
    177   private void configureBrowsers(BuildManager buildManager, Node node)
     182    public void setBuildManager(BuildManager build_man) {
     183    this.buildManager = build_man;
     184    }
     185
     186  private void configureBrowsers(Node node)
    178187  { CollectionClassifier classifier = null;
    179188
     
    203212    // attach the classifier
    204213    ClassifierInterface classify = classifier.getClassifier();
    205     buildManager.getClassifierManager().addClassifier(classify);
     214    this.buildManager.getClassifierManager().addClassifier(classify);
    206215      } 
    207216    }
    208217  }
    209218
    210   public void configureCollection(BuildManager buildManager)
     219  public void configureCollection()
    211220  { File collectionConfig = new File(GSFile.collectionConfigFile(this.collectionHome));
    212221   
     
    271280
    272281      // install it into the build manager
    273       buildManager.addIndexer(indexer);
     282      this.buildManager.addIndexer(indexer);
    274283    }
    275284    else if (name.equals(GSXML.BROWSE_ELEM))
    276     { this.configureBrowsers(buildManager, children.item(c));
     285    { this.configureBrowsers(children.item(c));
    277286    }
    278287    // TODO: other elements - make a factory-method approach here...
     
    338347  public void endBuild()
    339348  {
     349      // here we write out the build config file
     350      // create the xml for the buildConfig
     351      XMLConverter converter = new XMLConverter();
     352      Document doc = converter.newDOM();
     353      Element build_config = doc.createElement(GSXML.COLLECTION_BUILD_ELEM);
     354      Element meta_list = doc.createElement(GSXML.METADATA_ELEM + GSXML.LIST_MODIFIER);
     355      build_config.appendChild(meta_list);
     356      Element service_list = doc.createElement(GSXML.SERVICE_CLASS_ELEM+GSXML.LIST_MODIFIER);
     357      build_config.appendChild(service_list);
     358
     359      // ask the indexers to add stuff into the service rack list
     360      this.buildManager.getIndexerManager().addServiceDescriptions(service_list);
     361
     362      // get the String
     363      String build_config_string = converter.getString(build_config);
     364      // write it to the file
     365      try {
     366      File build_config_file = new File(GSFile.collectionBuildConfigFileBuilding(this.collectionHome));
     367      BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(build_config_file), "UTF-8"));
     368      writer.write(build_config_string, 0, build_config_string.length());
     369      writer.close();
     370      } catch (Exception e) {
     371      System.err.println("CollectionManager.endBuild() Error while trying to output the buildConfig.xml file.");
     372      System.err.println(e.getMessage());
     373      }
    340374    Date startDate = this.lastBuildDate.getTime();
    341375    Date date = new Date();
Note: See TracChangeset for help on using the changeset viewer.