Changeset 2320 for trunk/java-client/org


Ignore:
Timestamp:
2001-04-15T11:33:18+12:00 (23 years ago)
Author:
daven
Message:

correct a bug in the term frequency code from yesterday that lost
some items. Added comments.

Location:
trunk/java-client/org/nzdl/gsdl/service
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/java-client/org/nzdl/gsdl/service/NzdlCollectionInfo.java

    r2318 r2320  
    5959    for (int i=0;i< m_Info.collectionMeta.names.length; i++) {
    6060        metaMap.put( NzdlCorbaFactory.toString(m_Info.collectionMeta.names[i]), NzdlCorbaFactory.toString(m_Info.collectionMeta.values[i]));
    61         // System.err.println(NzdlCorbaFactory.toString(namesArray[i]) + " " + NzdlCorbaFactory.toString(valuesArray[i]));
     61        //System.err.println(NzdlCorbaFactory.toString(m_Info.collectionMeta.values[i]));
    6262    }
    6363
     
    220220    }
    221221
     222    /* this is currently leaving \n in the text whereas the
     223       version using nzdlService.getMetaData doesn't,
     224       try the tcc description text to see an example,
     225       something to do with the use of CorbaFactory method
     226       in the constructor is not quite right - Stuart will
     227       know what is wrong   -  Dave */
     228
    222229    public String getCollectionDescription() {
    223230    return (String) metaMap.get(NzdlConstants.COLLECTION_DESCRIPTION);
  • trunk/java-client/org/nzdl/gsdl/service/NzdlResultSet.java

    r2313 r2320  
    3434import java.util.Iterator;
    3535import java.util.Comparator;
     36import java.util.*;
    3637
    3738/**
     
    4243 * @author Aziz Mahoui    ([email protected])
    4344 * @author Gordon Paynter ([email protected])
     45 * @author Dave Nichols   ([email protected])
    4446 * @author Brett Sheeran ([email protected]) (comments)
    4547 */
     
    7173  }
    7274
    73   public String getTermFrequencyString() {
    74       return constructTermFrequencyString(null);
    75   }
    76 
    7775    /*
    7876     * display term frequency results in descending frequency order
     77     * for alternative sorting orders alter the compareTo method
    7978     */
    8079
    81     public String getOrderedTermFrequencyString() {
    82      class DescendingOrder implements Comparator {
    83         public int compare(Object o1, Object o2) {
    84         return -((Comparable)o1).compareTo(o2);
     80    public String getTermFrequencyString() {
     81 
     82    class TermFrequency implements Comparable {
     83        String term; long frequency;
     84        TermFrequency( String _term, Long _frequency) {
     85        term = _term; frequency = _frequency.longValue();
     86        }
     87        public int compareTo (Object o1) {
     88        TermFrequency test = (TermFrequency) o1;
     89        if (frequency == test.frequency) return 0;
     90        if (frequency < test.frequency)
     91            return -1;
     92        else
     93            return 1;
    8594        }
    8695    }
    87     return constructTermFrequencyString(new DescendingOrder());
    88     }
    89 
    90 
    91     private String constructTermFrequencyString(Comparator comparator) {
    92 
    93     TreeMap freqOrder = new TreeMap(comparator);
     96
     97    ArrayList freqList = new ArrayList();
    9498    Iterator iter = m_frequencies.entrySet().iterator();
    9599    while (iter.hasNext()) {
    96100        Map.Entry mapEntry = (Map.Entry) iter.next();
    97         freqOrder.put( mapEntry.getValue(), mapEntry.getKey());
     101        freqList.add( new TermFrequency((String)mapEntry.getKey(), (Long)(mapEntry.getValue())));
    98102    }
    99 
     103    Collections.sort(freqList, Collections.reverseOrder());
    100104    StringBuffer buf = new StringBuffer();
    101     iter = freqOrder.keySet().iterator();
     105    iter = freqList.iterator();
    102106    while(iter.hasNext()) {
    103         Object next = iter.next();
    104         System.err.println("" + next);
    105         buf.append(freqOrder.get(next)).append(':').append(next).append(' ').append(' ');
     107        TermFrequency next = (TermFrequency) iter.next();
     108        buf.append(next.term).append(':').append(next.frequency).append(' ').append(' ');
    106109    }
    107110    return buf.toString();
    108111    }
    109 
     112 
    110113  /**
    111114   * Adds a {@link NzdlQueryHit NzdlQueryHit} to a result set.
Note: See TracChangeset for help on using the changeset viewer.