Changeset 7309


Ignore:
Timestamp:
2004-05-12T13:05:30+12:00 (20 years ago)
Author:
kjdon
Message:

classifiers now output info to the buildCOnfig.xml file

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

Legend:

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

    r7305 r7309  
    404404      build_config.appendChild(service_list);
    405405
     406      // the document structure and metadata retrieval will use GS3REtrieve service, so add it in here
     407      Element base_retrieve_service = doc.createElement(GSXML.SERVICE_CLASS_ELEM);
     408      base_retrieve_service.setAttribute(GSXML.NAME_ATT, "GS3Retrieve");
     409      service_list.appendChild(base_retrieve_service);
    406410      // ask the indexers to add stuff into the service rack list
    407411      this.buildManager.getIndexerManager().addServiceDescriptions(service_list);
    408 
     412      this.buildManager.getClassifierManager().addServiceDescriptions(service_list);
    409413      // get the String
    410414      String build_config_string = converter.getString(build_config);
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/classifier/AZListClassifier.java

    r7303 r7309  
    1717import org.xml.sax.helpers.DefaultHandler;
    1818
     19import org.w3c.dom.Element;
     20
    1921import org.greenstone.gsdl3.gs3build.doctypes.DocumentID;
    2022import org.greenstone.gsdl3.gs3build.doctypes.DocumentInterface;
     
    2325import org.greenstone.gsdl3.gs3build.database.*;
    2426import org.greenstone.gsdl3.gs3build.util.MultiMap;
     27import org.greenstone.gsdl3.util.GSXML;
    2528
    2629public class AZListClassifier implements ClassifierInterface
     
    251254    prefix = "CLAZ"+this.fields.get(0).toString();
    252255    // TODO: write this name back to collectionConfig.xml
     256    this.name = prefix;
    253257    }
    254258    int leafCount = 0;
     
    329333    return true;
    330334  }
     335    public boolean addClassifierDescription(Element classifier_list) {
     336    // TODO check that there are some docs in the classification
     337    Element classifier = classifier_list.getOwnerDocument().createElement(GSXML.CLASSIFIER_ELEM);
     338    classifier.setAttribute(GSXML.NAME_ATT, this.name);
     339    classifier_list.appendChild(classifier);
     340    return true;
     341    }
     342
    331343}
    332344
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/classifier/ClassifierInterface.java

    r6104 r7309  
    33import java.util.List;
    44
     5import org.w3c.dom.Element;
    56import org.greenstone.gsdl3.gs3build.doctypes.DocumentID;
    67import org.greenstone.gsdl3.gs3build.doctypes.DocumentInterface;
     
    3839   */
    3940  public void completeClassification();
     41
     42    public boolean addClassifierDescription(Element classifier_list);
    4043}
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/classifier/ClassifierManager.java

    r6496 r7309  
    33import java.util.List;
    44import java.util.Iterator;
     5import org.w3c.dom.Element;
     6import org.w3c.dom.Document;
    57
    68import org.greenstone.gsdl3.gs3build.doctypes.DocumentID;
     
    810import org.greenstone.gsdl3.gs3build.doctypes.DocumentList;
    911import org.greenstone.gsdl3.gs3build.util.GS3SQLConnection;
     12import org.greenstone.gsdl3.util.GSXML;
     13
    1014
    1115public class ClassifierManager
     
    123127    return null;
    124128  }
     129
     130    public boolean addServiceDescriptions(Element service_class_list) {
     131    if (this.used==0) {
     132        // no classiifers
     133        return true;
     134    }
     135    Element retrieve_service = GSXML.getNamedElement(service_class_list, GSXML.SERVICE_CLASS_ELEM, GSXML.NAME_ATT, "GS3Retrieve");
     136    Document owner_doc = service_class_list.getOwnerDocument();
     137    if (retrieve_service == null) {
     138        System.err.println("didn't find a retrieve service");
     139        // create it
     140        retrieve_service = owner_doc.createElement(GSXML.SERVICE_CLASS_ELEM);
     141        retrieve_service.setAttribute(GSXML.NAME_ATT, "GS3Retrieve");
     142        service_class_list.appendChild(retrieve_service);
     143    }
     144    Element classifier_list = owner_doc.createElement(GSXML.CLASSIFIER_ELEM+GSXML.LIST_MODIFIER);
     145    retrieve_service.appendChild(classifier_list);
     146    boolean success = true;
     147    for (int i = 0; i < this.used; i ++) {
     148        if (!this.list[i].addClassifierDescription(classifier_list)) {
     149        success = false;
     150        }
     151    }
     152    return success;
     153    }
    125154}
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/classifier/GS2HierarchyClassifier.java

    r7268 r7309  
    1313import org.xml.sax.helpers.XMLReaderFactory;
    1414import org.xml.sax.helpers.DefaultHandler;
     15import org.w3c.dom.Element;
    1516
    1617import org.greenstone.gsdl3.gs3build.doctypes.DocumentID;
     
    2021import org.greenstone.gsdl3.gs3build.util.GS2TextFileHandler;
    2122import org.greenstone.gsdl3.gs3build.util.GS3SQLConnection;
     23import org.greenstone.gsdl3.util.GSXML;
    2224
    2325public class GS2HierarchyClassifier implements ClassifierInterface
     
    290292    }
    291293  }
     294    public boolean addClassifierDescription(Element classifier_list) {
     295    // TODO check that there are some docs in the classification
     296    Element classifier = classifier_list.getOwnerDocument().createElement(GSXML.CLASSIFIER_ELEM);
     297    //classifier.setAttribute(GSXML.NAME_ATT, this.name);
     298    classifier.setAttribute(GSXML.NAME_ATT, "name"); // what is teh name???
     299    classifier_list.appendChild(classifier);
     300    return true;
     301    }
     302
    292303}
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/classifier/HierarchyClassifier.java

    r7268 r7309  
    1616import org.xml.sax.helpers.XMLReaderFactory;
    1717import org.xml.sax.helpers.DefaultHandler;
    18 
     18import org.w3c.dom.Element;
    1919import org.greenstone.gsdl3.gs3build.doctypes.DocumentID;
    2020import org.greenstone.gsdl3.gs3build.doctypes.DocumentInterface;
    2121import org.greenstone.gsdl3.gs3build.util.XMLTools;
    2222import org.greenstone.gsdl3.gs3build.util.GS3SQLConnection;
     23import org.greenstone.gsdl3.util.GSXML;
     24
    2325
    2426public class HierarchyClassifier implements ClassifierInterface
     
    213215      this.fields = fields;
    214216      this.sortBy = sortBy;
    215 
     217      this.name = name;
    216218      System.out.println("Counting " + this.fields.size() + " fields");
    217219    }
     
    332334    }
    333335  }
     336
     337    public boolean addClassifierDescription(Element classifier_list) {
     338    // TODO check that there are some docs in the classification
     339    Element classifier = classifier_list.getOwnerDocument().createElement(GSXML.CLASSIFIER_ELEM);
     340    classifier.setAttribute(GSXML.NAME_ATT, this.name);
     341    classifier_list.appendChild(classifier);
     342    return true;
     343    }
    334344}
Note: See TracChangeset for help on using the changeset viewer.