Changeset 2281 for trunk/java-client/org/nzdl
- Timestamp:
- 2001-04-04T22:44:38+12:00 (23 years ago)
- 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 20 20 21 21 22 public class Berry extends Object 23 { 24 private String berryTitle; 25 //private QueryID 26 //time stamp 27 // person added 22 import java.util.*; 28 23 24 public 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 29 33 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 } 39 42 40 43 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 27 27 28 28 29 class BerryBasketModel extends AbstractTableModel 30 { 29 class BerryBasketModel extends AbstractTableModel { 31 30 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"; 34 36 35 37 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 } 40 47 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 } 46 57 58 public String getColumnName(int column) { 59 return (String) columnTitles.get(column); 60 } 61 62 public int getRowCount() { 63 return berryBasket.size(); 64 } 47 65 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 object54 // extract document title (say), person, date info from Berry object 55 // depending on column number56 // column reordering shouldn't matter, all 57 // gets dealt with automatically58 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; 63 81 } 64 82 -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/BerryBasketPanel.java
r2225 r2281 29 29 30 30 31 public class BerryBasketPanel extends JPanel implements Constants 32 { 31 public class BerryBasketPanel extends JPanel implements Constants { 33 32 34 BerryBasketModel berryModel;35 JTable berryTable;36 JList berryList;37 JScrollPane scrollBerryPane;33 BerryBasketModel berryModel; 34 JTable berryTable; 35 JList berryList; 36 JScrollPane scrollBerryPane; 38 37 39 public BerryBasketPanel(CSModel csModel) 40 { 41 super(); 42 setLayout( new BorderLayout() ); 38 public BerryBasketPanel(CSModel csModel) { 39 super(); 40 setLayout( new BorderLayout() ); 43 41 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); 57 44 58 //berryTable = new JTable(5,2);59 60 //berryList = new JList(csModel.getBerryModel()); // must be vector or array61 //berryList.setFont(berryFont);62 //berryList.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));63 //scrollBerryPane = new JScrollPane(berryList);64 65 45 berryTable.setFont(berryFont); 66 46 berryTable.setBorder(BorderFactory.createEmptyBorder(3,3,3,3)); 67 47 68 berryTable.setDefaultRenderer(Color.class, new BerryCellRenderer());48 //berryTable.setDefaultRenderer(Color.class, new BerryCellRenderer()); 69 49 scrollBerryPane = new JScrollPane(berryTable); 70 50 berryTable.setPreferredScrollableViewportSize(new Dimension(100, 70)); 71 51 72 73 } //end constructor52 add(scrollBerryPane, BorderLayout.CENTER); 53 } //end constructor 74 54 75 55 76 class BerryCellRenderer extends JLabel implements TableCellRenderer {56 class BerryCellRenderer extends JLabel implements TableCellRenderer { 77 57 78 79 80 81 82 83 84 85 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; 86 66 } // end getTableCellRendererComponent 87 67 88 68 89 } // end BerryCellRenderer69 } // end BerryCellRenderer 90 70 91 71 } // end BerryBasketPanel -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/CSFrame.java
r2273 r2281 91 91 JPanel centerPanel = new JPanel(); 92 92 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); 93 98 centerPanel.add(queryHistoryPanel); 99 94 100 95 101 content.setLayout(new BoxLayout(content, BoxLayout.X_AXIS)); -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/CSModel.java
r2278 r2281 41 41 */ 42 42 43 class CSModel extends Object 44 { 43 class CSModel extends Object { 45 44 46 Vector collectionList;47 TreeMap collectionInfoMap;45 Vector collectionList; 46 TreeMap collectionInfoMap; 48 47 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; 53 53 54 54 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 } 66 67 67 68 68 public NzdlService getNzdlService()69 {70 71 }69 public NzdlService getNzdlService() 70 { 71 return nzdl; 72 } 72 73 73 74 public QueryHistoryModel getQueryHistoryModel() { 74 75 return queryHistoryModel; 75 76 } 77 78 public BerryBasketModel getBerryBasketModel() { 79 return berryBasketModel; 80 } 76 81 82 /* Result methods */ 77 83 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 } 79 99 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 */ 97 101 98 102 public Vector getCollectionList() { … … 127 131 128 132 129 130 131 132 133 public void setCurrentCollection(String collection ) 134 { 135 currentCollection = collection; 136 } 133 137 134 135 136 137 138 public String getCurrentCollection() 139 { 140 return currentCollection; 141 } 138 142 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 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); 161 165 162 163 164 165 166 167 168 169 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) 170 174 longCollectionName = (String) n.toArray()[0]; 171 175 else 172 176 longCollectionName = collectionName + " has more than 1 collectionname"; 173 174 175 176 177 178 179 180 181 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 182 186 183 187 } 184 188 185 189 186 190 } -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/QueryHistoryItem.java
r2275 r2281 52 52 } 53 53 54 public QueryHistoryItem() { 55 this(new Query(""), new Date(), "", "", 0, "", false, false); 56 } 57 54 58 public String getCollectionName() { 55 59 return collectionName; -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/QueryHistoryModel.java
r2275 r2281 32 32 33 33 private String COLLECTION = "Collection"; 34 private String DATE_TIME = " Date/Time";34 private String DATE_TIME = "Time"; 35 35 private String TERMS = "Terms"; 36 36 private String HITS = "Hits"; 37 37 private String QUERYTYPE = "Type"; 38 private String STEMMED = "Stem med?";39 private String CASEMATCHED = "Case match?";38 private String STEMMED = "Stem?"; 39 private String CASEMATCHED = "Case?"; 40 40 41 41 -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/Result.java
r2165 r2281 35 35 private String docID; 36 36 private String collectionName; 37 private QueryHistoryItem queryHistoryItem; 37 38 38 39 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()); 41 42 // related query 42 43 // time, person, collection etc 43 44 44 public Result( String newResultTitle) 45 { 46 resultTitle = newResultTitle; 47 } 45 public Result( String newResultTitle) { 46 resultTitle = newResultTitle; 47 } 48 48 49 public Result( String newResultTitle, String newResultDocID, String newResultCollectionName )49 public Result( String newResultTitle, String newResultDocID, String newResultCollectionName, QueryHistoryItem newQueryHistoryItem) 50 50 { 51 51 resultTitle = newResultTitle; 52 52 docID = newResultDocID; 53 53 collectionName = newResultCollectionName; 54 queryHistoryItem = newQueryHistoryItem; 54 55 } 55 56 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() { 66 64 return collectionName; 65 } 66 public QueryHistoryItem getQueryHistoryItem() { 67 return queryHistoryItem; 67 68 } 68 69 -
trunk/java-client/org/nzdl/gsdl/SimpleGraphicalClient/SearchPanel.java
r2275 r2281 68 68 JPanel queryTypePanel, searchControlPanel; 69 69 JPanel collectionListPanel, searchTextFieldPanel, searchButtonPanel; 70 JPopupMenu resultPopup; 71 Result selectedResult; 72 ResultModel resultListModel; 70 73 JList resultsList; 71 74 JCheckBox stemCheckBox, caseFoldCheckBox; … … 207 210 resultsPanel.setLayout(new BorderLayout()); 208 211 resultsPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 209 ResultModelresultListModel = csModel.getResultsModel();212 resultListModel = csModel.getResultsModel(); 210 213 resultsList = new JList(resultListModel); 211 214 resultsList.setFont(resultsFont); … … 215 218 resultsPanel.add(scrollResultsPane, BorderLayout.CENTER); 216 219 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 217 236 218 237 dataPanel = new JPanel(); … … 264 283 NzdlQuery nzdlQuery = new NzdlQuery(queryString); 265 284 nzdlQuery.setQueryType(buttonGroup.getSelection().getActionCommand()); 266 System.err.println(buttonGroup.getSelection().getActionCommand());267 285 //nzdlQuery.setQueryType("boolean"); 268 286 nzdlQuery.setStemming(stemCheckBox.isSelected()); … … 295 313 // update the results list 296 314 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 298 319 if (docIDs.size() == 0 ) { // give some feedback for 0 results 299 320 csModel.addResult(Result.FAKE_RESULT); … … 304 325 while (docIDsIterator.hasNext()) { 305 326 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 )); 307 328 } //end while 308 329 if (NzdlPreferences.getInstance().getBoolean(NzdlConstants.DISPLAY_FIRST_DOC)) … … 310 331 } // end else 311 332 312 333 /* 313 334 csModel.getQueryHistoryModel().add( new QueryHistoryItem(new Query(queryString), new Date(), collectionName, "user",docIDs.size(),buttonGroup.getSelection().getActionCommand(),stemCheckBox.isSelected(), caseFoldCheckBox.isSelected() )); 314 335 */ 315 336 titleMap.clear(); 316 337 titleMetaData.clear(); … … 443 464 444 465 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 445 494 } //end SearchPanel
Note:
See TracChangeset
for help on using the changeset viewer.