Révision 3018
tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/core/functions/summary/Summary.java (revision 3018) | ||
---|---|---|
4 | 4 |
import java.util.ArrayList; |
5 | 5 |
import java.util.Arrays; |
6 | 6 |
|
7 |
import org.apache.commons.lang.StringUtils; |
|
7 | 8 |
import org.txm.core.messages.TXMCoreMessages; |
9 |
import org.txm.core.results.Parameter; |
|
8 | 10 |
import org.txm.core.results.TXMParameters; |
9 | 11 |
import org.txm.core.results.TXMResult; |
10 | 12 |
import org.txm.objects.Edition; |
... | ... | |
26 | 28 |
|
27 | 29 |
TreeNode treenodes = new TreeNode("root"); //$NON-NLS-1$ |
28 | 30 |
|
29 |
private ArrayList<StructuralUnitProperty> properties; |
|
31 |
@Parameter(key = "props") |
|
32 |
protected ArrayList<StructuralUnitProperty> properties; |
|
30 | 33 |
|
31 | 34 |
public Summary(MainCorpus corpus) { |
32 | 35 |
super(corpus); |
33 | 36 |
this.corpus = corpus; |
34 | 37 |
} |
35 | 38 |
|
36 |
|
|
37 | 39 |
@Override |
38 | 40 |
public boolean canCompute() { |
39 | 41 |
return corpus != null && properties != null && properties.size() > 0; |
... | ... | |
41 | 43 |
|
42 | 44 |
@Override |
43 | 45 |
public boolean setParameters(TXMParameters parameters) { |
44 |
// TODO Auto-generated method stub |
|
45 | 46 |
System.err.println("Summary.setParameters(): not yet implemented."); |
46 | 47 |
return true; |
47 | 48 |
} |
48 | 49 |
|
49 | 50 |
@Override |
50 | 51 |
public boolean loadParameters() { |
51 |
// TODO Auto-generated method stub |
|
52 | 52 |
System.err.println("Summary.loadParameters(): not yet implemented."); |
53 | 53 |
return true; |
54 | 54 |
} |
... | ... | |
56 | 56 |
|
57 | 57 |
@Override |
58 | 58 |
public boolean saveParameters() { |
59 |
// TODO Auto-generated method stub |
|
60 | 59 |
System.err.println("Summary.saveParameters(): not yet implemented."); |
61 | 60 |
return true; |
62 | 61 |
} |
... | ... | |
68 | 67 |
treenodes.id = corpus.getID(); |
69 | 68 |
treenodes.start = 0; |
70 | 69 |
treenodes.parent = null; |
70 |
treenodes.clear(); |
|
71 | 71 |
// get all type of structures |
72 | 72 |
for (int j = 0; j < properties.size(); j++) { |
73 | 73 |
String suname = properties.get(j).getStructuralUnit().getName(); |
... | ... | |
88 | 88 |
System.out.println(suname + ": starts.length " + starts.length + " != ends.length " + ends.length); //$NON-NLS-1$ //$NON-NLS-2$ |
89 | 89 |
return false; |
90 | 90 |
} |
91 |
|
|
92 |
// create the nodes list |
|
91 | 93 |
for (int i = 0; i < starts.length; i++) { |
92 | 94 |
// System.out.println("suname: "+suname+" start: "+m.getStart()); |
93 | 95 |
TreeNode node = new TreeNode(); |
... | ... | |
101 | 103 |
// this.print(); |
102 | 104 |
|
103 | 105 |
// System.out.println("sorting... "+treenodes.size()+" nodes"); |
106 |
// sorting and create hierarchy nodes |
|
104 | 107 |
processNodeList(treenodes); |
105 | 108 |
|
106 | 109 |
// System.out.println("checking result..."+treenodes.size()+" nodes"); |
... | ... | |
116 | 119 |
return treenodes; |
117 | 120 |
} |
118 | 121 |
|
119 |
|
|
120 |
|
|
121 | 122 |
private void processNodeList(TreeNode nodes) { |
122 | 123 |
// System.out.println("+processing node list: "+nodes.size()); |
123 |
if (nodes.size() == 0) |
|
124 |
if (nodes.size() == 0) {
|
|
124 | 125 |
return; |
126 |
} |
|
125 | 127 |
|
126 | 128 |
// 1st loop |
127 | 129 |
// System.out.println("1st loop: "+nodes.size()); |
... | ... | |
137 | 139 |
node.add(n2); |
138 | 140 |
nodes.remove(j); |
139 | 141 |
j--; |
140 |
if (j < i) |
|
142 |
if (j < i) {
|
|
141 | 143 |
i--; |
144 |
} |
|
142 | 145 |
} |
143 | 146 |
} |
144 | 147 |
} |
... | ... | |
157 | 160 |
} |
158 | 161 |
|
159 | 162 |
public void print() { |
160 |
for (TreeNode node : treenodes) |
|
163 |
for (TreeNode node : treenodes) {
|
|
161 | 164 |
System.out.println("\n" + node); //$NON-NLS-1$ |
165 |
} |
|
162 | 166 |
} |
163 | 167 |
|
164 | 168 |
|
... | ... | |
238 | 242 |
return true; |
239 | 243 |
} |
240 | 244 |
|
241 |
|
|
242 | 245 |
public TreeNode(String struct) { |
243 | 246 |
this(); |
244 | 247 |
this.struct = struct; |
... | ... | |
247 | 250 |
@Override |
248 | 251 |
public String toString() { |
249 | 252 |
String str = struct + "(" + start + ", " + end + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
250 |
if (size() > 0) |
|
253 |
if (size() > 0) {
|
|
251 | 254 |
str += "\n\t" + super.toString(); //$NON-NLS-1$ |
255 |
} |
|
252 | 256 |
return str; |
253 | 257 |
} |
254 | 258 |
|
... | ... | |
271 | 275 |
|
272 | 276 |
@Override |
273 | 277 |
public String getName() { |
274 |
// TODO Auto-generated method stub |
|
275 |
return null; |
|
278 |
if (properties != null && properties.size() > 0) { |
|
279 |
return corpus.getName(); |
|
280 |
} |
|
281 |
else { |
|
282 |
return StringUtils.join(properties, ", "); |
|
283 |
} |
|
276 | 284 |
} |
277 | 285 |
|
278 | 286 |
@Override |
279 | 287 |
public String getSimpleName() { |
280 |
// TODO Auto-generated method stub |
|
281 |
return null; |
|
288 |
if (properties != null && properties.size() > 0) { |
|
289 |
return corpus.getName(); |
|
290 |
} |
|
291 |
else { |
|
292 |
return StringUtils.join(properties, ", "); |
|
293 |
} |
|
282 | 294 |
} |
283 | 295 |
|
284 | 296 |
@Override |
285 | 297 |
public String getDetails() { |
286 | 298 |
// TODO Auto-generated method stub |
287 |
return null;
|
|
299 |
return "" + corpus + " " + properties;
|
|
288 | 300 |
} |
289 | 301 |
|
290 | 302 |
@Override |
291 | 303 |
public void clean() { |
292 | 304 |
// TODO Auto-generated method stub |
293 |
|
|
294 | 305 |
} |
295 | 306 |
|
296 | 307 |
|
... | ... | |
309 | 320 |
public String getResultType() { |
310 | 321 |
return "Summary"; |
311 | 322 |
} |
323 |
|
|
324 |
public MainCorpus getCorpus() { |
|
325 |
return corpus; |
|
326 |
} |
|
312 | 327 |
} |
Formats disponibles : Unified diff