source: trunk/src/org/expeditee/agents/SearchFramesetNoResults.java@ 292

Last change on this file since 292 was 292, checked in by ra33, 16 years ago

Restored multicolumn searchresults

File size: 1.7 KB
Line 
1package org.expeditee.agents;
2
3import java.util.Collection;
4import java.util.HashMap;
5import java.util.Map;
6
7import org.expeditee.gui.Frame;
8import org.expeditee.gui.FrameIO;
9
10public class SearchFramesetNoResults extends SearchAgent {
11 private long _firstFrame = 1;
12 private long _maxFrame = Integer.MAX_VALUE;
13 private Map<String, Collection<String>> _results = new HashMap<String, Collection<String>>();
14
15 public SearchFramesetNoResults(String searchText) {
16 super(searchText);
17 }
18
19 public SearchFramesetNoResults(String searchText, long firstFrame, long maxFrame) {
20 this(searchText);
21 _firstFrame = firstFrame;
22 _maxFrame = maxFrame;
23 }
24
25 @Override
26 protected Frame process(Frame frame) {
27 String path = frame.path;
28 int count = FrameIO.getLastNumber(frame.getFramesetName());
29 for (long i = _firstFrame;i <= _maxFrame && i <= count; i++) {
30 if (_stop) {
31 break;
32 }
33 String frameName = _startName + i;
34 Collection<String> found = FrameIO.searchFrame(frameName, _pattern, path);
35 int size = found == null? 0 :found.size();
36 if(found!= null)
37 _frameCount++;
38 if(size > 0){
39 _results.put(frameName, found);
40 }
41 }
42 return null;
43 }
44
45 public Map<String, Collection<String>> getResult(){
46 return _results;
47 }
48
49 @Override
50 public boolean hasResultFrame() {
51 return false;
52 }
53
54 @Override
55 public boolean hasResultString() {
56 return true;
57 }
58
59 @Override
60 public String toString(){
61 StringBuffer resultString = new StringBuffer();
62 for(String frame: _results.keySet()){
63 resultString.append(frame);
64 for(String found: _results.get(frame)){
65 resultString.append('[').append(found).append(']');
66 }
67 resultString.append('\n');
68 }
69 resultString.deleteCharAt(resultString.length()-1);
70 return resultString.toString();
71 }
72}
Note: See TracBrowser for help on using the repository browser.