1 | package org.expeditee.greenstone;
|
---|
2 |
|
---|
3 | import java.util.HashSet;
|
---|
4 | import java.util.Set;
|
---|
5 | import java.util.Vector;
|
---|
6 |
|
---|
7 | public class ResultDocument {
|
---|
8 | private Vector<String> authors;
|
---|
9 |
|
---|
10 | private Vector<String> keywords;
|
---|
11 |
|
---|
12 | private String title;
|
---|
13 |
|
---|
14 | private String date;
|
---|
15 |
|
---|
16 | private String booktitle;
|
---|
17 |
|
---|
18 | private String pages;
|
---|
19 |
|
---|
20 | private String journal;
|
---|
21 |
|
---|
22 | private String volume;
|
---|
23 |
|
---|
24 | private String number;
|
---|
25 |
|
---|
26 | private String docabstract;
|
---|
27 |
|
---|
28 | private String editor;
|
---|
29 |
|
---|
30 | private String publisher;
|
---|
31 |
|
---|
32 | private int frequencyReturned;
|
---|
33 |
|
---|
34 | private Vector<QueryContext> queryContexts;
|
---|
35 |
|
---|
36 | private Set<String> retrievedMetadata;
|
---|
37 |
|
---|
38 | public ResultDocument() {
|
---|
39 | authors = new Vector<String>();
|
---|
40 | keywords = new Vector<String>();
|
---|
41 | title = null;
|
---|
42 | date = null;
|
---|
43 | booktitle = null;
|
---|
44 | pages = null;
|
---|
45 | journal = null;
|
---|
46 | volume = null;
|
---|
47 | number = null;
|
---|
48 | docabstract = null;
|
---|
49 | editor = null;
|
---|
50 | publisher = null;
|
---|
51 | frequencyReturned = 1;
|
---|
52 | queryContexts = new Vector<QueryContext>();
|
---|
53 | retrievedMetadata = new HashSet<String>();
|
---|
54 | }
|
---|
55 |
|
---|
56 | public String toString() {
|
---|
57 | String dump = "Authors\t\t" + authors.toString() + "\n";
|
---|
58 | dump = dump + "Keywords\t" + keywords.toString() + "\n";
|
---|
59 | dump = dump + "Title\t\t" + title + "\n";
|
---|
60 | dump = dump + "Date\t\t" + date + "\n";
|
---|
61 | dump = dump + "Booktitle\t" + booktitle + "\n";
|
---|
62 | dump = dump + "Pages\t\t" + pages + "\n";
|
---|
63 | dump = dump + "Journal\t\t" + journal + "\n";
|
---|
64 | dump = dump + "Volume\t\t" + volume + "\n";
|
---|
65 | dump = dump + "Number\t\t" + number + "\n";
|
---|
66 | dump = dump + "Editor\t\t" + editor + "\n";
|
---|
67 | dump = dump + "Publisher\t" + publisher + "\n";
|
---|
68 | dump = dump + "Frequency\t" + frequencyReturned + "\n";
|
---|
69 | dump = dump + "Abstract\t" + docabstract;
|
---|
70 |
|
---|
71 | for (QueryContext queryContext : queryContexts) {
|
---|
72 | dump = dump + queryContext.toString();
|
---|
73 | }
|
---|
74 | return dump;
|
---|
75 | }
|
---|
76 |
|
---|
77 | public String toDelimitedString(String delimiter) {
|
---|
78 | String dump = "";
|
---|
79 | dump = dump + date + delimiter;
|
---|
80 | if (authors.size() > 0) {
|
---|
81 | dump = dump + authors.elementAt(0) + delimiter;
|
---|
82 | } else {
|
---|
83 | dump = dump + null + delimiter;
|
---|
84 | }
|
---|
85 | if (keywords.size() > 0) {
|
---|
86 | dump = dump + keywords.elementAt(0) + delimiter;
|
---|
87 | } else {
|
---|
88 | dump = dump + null + delimiter;
|
---|
89 | }
|
---|
90 | dump = dump + title + delimiter;
|
---|
91 | dump = dump + booktitle + delimiter;
|
---|
92 | dump = dump + journal + delimiter;
|
---|
93 | dump = dump + volume + delimiter;
|
---|
94 | dump = dump + number + delimiter;
|
---|
95 | dump = dump + editor + delimiter;
|
---|
96 | dump = dump + publisher + delimiter;
|
---|
97 | dump = dump + frequencyReturned;
|
---|
98 | return dump;
|
---|
99 | }
|
---|
100 |
|
---|
101 | public void addAuthor(String author) {
|
---|
102 | this.authors.addElement(author);
|
---|
103 | this.retrievedMetadata.add("Creator");
|
---|
104 | }
|
---|
105 |
|
---|
106 | public void addKeyword(String keyword) {
|
---|
107 | this.keywords.addElement(keyword);
|
---|
108 | this.retrievedMetadata.add("Keywords");
|
---|
109 | }
|
---|
110 |
|
---|
111 | public void setTitle(String title) {
|
---|
112 | this.title = removeHTML(title);
|
---|
113 | this.retrievedMetadata.add("Title");
|
---|
114 | }
|
---|
115 |
|
---|
116 | public void setDate(String date) {
|
---|
117 | this.date = new String(date);
|
---|
118 | this.retrievedMetadata.add("Date");
|
---|
119 | }
|
---|
120 |
|
---|
121 | public void setBooktitle(String booktitle) {
|
---|
122 | this.booktitle = new String(booktitle);
|
---|
123 | this.retrievedMetadata.add("Booktitle");
|
---|
124 | }
|
---|
125 |
|
---|
126 | public void setPages(String pages) {
|
---|
127 | this.pages = new String(pages);
|
---|
128 | this.retrievedMetadata.add("Pages");
|
---|
129 | }
|
---|
130 |
|
---|
131 | public void setJournal(String journal) {
|
---|
132 | this.journal = new String(journal);
|
---|
133 | this.retrievedMetadata.add("Journal");
|
---|
134 | }
|
---|
135 |
|
---|
136 | public void setVolume(String volume) {
|
---|
137 | this.volume = new String(volume);
|
---|
138 | this.retrievedMetadata.add("Volume");
|
---|
139 | }
|
---|
140 |
|
---|
141 | public void setNumber(String number) {
|
---|
142 | this.number = new String(number);
|
---|
143 | this.retrievedMetadata.add("Number");
|
---|
144 | }
|
---|
145 |
|
---|
146 | public void setAbstract(String docabstract) {
|
---|
147 | this.docabstract = new String(docabstract);
|
---|
148 | this.retrievedMetadata.add("Abstract");
|
---|
149 | }
|
---|
150 |
|
---|
151 | public void setEditor(String editor) {
|
---|
152 | this.editor = new String(editor);
|
---|
153 | this.retrievedMetadata.add("Editor");
|
---|
154 | }
|
---|
155 |
|
---|
156 | public void setPublisher(String publisher) {
|
---|
157 | this.publisher = new String(publisher);
|
---|
158 | this.retrievedMetadata.add("Publisher");
|
---|
159 | }
|
---|
160 |
|
---|
161 | public void incrementFrequencyReturned() {
|
---|
162 | this.frequencyReturned++;
|
---|
163 | }
|
---|
164 |
|
---|
165 | public void addQueryContext(QueryContext queryContext) {
|
---|
166 | this.queryContexts.addElement(queryContext);
|
---|
167 | }
|
---|
168 |
|
---|
169 | public Vector<String> getAuthors() {
|
---|
170 | return authors;
|
---|
171 | }
|
---|
172 |
|
---|
173 | public Vector<String> getKeywords() {
|
---|
174 | return keywords;
|
---|
175 | }
|
---|
176 |
|
---|
177 | public String getTitle() {
|
---|
178 | return title;
|
---|
179 | }
|
---|
180 |
|
---|
181 | public String getDate() {
|
---|
182 | return date;
|
---|
183 | }
|
---|
184 |
|
---|
185 | public String getBooktitle() {
|
---|
186 | return booktitle;
|
---|
187 | }
|
---|
188 |
|
---|
189 | public String getPages() {
|
---|
190 | return pages;
|
---|
191 | }
|
---|
192 |
|
---|
193 | public String getJournal() {
|
---|
194 | return journal;
|
---|
195 | }
|
---|
196 |
|
---|
197 | public String getVolume() {
|
---|
198 | return volume;
|
---|
199 | }
|
---|
200 |
|
---|
201 | public String getNumber() {
|
---|
202 | return number;
|
---|
203 | }
|
---|
204 |
|
---|
205 | public String getAbstract() {
|
---|
206 | return docabstract;
|
---|
207 | }
|
---|
208 |
|
---|
209 | public String getEditor() {
|
---|
210 | return editor;
|
---|
211 | }
|
---|
212 |
|
---|
213 | public String getPublisher() {
|
---|
214 | return publisher;
|
---|
215 | }
|
---|
216 |
|
---|
217 | public int getFrequencyReturned() {
|
---|
218 | return frequencyReturned;
|
---|
219 | }
|
---|
220 |
|
---|
221 | public Vector getQueryContexts() {
|
---|
222 | return this.queryContexts;
|
---|
223 | }
|
---|
224 |
|
---|
225 | public boolean metadataExists(String metadataTag) {
|
---|
226 | return this.retrievedMetadata.contains(metadataTag);
|
---|
227 | }
|
---|
228 |
|
---|
229 |
|
---|
230 | protected String removeHTML(String s){
|
---|
231 | return s.replaceAll(""", "\"");
|
---|
232 | }
|
---|
233 |
|
---|
234 | }
|
---|