Changeset 2281 for trunk


Ignore:
Timestamp:
2001-04-04T22:44:38+12:00 (23 years ago)
Author:
daven
Message:

turned on the BerryBasket. Try right-clicking on a result in the results List
to add one - no delete yet. Re-sizing maybe improved as well - no
guarantees yet though.

Location:
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/Berry.java

    r2225 r2281  
    2020
    2121
    22 public class Berry extends Object
    23 {
    24        private String berryTitle;
    25        //private QueryID
    26        //time stamp
    27        // person added
     22import java.util.*;
    2823
     24public class Berry extends Object {
     25
     26    private String berryTitle;
     27    // private Person person;
     28    private QueryHistoryItem queryHistoryItem;
     29    private Date dateAdded;
     30    private String collectionName; //unique collection ID across world?!?
     31    private String documentID;
     32     
    2933         
    30    public Berry( String newBerryTitle)
    31          {   
    32          berryTitle = newBerryTitle;
    33          }
    34 
    35    public String toString ()
    36          {
    37          return( berryTitle);
    38          }
     34    public Berry(QueryHistoryItem newQueryHistoryItem, String newDocumentID, String newCollectionName, String newBerryTitle) { 
     35    // need to add Person to argument list
     36    queryHistoryItem = newQueryHistoryItem;
     37    documentID = newDocumentID;
     38    collectionName = newCollectionName;
     39    berryTitle = newBerryTitle; // for the moment!
     40    dateAdded = new Date();
     41    }
    3942
    4043
    41 } //end Berry class
     44    public Date getDateAdded() {
     45    return dateAdded;
     46    }
     47
     48
     49    public String toString () {
     50    return( berryTitle);
     51    }
     52
     53
     54} // Berry class
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/BerryBasketModel.java

    r2225 r2281  
    2727
    2828
    29 class BerryBasketModel extends AbstractTableModel
    30 {
     29class BerryBasketModel extends AbstractTableModel {
    3130
    32  String[] content = {"Doc1", "Doc2", "Doc3"};
    33  String[] columnTitles = {"Document", "Person", "Date"};
     31    private ArrayList columnTitles;
     32    private ArrayList berryBasket;
     33
     34    private String DOCUMENT = "Document";
     35    private String DATE = "Date";
    3436 
    3537 
    36     public BerryBasketModel()
    37     {
    38         super();
    39     }
     38    public BerryBasketModel()
     39    {
     40    super();
     41    berryBasket = new ArrayList();
     42    columnTitles = new ArrayList();
     43    columnTitles.add(DOCUMENT);
     44    //columnTitles.add("User");
     45    columnTitles.add(DATE);
     46    }
    4047
    41     public void add(Berry berry)
    42     {
    43         System.out.println("adding to BerryBasketModel: "  + berry.toString());
    44         //addElement(berry);
    45     }
     48    public void add(Berry berry) {
     49    System.out.println("adding to BerryBasketModel: "  + berry.toString());
     50    berryBasket.add(0, berry);
     51    fireTableRowsInserted(0,0);
     52    }
     53   
     54    public int getColumnCount() {
     55    return columnTitles.size();
     56    }
    4657
     58    public String getColumnName(int column) {
     59    return (String) columnTitles.get(column);
     60    }
     61
     62    public int getRowCount() {
     63    return berryBasket.size();
     64    }
    4765   
    48     public int getColumnCount() { return columnTitles.length; }
    49    
    50     public int getRowCount() { return content.length;}
    51    
    52     public Object getValueAt(int row, int col) {
    53          // get Berry object
    54          // extract document title (say), person, date info from Berry object
    55          // depending on column number
    56          // column reordering shouldn't matter, all
    57          // gets dealt with automatically
    58          return Color.black;
    59     }
    60    
    61     public String getColumnName(int col) {
    62                return columnTitles[col];
     66    public Object getValueAt(int row, int column) {
     67    // get Berry object
     68    // extract document title (say), person, date info from Berry object
     69    // depending on column number
     70    // column reordering shouldn't matter, all
     71    // gets dealt with automatically
     72
     73    Berry berry = (Berry) berryBasket.get(row);
     74
     75    if (column == columnTitles.indexOf(DOCUMENT)) return berry.toString();
     76
     77    if (column == columnTitles.indexOf(DATE)) return berry.getDateAdded();
     78
     79    // shouldn't get here but display something anyway
     80    return "row" + row + "col" + column;
    6381    }
    6482   
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/BerryBasketPanel.java

    r2225 r2281  
    2929
    3030
    31 public class BerryBasketPanel extends JPanel implements Constants
    32 {
     31public class BerryBasketPanel extends JPanel implements Constants {
    3332
    34 BerryBasketModel berryModel;
    35 JTable berryTable;
    36 JList berryList;
    37 JScrollPane scrollBerryPane;
     33    BerryBasketModel berryModel;
     34    JTable berryTable;
     35    JList berryList;
     36    JScrollPane scrollBerryPane;
    3837
    39   public BerryBasketPanel(CSModel csModel)
    40   {
    41     super();
    42     setLayout( new BorderLayout() );
     38    public BerryBasketPanel(CSModel csModel)  {
     39    super();
     40    setLayout( new BorderLayout() );
    4341    setBorder(BorderFactory.createTitledBorder("BerryBasket"));
    44     /* TableModel dataModel = new AbstractTableModel() {
    45          
    46    
    47           public int getColumnCount() { return columnTitles.length; }
    48           public int getRowCount() { return 5;}
    49           public Object getValueAt(int row, int col) { return new Integer(row*col); }
    50           public String getColumnName(int col) {
    51                return columnTitles[col];
    52           }
    53 
    54       }; */
    55      berryModel = new BerryBasketModel();
    56      berryTable = new JTable(berryModel);
     42    berryModel = csModel.getBerryBasketModel();
     43    berryTable = new JTable(berryModel);
    5744 
    58     //berryTable = new JTable(5,2);
    59    
    60     //berryList = new JList(csModel.getBerryModel()); //  must be vector or array
    61     //berryList.setFont(berryFont);
    62     //berryList.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
    63     //scrollBerryPane = new JScrollPane(berryList);
    64    
    6545    berryTable.setFont(berryFont);
    6646    berryTable.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
    6747   
    68     berryTable.setDefaultRenderer(Color.class, new BerryCellRenderer());
     48    //berryTable.setDefaultRenderer(Color.class, new BerryCellRenderer());
    6949    scrollBerryPane = new JScrollPane(berryTable);
    7050    berryTable.setPreferredScrollableViewportSize(new Dimension(100, 70));
    7151
    72     add(scrollBerryPane, BorderLayout.CENTER);
    73   } //end constructor
     52    add(scrollBerryPane, BorderLayout.CENTER);
     53    } //end constructor
    7454
    7555
    76    class BerryCellRenderer extends JLabel implements TableCellRenderer {
     56    class BerryCellRenderer extends JLabel implements TableCellRenderer {
    7757 
    78   public Component getTableCellRendererComponent(JTable table,
    79                                                Object value,
    80                                                boolean isSelected,
    81                                                boolean hasFocus,
    82                                                int row,
    83                                                int column) {
    84                                                this.setText(value.toString());
    85                                                return this;
     58    public Component getTableCellRendererComponent(JTable table,
     59                               Object value,
     60                               boolean isSelected,
     61                               boolean hasFocus,
     62                               int row,
     63                               int column) {
     64        this.setText(value.toString());
     65        return this;
    8666    } // end getTableCellRendererComponent
    8767 
    8868 
    89   } //  end BerryCellRenderer
     69    } //  end BerryCellRenderer
    9070
    9171} // end BerryBasketPanel
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/CSFrame.java

    r2273 r2281  
    9191    JPanel centerPanel = new JPanel();
    9292    QueryHistoryPanel queryHistoryPanel = new QueryHistoryPanel(csModel);
     93    BerryBasketPanel berryBasketPanel = new BerryBasketPanel(csModel);
     94
     95
     96    centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.Y_AXIS));
     97    centerPanel.add(berryBasketPanel);
    9398    centerPanel.add(queryHistoryPanel);
     99
    94100
    95101    content.setLayout(new BoxLayout(content, BoxLayout.X_AXIS));   
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/CSModel.java

    r2278 r2281  
    4141 */
    4242
    43 class CSModel extends Object
    44 {
     43class CSModel extends Object {
    4544
    46   Vector collectionList;
    47   TreeMap collectionInfoMap;
     45    Vector collectionList;
     46    TreeMap collectionInfoMap;
    4847    HashMap collectionNameMap;
    49   String currentCollection;
    50   ResultModel results;
    51   NzdlService nzdl;
    52   QueryHistoryModel queryHistoryModel;
     48    String currentCollection;
     49    ResultModel results;
     50    NzdlService nzdl;
     51    QueryHistoryModel queryHistoryModel;
     52    BerryBasketModel berryBasketModel;
    5353   
    5454
    55   public CSModel(NzdlService newNzdl)
    56   {
    57     nzdl = newNzdl;
    58     results = new ResultModel();
    59     collectionList = new Vector();
    60     collectionInfoMap = new TreeMap();
    61     collectionNameMap = new HashMap();
    62     queryHistoryModel = new QueryHistoryModel();
    63     currentCollection = "";
    64     initialiseCollection();
    65   }
     55    public CSModel(NzdlService newNzdl)
     56    {
     57    nzdl = newNzdl;
     58    results = new ResultModel();
     59    collectionList = new Vector();
     60    collectionInfoMap = new TreeMap();
     61    collectionNameMap = new HashMap();
     62    queryHistoryModel = new QueryHistoryModel();
     63    berryBasketModel = new BerryBasketModel();
     64    currentCollection = "";
     65    initialiseCollection();
     66    }
    6667 
    6768 
    68   public NzdlService getNzdlService()
    69   {
    70     return nzdl;
    71   }
     69    public NzdlService getNzdlService()
     70    {
     71    return nzdl;
     72    }
    7273
    7374    public QueryHistoryModel getQueryHistoryModel() {
    7475    return queryHistoryModel;
    7576    }
     77
     78    public BerryBasketModel getBerryBasketModel() {
     79    return berryBasketModel;
     80    }
    7681   
     82    /* Result methods */
    7783
    78   /* Result methods */
     84    public ResultModel getResultsModel()
     85    {
     86    return results;
     87    }
     88   
     89    public void addResult(Result result)
     90    {
     91    results.add(result);
     92    }
     93   
     94    public void clearResults()
     95    {
     96    //System.out.println("Clearing resultModel");
     97    results.clear();
     98    }
    7999
    80   public ResultModel getResultsModel()
    81   {
    82     return results;
    83   }
    84    
    85   public void addResult(Result result)
    86   {
    87     results.add(result);
    88   }
    89    
    90   public void clearResults()
    91   {
    92     //System.out.println("Clearing resultModel");
    93     results.clear();
    94   }
    95 
    96   /* collectionList methods */
     100    /* collectionList methods */
    97101
    98102    public Vector getCollectionList() {
     
    127131
    128132
    129     public void setCurrentCollection(String collection )
    130         {
    131         currentCollection = collection;
    132         }
     133    public void setCurrentCollection(String collection )
     134    {
     135    currentCollection = collection;
     136    }
    133137
    134     public String getCurrentCollection()
    135         {
    136         return currentCollection;
    137         }
     138    public String getCurrentCollection()
     139    {
     140    return currentCollection;
     141    }
    138142
    139     public String getFirstCollection()
    140         {
    141         if (getCollectionListSize() > 0)
    142             return (String)collectionInfoMap.firstKey();
    143         else
    144             return "no collections";
    145         }
    146     /**
    147     *
    148     */
    149     public void initialiseCollection()
    150         {
    151         Set collectionSet = nzdl.getCollectionSet(); // set of strings of collection titles
    152         TreeSet orderedCollectionSet = new TreeSet(collectionSet);
    153         // TreeSet automatically puts strings in alphabetical order
    154         System.out.println("Number of collections on the server: " +
    155                    orderedCollectionSet.size());
    156         Iterator collectionSetIterator = orderedCollectionSet.iterator();
    157         while (collectionSetIterator.hasNext() ) {
    158           // object -> String
    159           String collectionName = (String)collectionSetIterator.next();
    160           NzdlCollectionInfo info = nzdl.getCollectionInfo(collectionName);
     143    public String getFirstCollection()
     144    {
     145    if (getCollectionListSize() > 0)
     146        return (String)collectionInfoMap.firstKey();
     147    else
     148        return "no collections";
     149    }
     150    /**
     151    *
     152    */
     153    public void initialiseCollection()
     154    {
     155    Set collectionSet = nzdl.getCollectionSet(); // set of strings of collection titles
     156    TreeSet orderedCollectionSet = new TreeSet(collectionSet);
     157    // TreeSet automatically puts strings in alphabetical order
     158    System.out.println("Number of collections on the server: " +
     159               orderedCollectionSet.size());
     160    Iterator collectionSetIterator = orderedCollectionSet.iterator();
     161    while (collectionSetIterator.hasNext() ) {
     162        // object -> String
     163        String collectionName = (String)collectionSetIterator.next();
     164        NzdlCollectionInfo info = nzdl.getCollectionInfo(collectionName);
    161165
    162           if (info != null &&
    163               info.getBuildDate() != 0 &&
    164               nzdl.pingCollection(collectionName)) {
    165             collectionInfoMap.put(collectionName, info);
    166             String longCollectionName = "";
    167             Set n = nzdl.getMetaData(collectionName, "collection", "collectionname");
    168             if (n != null) {
    169               if (n.size() == 1)
     166        if (info != null &&
     167        info.getBuildDate() != 0 &&
     168        nzdl.pingCollection(collectionName)) {
     169        collectionInfoMap.put(collectionName, info);
     170        String longCollectionName = "";
     171        Set n = nzdl.getMetaData(collectionName, "collection", "collectionname");
     172        if (n != null) {
     173            if (n.size() == 1)
    170174            longCollectionName = (String) n.toArray()[0];
    171               else
     175            else
    172176            longCollectionName = collectionName + " has more than 1 collectionname";
    173               collectionNameMap.put(collectionName,longCollectionName );
    174               System.err.println("Adding " + collectionName + " to collection list...");
    175             }
    176           } // end if
    177           else {
    178             System.err.println("Collection " + collectionName + " getBuildDate() returned 0");
    179           } // end else
    180         } // end while 
    181         setCurrentCollection(getFirstCollection()); //assume at least one collection
     177            collectionNameMap.put(collectionName,longCollectionName );
     178            System.err.println("Adding " + collectionName + " to collection list...");
     179        }
     180        } // end if
     181        else {
     182        System.err.println("Collection " + collectionName + " getBuildDate() returned 0");
     183        } // end else
     184    } // end while 
     185    setCurrentCollection(getFirstCollection()); //assume at least one collection
    182186   
    183         }
     187    }
    184188   
    185189   
    186     }
     190}
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/QueryHistoryItem.java

    r2275 r2281  
    5252    }
    5353
     54 public QueryHistoryItem() {
     55     this(new Query(""), new Date(), "", "", 0, "", false, false);
     56    }
     57
    5458    public String getCollectionName() {
    5559    return collectionName;
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/QueryHistoryModel.java

    r2275 r2281  
    3232
    3333    private String COLLECTION = "Collection";
    34     private String DATE_TIME = "Date/Time";
     34    private String DATE_TIME = "Time";
    3535    private String TERMS = "Terms";
    3636    private String HITS  = "Hits";
    3737    private String QUERYTYPE = "Type";
    38     private String STEMMED = "Stemmed?";
    39     private String CASEMATCHED = "Case match?";
     38    private String STEMMED = "Stem?";
     39    private String CASEMATCHED = "Case?";
    4040
    4141
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/Result.java

    r2165 r2281  
    3535       private String docID;
    3636       private String collectionName;
     37       private QueryHistoryItem queryHistoryItem;
    3738
    3839
    39     public final static Result FAKE_RESULT = new Result("No results returned", "", "");
    40     public final static Result INITIAL_FAKE_RESULT = new Result("Search results will appear here", "", "");
     40    public final static Result FAKE_RESULT = new Result("No results returned", "", "", new QueryHistoryItem() );
     41    public final static Result INITIAL_FAKE_RESULT = new Result("Search results will appear here", "", "",  new QueryHistoryItem());
    4142       // related query
    4243       // time, person, collection etc
    4344
    44          public Result( String newResultTitle)
    45          {   
    46          resultTitle = newResultTitle;
    47          }
     45    public Result( String newResultTitle) { 
     46    resultTitle = newResultTitle;
     47    }
    4848         
    49    public Result( String newResultTitle, String newResultDocID,  String newResultCollectionName)
     49   public Result( String newResultTitle, String newResultDocID,  String newResultCollectionName, QueryHistoryItem newQueryHistoryItem)
    5050         {   
    5151         resultTitle = newResultTitle;
    5252     docID = newResultDocID;
    5353     collectionName = newResultCollectionName;
     54     queryHistoryItem = newQueryHistoryItem;
    5455         }
    5556
    56    public String toString ()
    57          {
    58          return resultTitle;
    59          }
    60     public String getDocID()
    61     {
    62         return docID;
    63     }
    64     public String getCollectionName()
    65     {
     57    public String toString () {
     58    return resultTitle;
     59    }
     60    public String getDocID() {
     61    return docID;
     62    }
     63    public String getCollectionName() {
    6664    return collectionName;
     65    }
     66    public QueryHistoryItem getQueryHistoryItem() {
     67    return queryHistoryItem;
    6768    }
    6869
  • trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/SearchPanel.java

    r2275 r2281  
    6868    JPanel queryTypePanel, searchControlPanel;
    6969  JPanel collectionListPanel, searchTextFieldPanel, searchButtonPanel;
     70    JPopupMenu resultPopup;
     71    Result selectedResult;
     72    ResultModel resultListModel;
    7073  JList   resultsList;   
    7174    JCheckBox stemCheckBox, caseFoldCheckBox;
     
    207210    resultsPanel.setLayout(new BorderLayout());
    208211    resultsPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
    209     ResultModel resultListModel = csModel.getResultsModel();
     212    resultListModel = csModel.getResultsModel();
    210213    resultsList = new JList(resultListModel);
    211214    resultsList.setFont(resultsFont);
     
    215218    resultsPanel.add(scrollResultsPane, BorderLayout.CENTER);
    216219    csModel.addResult(Result.INITIAL_FAKE_RESULT);
     220
     221    resultPopup = new JPopupMenu();
     222    JMenuItem addBerryItem = new JMenuItem("Add to BerryBasket");
     223    addBerryItem.addActionListener(new ActionListener() {
     224        public void actionPerformed(ActionEvent e) {
     225        System.err.println("SelectedResult = " + selectedResult);
     226        //System.err.println("add berry now...");
     227        csModel.getBerryBasketModel().add( new Berry(selectedResult.getQueryHistoryItem(),selectedResult.getDocID(),selectedResult.getCollectionName(), selectedResult.toString()));
     228        } // actionPerformed
     229    });
     230    resultPopup.add(addBerryItem);
     231    MouseListener popupListener = new PopupListener();
     232    resultsList.addMouseListener(popupListener);
     233
     234
     235
    217236
    218237    dataPanel = new JPanel();
     
    264283      NzdlQuery nzdlQuery = new NzdlQuery(queryString);
    265284      nzdlQuery.setQueryType(buttonGroup.getSelection().getActionCommand());
    266       System.err.println(buttonGroup.getSelection().getActionCommand());
    267285      //nzdlQuery.setQueryType("boolean");
    268286      nzdlQuery.setStemming(stemCheckBox.isSelected());
     
    295313      // update the results list
    296314      csModel.clearResults();
    297      
     315
     316      QueryHistoryItem queryHistoryItem =  new QueryHistoryItem(new Query(queryString), new Date(), collectionName, "user",docIDs.size(),buttonGroup.getSelection().getActionCommand(),stemCheckBox.isSelected(), caseFoldCheckBox.isSelected());
     317    csModel.getQueryHistoryModel().add(queryHistoryItem);
     318
    298319      if (docIDs.size() == 0 ) { // give some feedback for 0 results
    299320    csModel.addResult(Result.FAKE_RESULT);
     
    304325    while (docIDsIterator.hasNext()) {
    305326      String resultDocID =  (String) docIDsIterator.next();
    306       csModel.addResult(new Result((String)titleMap.get(resultDocID), resultDocID, collectionName ));
     327      csModel.addResult(new Result((String)titleMap.get(resultDocID), resultDocID, collectionName, queryHistoryItem ));
    307328    } //end while
    308329    if (NzdlPreferences.getInstance().getBoolean(NzdlConstants.DISPLAY_FIRST_DOC))
     
    310331      } // end else
    311332
    312 
     333      /*
    313334      csModel.getQueryHistoryModel().add( new QueryHistoryItem(new Query(queryString), new Date(), collectionName, "user",docIDs.size(),buttonGroup.getSelection().getActionCommand(),stemCheckBox.isSelected(), caseFoldCheckBox.isSelected() ));
    314 
     335      */
    315336      titleMap.clear();
    316337      titleMetaData.clear();
     
    443464
    444465
     466    class PopupListener extends MouseAdapter {
     467    public void mousePressed(MouseEvent e) {
     468        maybeShowPopup(e);
     469    }
     470
     471    public void mouseReleased(MouseEvent e) {
     472        maybeShowPopup(e);
     473    }
     474
     475    private void maybeShowPopup(MouseEvent e) {
     476        if (e.isPopupTrigger()) {
     477        int index = resultsList.locationToIndex(new Point(e.getX(), e.getY()));
     478        if (index < resultListModel.getSize()) {
     479            Result result = (Result) resultListModel.getElementAt(index);
     480            if (result != Result.INITIAL_FAKE_RESULT) {
     481            selectedResult = result;
     482            resultPopup.show(e.getComponent(),
     483                     e.getX(), e.getY());
     484            }
     485        }
     486        else
     487            System.err.println("popup not on item");
     488        }
     489    }
     490    } // PopupListener
     491
     492
     493
    445494} //end SearchPanel
Note: See TracChangeset for help on using the changeset viewer.