Révision 4003
| TXM/trunk/bundles/org.txm.textsbalance.rcp/src/org/txm/textsbalance/rcp/preferences/TextsBalancePreferencePage.java (revision 4003) | ||
|---|---|---|
| 52 | 52 |
@Override |
| 53 | 53 |
public void createFieldEditors() {
|
| 54 | 54 |
|
| 55 |
|
|
| 56 | 55 |
// Charts rendering |
| 57 | 56 |
Composite chartsTab = SWTChartsComponentsProvider.createChartsRenderingPreferencesTabFolderComposite(this.getFieldEditorParent()); |
| 58 | 57 |
|
| ... | ... | |
| 64 | 63 |
// method.getTextControl(getFieldEditorParent()).setToolTipText("Method (1: uses CQL to solve matches, 2 uses corpus struct indexes, 2 is faster!)");
|
| 65 | 64 |
// this.addField(method); |
| 66 | 65 |
|
| 67 |
String[][] methods = new String[2][2]; |
|
| 68 |
for(int i = 0; i < 2; i++) {
|
|
| 69 |
methods[i][0] = String.valueOf(i + 1); |
|
| 70 |
methods[i][1] = String.valueOf(i + 1); |
|
| 71 |
} |
|
| 66 |
// String[][] methods = new String[2][2];
|
|
| 67 |
// for(int i = 0; i < 2; i++) {
|
|
| 68 |
// methods[i][0] = String.valueOf(i + 1);
|
|
| 69 |
// methods[i][1] = String.valueOf(i + 1);
|
|
| 70 |
// }
|
|
| 72 | 71 |
|
| 73 |
this.addField(new ComboFieldEditor(TextsBalancePreferences.METHOD, Messages.Method, methods, chartsTab)); |
|
| 74 |
this.addField(new BooleanFieldEditor(TextsBalancePreferences.GROUP_BY_TEXTS, Messages.GroupByWords, chartsTab));
|
|
| 72 |
//this.addField(new ComboFieldEditor(TextsBalancePreferences.METHOD, Messages.Method, methods, chartsTab));
|
|
| 73 |
this.addField(new BooleanFieldEditor(TextsBalancePreferences.COUNT_TEXTS, Messages.GroupByWords, chartsTab));
|
|
| 75 | 74 |
|
| 76 | 75 |
// other shared preferences |
| 77 | 76 |
SWTChartsComponentsProvider.createChartsRenderingPreferencesFields(this, chartsTab); |
| TXM/trunk/bundles/org.txm.textsbalance.rcp/src/org/txm/textsbalance/rcp/editors/TextsBalanceEditor.java (revision 4003) | ||
|---|---|---|
| 47 | 47 |
/** |
| 48 | 48 |
* Group by texts or not. |
| 49 | 49 |
*/ |
| 50 |
@Parameter(key=TextsBalancePreferences.GROUP_BY_TEXTS)
|
|
| 50 |
@Parameter(key=TextsBalancePreferences.COUNT_TEXTS)
|
|
| 51 | 51 |
protected Button groupByTexts; |
| 52 | 52 |
|
| 53 | 53 |
|
| TXM/trunk/bundles/org.txm.textsbalance.core/src/org/txm/textsbalance/core/preferences/TextsBalancePreferences.java (revision 4003) | ||
|---|---|---|
| 14 | 14 |
public class TextsBalancePreferences extends ChartsEnginePreferences {
|
| 15 | 15 |
|
| 16 | 16 |
|
| 17 |
public static final String GROUP_BY_TEXTS = "group_by_texts"; //$NON-NLS-1$
|
|
| 18 |
public static final String METHOD = "method"; //$NON-NLS-1$ |
|
| 17 |
public static final String COUNT_TEXTS = "group_by_texts"; //$NON-NLS-1$
|
|
| 18 |
//public static final String METHOD = "method"; //$NON-NLS-1$
|
|
| 19 | 19 |
|
| 20 | 20 |
|
| 21 | 21 |
/** |
| ... | ... | |
| 35 | 35 |
super.initializeDefaultPreferences(); |
| 36 | 36 |
|
| 37 | 37 |
Preferences preferences = this.getDefaultPreferencesNode(); |
| 38 |
preferences.putBoolean(GROUP_BY_TEXTS, true); |
|
| 39 |
preferences.putInt(METHOD, 2); |
|
| 40 |
|
|
| 38 |
preferences.putBoolean(COUNT_TEXTS, false); |
|
| 41 | 39 |
preferences.put(STRUCTURAL_UNIT, "text"); |
| 42 |
|
|
| 40 |
//preferences.putInt(METHOD, 2); |
|
| 41 |
|
|
| 43 | 42 |
// to disable the functionality |
| 44 | 43 |
TXMPreferences.setEmpty(this.getPreferencesNodeQualifier(), ChartsEnginePreferences.SHOW_GRID); |
| 45 | 44 |
} |
| TXM/trunk/bundles/org.txm.textsbalance.core/src/org/txm/textsbalance/core/functions/TextsBalance.java (revision 4003) | ||
|---|---|---|
| 8 | 8 |
import java.util.Arrays; |
| 9 | 9 |
import java.util.Collections; |
| 10 | 10 |
import java.util.HashMap; |
| 11 |
import java.util.LinkedHashMap; |
|
| 11 | 12 |
import java.util.List; |
| 12 | 13 |
|
| 13 | 14 |
import org.txm.chartsengine.core.results.ChartResult; |
| 14 | 15 |
import org.txm.core.results.Parameter; |
| 15 |
import org.txm.core.results.TXMParameters; |
|
| 16 | 16 |
import org.txm.searchengine.cqp.AbstractCqiClient; |
| 17 | 17 |
import org.txm.searchengine.cqp.CQPSearchEngine; |
| 18 | 18 |
import org.txm.searchengine.cqp.NetCqiClient; |
| ... | ... | |
| 21 | 21 |
import org.txm.searchengine.cqp.corpus.QueryResult; |
| 22 | 22 |
import org.txm.searchengine.cqp.corpus.StructuralUnit; |
| 23 | 23 |
import org.txm.searchengine.cqp.corpus.StructuralUnitProperty; |
| 24 |
import org.txm.searchengine.cqp.corpus.query.Match; |
|
| 25 | 24 |
import org.txm.searchengine.cqp.corpus.query.CQLQuery; |
| 25 |
import org.txm.searchengine.cqp.corpus.query.Match; |
|
| 26 | 26 |
import org.txm.textsbalance.core.preferences.TextsBalancePreferences; |
| 27 | 27 |
import org.txm.utils.TXMProgressMonitor; |
| 28 |
import org.txm.utils.io.IOUtils; |
|
| 28 | 29 |
import org.txm.utils.logger.Log; |
| 29 | 30 |
|
| 30 | 31 |
/** |
| ... | ... | |
| 36 | 37 |
*/ |
| 37 | 38 |
public class TextsBalance extends ChartResult {
|
| 38 | 39 |
|
| 39 |
HashMap<Comparable[], Integer> dataset;
|
|
| 40 |
LinkedHashMap<Comparable<?>[], Integer> dataset;
|
|
| 40 | 41 |
|
| 41 | 42 |
protected String propertyName; |
| 42 | 43 |
protected List<String> values; |
| ... | ... | |
| 45 | 46 |
|
| 46 | 47 |
|
| 47 | 48 |
protected int method; |
| 48 |
|
|
| 49 | 49 |
|
| 50 | 50 |
/** |
| 51 | 51 |
* Structural unit to explore. |
| ... | ... | |
| 62 | 62 |
/** |
| 63 | 63 |
* Group by texts or not. |
| 64 | 64 |
*/ |
| 65 |
@Parameter(key=TextsBalancePreferences.GROUP_BY_TEXTS)
|
|
| 65 |
@Parameter(key=TextsBalancePreferences.COUNT_TEXTS)
|
|
| 66 | 66 |
protected boolean countTexts; |
| 67 | 67 |
|
| 68 | 68 |
|
| ... | ... | |
| 119 | 119 |
|
| 120 | 120 |
monitor.setTask("Computing balance with metadata propertyName = " + this.structuralUnitProperty + ", structural unit = " + this.structuralUnit.getName() + " and groupByTexts = " + this.countTexts); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
| 121 | 121 |
try {
|
| 122 |
this.dataset = new HashMap<Comparable[], Integer>();
|
|
| 122 |
this.dataset = new LinkedHashMap<Comparable<?>[], Integer>();
|
|
| 123 | 123 |
|
| 124 | 124 |
StructuralUnitProperty p = this.structuralUnitProperty; |
| 125 | 125 |
this.values = p.getValues(); |
| ... | ... | |
| 258 | 258 |
/** |
| 259 | 259 |
* @return the dataset |
| 260 | 260 |
*/ |
| 261 |
public HashMap<Comparable[], Integer> getDataset() {
|
|
| 261 |
public HashMap<Comparable<?>[], Integer> getDataset() {
|
|
| 262 | 262 |
return dataset; |
| 263 | 263 |
} |
| 264 | 264 |
|
| ... | ... | |
| 270 | 270 |
return (CQPCorpus) this.parent; |
| 271 | 271 |
} |
| 272 | 272 |
|
| 273 |
|
|
| 274 | 273 |
/** |
| 275 | 274 |
* @return the propertyName |
| 276 | 275 |
*/ |
| ... | ... | |
| 278 | 277 |
return propertyName; |
| 279 | 278 |
} |
| 280 | 279 |
|
| 281 |
|
|
| 282 | 280 |
/** |
| 283 | 281 |
* @return the values |
| 284 | 282 |
*/ |
| ... | ... | |
| 286 | 284 |
return values; |
| 287 | 285 |
} |
| 288 | 286 |
|
| 289 |
|
|
| 290 | 287 |
/** |
| 291 | 288 |
* @return the fMin |
| 292 | 289 |
*/ |
| ... | ... | |
| 294 | 291 |
return fMin; |
| 295 | 292 |
} |
| 296 | 293 |
|
| 297 |
|
|
| 298 | 294 |
/** |
| 299 | 295 |
* @return the fMax |
| 300 | 296 |
*/ |
| ... | ... | |
| 302 | 298 |
return fMax; |
| 303 | 299 |
} |
| 304 | 300 |
|
| 305 |
|
|
| 306 | 301 |
@Override |
| 307 | 302 |
public boolean _toTxt(File outfile, String encoding, String colseparator, String txtseparator) throws Exception {
|
| 308 |
// TODO Auto-generated method stub |
|
| 309 |
return false; |
|
| 303 |
|
|
| 304 |
StringBuffer buffer = new StringBuffer(); |
|
| 305 |
for (Comparable<?>[] k : dataset.keySet()) {
|
|
| 306 |
buffer.append(txtseparator+k[1]+txtseparator+colseparator+txtseparator+dataset.get(k)+txtseparator+"\n"); |
|
| 307 |
} |
|
| 308 |
return IOUtils.write(outfile, buffer.toString()); |
|
| 310 | 309 |
} |
| 311 | 310 |
|
| 312 |
|
|
| 313 | 311 |
@Override |
| 314 | 312 |
public void clean() {
|
| 315 | 313 |
// TODO Auto-generated method stub |
| TXM/trunk/bundles/org.txm.textsbalance.core/src/org/txm/textsbalance/core/chartsengine/jfreechart/JFCTextsBalanceSpiderChartCreator.java (revision 4003) | ||
|---|---|---|
| 25 | 25 |
JFreeChart chart = null; |
| 26 | 26 |
|
| 27 | 27 |
// Creates an empty dataset |
| 28 |
HashMap<Comparable[], Integer> data = textsBalance.getDataset(); |
|
| 28 |
HashMap<Comparable<?>[], Integer> data = textsBalance.getDataset();
|
|
| 29 | 29 |
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); |
| 30 | 30 |
|
| 31 | 31 |
plot = new SpiderWebPlot(dataset); |
| ... | ... | |
| 63 | 63 |
chart.setNotify(false); |
| 64 | 64 |
|
| 65 | 65 |
// updating data set |
| 66 |
HashMap<Comparable[], Integer> data = textsBalance.getDataset(); |
|
| 66 |
HashMap<Comparable<?>[], Integer> data = textsBalance.getDataset();
|
|
| 67 | 67 |
DefaultCategoryDataset dataset = (DefaultCategoryDataset) ((SpiderWebPlot) chart.getPlot()).getDataset(); |
| 68 | 68 |
dataset.clear(); |
| 69 | 69 |
|
| 70 |
Set<Comparable[]> keys = data.keySet(); |
|
| 71 |
Iterator<Comparable[]> it = keys.iterator(); |
|
| 70 |
Set<Comparable<?>[]> keys = data.keySet();
|
|
| 71 |
Iterator<Comparable<?>[]> it = keys.iterator();
|
|
| 72 | 72 |
while (it.hasNext()) {
|
| 73 | 73 |
Comparable[] key = it.next(); |
| 74 | 74 |
Integer value = data.get(key); |
Formats disponibles : Unified diff