Changeset 7476


Ignore:
Timestamp:
2004-05-27T14:57:05+12:00 (20 years ago)
Author:
cs025
Message:

Slow move towards completing mgpp indexer, improved IndexerInterface

Location:
trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/indexers
Files:
2 edited

Legend:

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

    r6897 r7476  
    1616  public int     getNumberOfPasses();
    1717  // TODO: add a function call to provide appropriate XML for the service description
    18     public boolean addServiceDescriptions(org.w3c.dom.Element service_rack_list);
     18  public boolean addServiceDescriptions(org.w3c.dom.Element service_rack_list);
    1919  public void    tidyup();
    2020
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/indexers/MGPPIndexer.java

    r6897 r7476  
    1111{
    1212  int          pass;
     13  int          documentSeqNo;
    1314  String       name;
    1415  boolean      firstDocument;
    1516  String       outputDirectory;
    1617  String       outputStem;
     18  String       passExtra;
    1719  InputStream    indexerFeedback;
    1820  InputStream  indexerErrors;
     
    2022  Process      mgpp_passes;
    2123  static final String documentSeparator = "<Document>";
     24  static final String sectionSeparator = "<Section>";
    2225
    2326  public static final String MGPP_INDEX_TYPE = "mgpp";
     
    2528  public MGPPIndexer(String name)
    2629  { this.name = name;
     30    this.passExtra = "";
    2731  }
    2832
     
    5054
    5155  public boolean addIndex(String name, String level, String field)
    52   { return true;
     56  {
     57    if (level == "doc_level") {
     58      passExtra = " -J " + level;
     59    }
     60    else {
     61      passExtra = " -K " + level;
     62    }
     63    return true;
    5364  }
    5465
     
    6071  public boolean indexDocument(DocumentID docID, DocumentInterface document)
    6172  {
     73    if (this.pass == 0) {
     74      document.removeAllMetadata("gsdl3", "mgppseqno");
     75    }
     76
    6277    if (!this.firstDocument)
    6378    { // Send a '<document>' before the document itself
     
    7186      }
    7287    }
     88
    7389    String docText = document.getDocumentText();
     90    int    startSeqNo = this.documentSeqNo;
    7491   
    7592    byte [] bytes = docText.getBytes();
     
    113130    }
    114131    this.firstDocument = false;
    115    
     132
     133    if (this.pass == 0) {   
     134      document.addDocumentMetadata("gsdl3", "mgppseqno", "dtx."+Integer.toString(startSeqNo));
     135    }
     136    this.documentSeqNo += 1;
     137
    116138    try {
    117139      while (this.indexerErrors.available() > 0)
     
    137159  { this.pass = passNumber;
    138160    this.firstDocument = true;
     161    this.documentSeqNo = 1;
    139162   
    140163    try {               
    141164      switch (this.pass) {
    142165        case 0:
    143       mgpp_passes = Runtime.getRuntime().exec("mgpp_passes -f " + this.outputStem + " -T1");
     166      mgpp_passes = Runtime.getRuntime().exec("mgpp_passes " + passExtra + " -f " + this.outputStem + " -T1");
    144167    break;
    145168     
    146169        case 1:
    147       mgpp_passes = Runtime.getRuntime().exec("mgpp_passes -f " + this.outputStem +" -T2");
     170      mgpp_passes = Runtime.getRuntime().exec("mgpp_passes " + passExtra + " -f " + this.outputStem +" -T2");
    148171    break;
    149172
    150173        case 2:
    151       mgpp_passes = Runtime.getRuntime().exec("mgpp_passes -f " + this.outputStem +" -I1");
     174      mgpp_passes = Runtime.getRuntime().exec("mgpp_passes " + passExtra + " -f " + this.outputStem +" -I1");
    152175    break;
    153176
     
    156179      p.waitFor();
    157180
    158       mgpp_passes = Runtime.getRuntime().exec("mgpp_passes -f " + this.outputStem +" -I2");
     181      mgpp_passes = Runtime.getRuntime().exec("mgpp_passes " + passExtra + " -f " + this.outputStem +" -I2");
    159182    break;
    160183      }
     
    264287   *  Return the number of passes required for this index.
    265288   */
    266     public int getNumberOfPasses()
    267     { return 4;
    268     }
    269 
    270     public boolean addServiceDescriptions(org.w3c.dom.Element service_rack_list) {
    271     System.out.println("adding service description, MGPPIndexer");
    272     return true;
    273     }
    274 
     289  public int getNumberOfPasses()
     290  { return 4;
     291  }
     292
     293  public boolean addServiceDescriptions(org.w3c.dom.Element service_rack_list) {
     294    System.out.println("adding service description, MGPPIndexer");
     295    return true;
     296  }
    275297}
Note: See TracChangeset for help on using the changeset viewer.