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