Révision 1164
tmp/org.txm.ca.core/src/org/txm/ca/core/preferences/CAPreferences.java (revision 1164) | ||
---|---|---|
12 | 12 |
* @author sjacquot |
13 | 13 |
* |
14 | 14 |
*/ |
15 |
public class CAPreferences extends TXMPreferences {
|
|
15 |
public class CAPreferences extends ChartsEnginePreferences {
|
|
16 | 16 |
|
17 | 17 |
/** The Constant QUALITYDISPLAY. */ |
18 | 18 |
public static final String QUALITY_DISPLAY_FORMAT = "quality_display_format"; //$NON-NLS-1$ |
tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java (revision 1164) | ||
---|---|---|
133 | 133 |
this(null, lexicalTable); |
134 | 134 |
} |
135 | 135 |
|
136 |
public LexicalTable getParent() { |
|
137 |
return (LexicalTable)parent; |
|
138 |
} |
|
139 |
|
|
136 | 140 |
/** |
137 | 141 |
* Creates a new empty CA. |
138 | 142 |
* |
tmp/org.txm.specificities.core/src/org/txm/specificities/core/preferences/SpecificitiesPreferences.java (revision 1164) | ||
---|---|---|
12 | 12 |
* @author sjacquot |
13 | 13 |
* |
14 | 14 |
*/ |
15 |
public class SpecificitiesPreferences extends TXMPreferences {
|
|
15 |
public class SpecificitiesPreferences extends ChartsEnginePreferences {
|
|
16 | 16 |
|
17 |
|
|
18 | 17 |
/** |
19 | 18 |
* Maximum score. |
20 | 19 |
*/ |
... | ... | |
25 | 24 |
*/ |
26 | 25 |
public static final String FORMAT = "format"; //$NON-NLS-1$ |
27 | 26 |
|
28 |
|
|
29 | 27 |
// charts |
30 | 28 |
public static final String CHART_GROUP_BY_LINES = "chart_group_by_lines"; //$NON-NLS-1$ |
31 | 29 |
public static final String CHART_DRAW_BARS = "chart_draw_bars"; //$NON-NLS-1$ |
tmp/org.txm.ahc.core/src/org/txm/ahc/core/functions/AHC.java (revision 1164) | ||
---|---|---|
60 | 60 |
* Counter used in name suffix. |
61 | 61 |
*/ |
62 | 62 |
protected static int ahcCounter = 1; |
63 |
|
|
64 | 63 |
|
64 |
|
|
65 | 65 |
/** The symbol. */ |
66 | 66 |
String symbol = null; |
67 | 67 |
|
68 | 68 |
/** The CA symbol target. */ |
69 | 69 |
String target; |
70 | 70 |
|
71 |
|
|
71 |
|
|
72 | 72 |
/** |
73 | 73 |
* The coordinates of the clusters. |
74 | 74 |
*/ |
... | ... | |
104 | 104 |
*/ |
105 | 105 |
protected double[] inertiaGains = null; |
106 | 106 |
|
107 |
protected CA ca; |
|
108 |
protected LexicalTable table; |
|
109 |
|
|
110 |
|
|
111 |
|
|
112 |
|
|
113 |
|
|
114 |
|
|
115 | 107 |
/** |
116 | 108 |
* The metric (euclidean, manhattan). |
117 | 109 |
*/ |
... | ... | |
135 | 127 |
*/ |
136 | 128 |
@Parameter(key=AHCPreferences.COLUMNS_COMPUTING) |
137 | 129 |
protected boolean columnsComputing; |
138 |
|
|
130 |
|
|
139 | 131 |
/** |
140 | 132 |
* To display in 2D or 3D. |
141 | 133 |
*/ |
142 | 134 |
@Parameter(key=AHCPreferences.RENDERING_2D) |
143 | 135 |
protected boolean rendering2D; |
144 |
|
|
145 |
|
|
146 |
|
|
136 |
|
|
137 |
|
|
138 |
|
|
147 | 139 |
/** |
148 | 140 |
* Instantiates a new AHC. |
149 | 141 |
* |
... | ... | |
157 | 149 |
public AHC(String parametersNodePath) { |
158 | 150 |
this(parametersNodePath, null); |
159 | 151 |
} |
160 |
|
|
152 |
|
|
161 | 153 |
/** |
162 | 154 |
* Instantiates a new AHC. |
163 | 155 |
* |
... | ... | |
171 | 163 |
public AHC(CA ca) { |
172 | 164 |
this(null, ca); |
173 | 165 |
} |
174 |
|
|
166 |
|
|
167 |
public CA getParent() { |
|
168 |
return (CA) parent; |
|
169 |
} |
|
170 |
|
|
175 | 171 |
/** |
176 | 172 |
* Instantiates a new AHC. |
177 | 173 |
* |
... | ... | |
191 | 187 |
|
192 | 188 |
Log.info("Computing CAH..."); |
193 | 189 |
try { |
194 |
this.table = this.ca.getLexicalTable(); |
|
195 |
this.target = this.ca.getSymbol(); |
|
190 |
CA ca = getParent(); |
|
191 |
LexicalTable table = ca.getLexicalTable(); |
|
192 |
this.target = ca.getSymbol(); |
|
196 | 193 |
|
197 | 194 |
// reset the number of clusters to default if columns or rows computing has changed |
198 |
if(this.hasParameterChanged(AHCPreferences.COLUMNS_COMPUTING)) { |
|
199 |
this.numberOfClusters = AHCPreferences.getInstance().getInt(AHCPreferences.N_CLUSTERS); |
|
200 |
} |
|
195 |
// if(this.hasParameterChanged(AHCPreferences.COLUMNS_COMPUTING)) {
|
|
196 |
// this.numberOfClusters = AHCPreferences.getInstance().getInt(AHCPreferences.N_CLUSTERS);
|
|
197 |
// }
|
|
201 | 198 |
|
202 | 199 |
String colOrLine = "columns"; //$NON-NLS-1$ |
203 | 200 |
if (!this.columnsComputing) { |
... | ... | |
216 | 213 |
", metric=\"" + this.metric + "\"" + //$NON-NLS-1$ //$NON-NLS-2$ |
217 | 214 |
", method=\"" + this.method + "\"" + //$NON-NLS-1$ //$NON-NLS-2$ |
218 | 215 |
", graph=FALSE)"); //$NON-NLS-1$ |
219 |
|
|
216 |
|
|
220 | 217 |
} catch(Exception e) { |
221 | 218 |
Log.printStackTrace(e); |
222 | 219 |
return false; |
... | ... | |
227 | 224 |
this.dirty = false; |
228 | 225 |
return true; |
229 | 226 |
} |
230 |
|
|
231 |
|
|
227 |
|
|
228 |
|
|
232 | 229 |
/** |
233 | 230 |
* |
234 | 231 |
* @param columns |
... | ... | |
255 | 252 |
|
256 | 253 |
@Override |
257 | 254 |
public boolean loadParameters() { |
258 |
// if(this.ca == null) { // moved to ComputeAHC command |
|
259 |
// this.ca = (CA) this.getParent(); |
|
260 |
// this.ca.setVisible(false); // hide the temporary CA |
|
261 |
// } |
|
255 |
// if(this.ca == null) { // moved to ComputeAHC command
|
|
256 |
// this.ca = (CA) this.getParent();
|
|
257 |
// this.ca.setVisible(false); // hide the temporary CA
|
|
258 |
// }
|
|
262 | 259 |
return true; |
263 | 260 |
} |
264 | 261 |
|
... | ... | |
271 | 268 |
@Override |
272 | 269 |
public boolean canCompute() { |
273 | 270 |
return |
274 |
this.ca != null |
|
275 |
&& Arrays.binarySearch(AHC.getMethods(), this.method) >= 0 |
|
271 |
Arrays.binarySearch(AHC.getMethods(), this.method) >= 0 |
|
276 | 272 |
&& Arrays.binarySearch(AHC.getMetrics(), this.metric) >= 0 |
277 | 273 |
&& this.numberOfClusters >= 2; |
278 | 274 |
} |
... | ... | |
599 | 595 |
*/ |
600 | 596 |
public int getMaxClustersCount() { |
601 | 597 |
|
602 |
int maxClustersCount = -1; |
|
603 |
|
|
598 |
int maxClustersCount = 16; |
|
604 | 599 |
try { |
605 |
RWorkspace rw = RWorkspace.getRWorkspaceInstance(); |
|
606 |
REXP sv = rw.eval("min(length(" + symbol + "$data$clust) - 1, 16)"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
607 |
maxClustersCount = sv.asInteger(); |
|
608 |
} catch(Exception e) { |
|
609 |
System.out.println("Error: "+e.getLocalizedMessage()); |
|
610 |
Log.printStackTrace(e); |
|
600 |
int n = -1; |
|
601 |
if (!this.columnsComputing) { |
|
602 |
n = this.getParent().getParent().getNRows() - 1; // -1 because HCPC can't make as much groups as rows |
|
603 |
} else { |
|
604 |
n = this.getParent().getParent().getNColumns() - 1; // -1 because HCPC can't make as much groups as cols |
|
605 |
} |
|
606 |
|
|
607 |
if (n >= 0 && n < maxClustersCount) { |
|
608 |
maxClustersCount = n; |
|
609 |
} |
|
610 |
} catch (Exception e) { |
|
611 |
// TODO Auto-generated catch block |
|
612 |
e.printStackTrace(); |
|
611 | 613 |
} |
612 | 614 |
|
615 |
// try { |
|
616 |
// RWorkspace rw = RWorkspace.getRWorkspaceInstance(); |
|
617 |
// REXP sv = rw.eval("min(length(" + symbol + "$data$clust) - 1, 16)"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
618 |
// maxClustersCount = sv.asInteger(); |
|
619 |
// } catch(Exception e) { |
|
620 |
// System.out.println("Error: "+e.getLocalizedMessage()); |
|
621 |
// Log.printStackTrace(e); |
|
622 |
// } |
|
623 |
|
|
613 | 624 |
// FIXME: FactoMineR plot.HCPC doesn't manage more than 16 clusters when tree.barplot=TRUE, therefore we can't plot a SVG with more than that, see ticket #836 then use the code below in ChartsEngine to compute |
614 | 625 |
// the real maximum available clusters count |
615 | 626 |
// // CA |
... | ... | |
650 | 661 |
return numberOfClusters; |
651 | 662 |
} |
652 | 663 |
|
653 |
public CA getCA() { |
|
654 |
return ca; |
|
655 |
} |
|
656 |
|
|
657 | 664 |
public LexicalTable getLexicalTable() { |
658 |
return table;
|
|
665 |
return getParent().getLexicalTable();
|
|
659 | 666 |
} |
660 | 667 |
|
661 | 668 |
|
662 | 669 |
@Override |
663 | 670 |
public String getSimpleName() { |
664 | 671 |
// FIXME: to define |
665 |
// StringBuffer buffer = new StringBuffer(); |
|
666 |
// buffer.append(this.columnsComputing ? "cols" : "rows"); //$NON-NLS-1$ |
|
667 |
// buffer.append(this.method); |
|
668 |
// buffer.append(this.metric); |
|
669 |
// buffer.append(this.numberOfClusters); |
|
672 |
// StringBuffer buffer = new StringBuffer();
|
|
673 |
// buffer.append(this.columnsComputing ? "cols" : "rows"); //$NON-NLS-1$
|
|
674 |
// buffer.append(this.method);
|
|
675 |
// buffer.append(this.metric);
|
|
676 |
// buffer.append(this.numberOfClusters);
|
|
670 | 677 |
return this.getName(); |
671 | 678 |
} |
672 | 679 |
|
... | ... | |
689 | 696 |
} |
690 | 697 |
|
691 | 698 |
|
692 |
|
|
699 |
|
|
693 | 700 |
/** |
694 | 701 |
* Gets the 2D rendering state. |
695 | 702 |
* If false, the rendering will be done in 3D. |
tmp/org.txm.ahc.core/src/org/txm/ahc/core/preferences/AHCPreferences.java (revision 1164) | ||
---|---|---|
12 | 12 |
* @author sjacquot |
13 | 13 |
* |
14 | 14 |
*/ |
15 |
public class AHCPreferences extends TXMPreferences {
|
|
15 |
public class AHCPreferences extends ChartsEnginePreferences {
|
|
16 | 16 |
|
17 | 17 |
/** |
18 | 18 |
* To display in 2D or 3D. |
tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java (revision 1164) | ||
---|---|---|
220 | 220 |
|
221 | 221 |
/** The minscore. */ |
222 | 222 |
@Parameter(key=CooccurrencePreferences.MIN_SCORE) |
223 |
protected Double pScoreMinFilter;
|
|
223 |
protected Float pScoreMinFilter;
|
|
224 | 224 |
|
225 | 225 |
/** |
226 | 226 |
* The structural unit context limit. |
... | ... | |
796 | 796 |
} |
797 | 797 |
|
798 | 798 |
public void setParameters(CQLQuery query, List<WordProperty> properties, StructuralUnit limit, int maxLeft, int minLeft, int minRight, |
799 |
int maxRight, int minFreq, double minScore, int minCof, boolean includeXpivot, boolean buildLexicalTableWithCooccurrents) {
|
|
799 |
int maxRight, int minFreq, float minScore, int minCof, boolean includeXpivot, boolean buildLexicalTableWithCooccurrents) {
|
|
800 | 800 |
|
801 | 801 |
this.pQuery = query; |
802 | 802 |
this.pProperties = properties; |
... | ... | |
842 | 842 |
int minLeft = parameters.getInteger(CooccurrencePreferences.MIN_LEFT); |
843 | 843 |
int maxRight = parameters.getInteger(CooccurrencePreferences.MAX_RIGHT); |
844 | 844 |
int minRight = parameters.getInteger(CooccurrencePreferences.MIN_RIGHT); |
845 |
double minScore = parameters.getDouble(CooccurrencePreferences.MIN_SCORE);
|
|
845 |
float minScore = parameters.getFloat(CooccurrencePreferences.MIN_SCORE);
|
|
846 | 846 |
int minCof = parameters.getInteger(CooccurrencePreferences.MIN_COUNT); |
847 | 847 |
int minFreq = parameters.getInteger(TXMPreferences.F_MIN); |
848 | 848 |
boolean buildLexicalTableWithCooccurrents = parameters.getBoolean(CooccurrencePreferences.PARTIAL_LEXICAL_TABLE); |
... | ... | |
877 | 877 |
* @param count the count |
878 | 878 |
* @param score the score |
879 | 879 |
*/ |
880 |
public void setThresfold(int freq, int count, double score) {
|
|
880 |
public void setThresfold(int freq, int count, float score) {
|
|
881 | 881 |
|
882 | 882 |
pFminFilter = freq; |
883 | 883 |
pFCoocFilter = count; |
tmp/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCChartEditor.java (revision 1164) | ||
---|---|---|
104 | 104 |
|
105 | 105 |
@Override |
106 | 106 |
public void updateEditorFromChart(boolean update) { |
107 |
|
|
107 |
AHC ahc = this.getResult(); |
|
108 |
|
|
108 | 109 |
// Update the maximum value of the number of clusters spinner according to the new AHC configuration |
109 |
this.numberOfClusters.setMaximum(this.getResult().getMaxClustersCount());
|
|
110 |
this.numberOfClusters.setMaximum(ahc.getMaxClustersCount());
|
|
110 | 111 |
|
111 | 112 |
// Updates the current value of the number of clusters spinner |
112 |
this.numberOfClusters.setSelection(this.getResult().getNumberOfClusters());
|
|
113 |
this.numberOfClusters.setSelection(ahc.getNumberOfClusters());
|
|
113 | 114 |
|
114 |
this.rowsComputing.setSelection(!this.getResult().isColumnsComputing());
|
|
115 |
this.rowsComputing.setSelection(!ahc.isColumnsComputing());
|
|
115 | 116 |
} |
116 | 117 |
|
117 | 118 |
} |
tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/editors/PropertiesEditor.java (revision 1164) | ||
---|---|---|
45 | 45 |
/** |
46 | 46 |
* The maximum number of word property values to display. |
47 | 47 |
*/ |
48 |
@Parameter(key=PropertiesPreferences.MAX_PROPERTIES_TO_DISPLAY)
|
|
48 |
@Parameter(key = PropertiesPreferences.MAX_PROPERTIES_TO_DISPLAY)
|
|
49 | 49 |
protected Spinner maxPropertiesToDisplay; |
50 | 50 |
|
51 | 51 |
private Button nameSaveButton; |
... | ... | |
75 | 75 |
|
76 | 76 |
Group editComposite = this.getTopToolbar().installGroup(PropertiesUIMessages.editor_composite_edit_properties, PropertiesUIMessages.editor_composite_edit_properties, null, null, false); |
77 | 77 |
editComposite.setLayout(GLComposite.createDefaultLayout(3)); |
78 |
|
|
78 |
|
|
79 | 79 |
Label nameLabel = new Label(editComposite, SWT.NONE); |
80 | 80 |
nameLabel.setText(PropertiesUIMessages.editor_label_name); |
81 | 81 |
|
... | ... | |
94 | 94 |
} |
95 | 95 |
|
96 | 96 |
@Override |
97 |
public void widgetDefaultSelected(SelectionEvent e) { } |
|
97 |
public void widgetDefaultSelected(SelectionEvent e) { |
|
98 |
} |
|
98 | 99 |
}); |
99 | 100 |
|
100 | 101 |
Label descLabel = new Label(editComposite, SWT.NONE); |
101 | 102 |
descLabel.setText(PropertiesUIMessages.editor_label_description); |
102 | 103 |
|
103 |
descriptionText = new StyledText(editComposite, SWT.BORDER|SWT.V_SCROLL);
|
|
104 |
descriptionText = new StyledText(editComposite, SWT.BORDER | SWT.V_SCROLL);
|
|
104 | 105 |
descriptionText.setLayoutData(GridDataFactory.fillDefaults().hint(400, 100).minSize(400, 100).span(1, 2).create()); |
105 | 106 |
descriptionSaveButton = new Button(editComposite, SWT.PUSH); |
106 | 107 |
descriptionSaveButton.setText(PropertiesUIMessages.editor_button_apply); |
... | ... | |
116 | 117 |
} |
117 | 118 |
|
118 | 119 |
@Override |
119 |
public void widgetDefaultSelected(SelectionEvent e) { } |
|
120 |
public void widgetDefaultSelected(SelectionEvent e) { |
|
121 |
} |
|
120 | 122 |
}); |
121 | 123 |
|
122 | 124 |
// browser |
... | ... | |
131 | 133 |
File file = this.getResult().getHTMLFile(); |
132 | 134 |
if (file.exists()) { |
133 | 135 |
this.browser.setUrl(file.toURI().toURL().toString()); |
134 |
} |
|
135 |
else { |
|
136 |
} else { |
|
136 | 137 |
Log.severe("Information HTML file doesn't exist."); //$NON-NLS-1$ |
137 | 138 |
} |
138 | 139 |
String n = getResult().getCorpus().getUserName(); |
139 |
if (n == null) n = getResult().getCorpus().getName(); |
|
140 |
if (n == null) |
|
141 |
n = getResult().getCorpus().getName(); |
|
140 | 142 |
nameText.setText(n); |
141 | 143 |
|
142 | 144 |
String d = getResult().getCorpus().getDescription(); |
... | ... | |
149 | 151 |
public void updateResultFromEditor() { |
150 | 152 |
// nothing to do |
151 | 153 |
} |
152 |
|
|
153 | 154 |
} |
tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java (revision 1164) | ||
---|---|---|
2 | 2 |
// Copyright © 2007-2010 ENS de Lyon, CNRS, INRP, University of |
3 | 3 |
// Lyon 2, University of Franche-Comté, University of Nice |
4 | 4 |
// Sophia Antipolis, University of Paris 3. |
5 |
//
|
|
5 |
// |
|
6 | 6 |
// The TXM platform is free software: you can redistribute it |
7 | 7 |
// and/or modify it under the terms of the GNU General Public |
8 | 8 |
// License as published by the Free Software Foundation, |
9 | 9 |
// either version 2 of the License, or (at your option) any |
10 | 10 |
// later version. |
11 |
//
|
|
11 |
// |
|
12 | 12 |
// The TXM platform is distributed in the hope that it will be |
13 | 13 |
// useful, but WITHOUT ANY WARRANTY; without even the implied |
14 | 14 |
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
15 | 15 |
// PURPOSE. See the GNU General Public License for more |
16 | 16 |
// details. |
17 |
//
|
|
17 |
// |
|
18 | 18 |
// You should have received a copy of the GNU General |
19 | 19 |
// Public License along with the TXM platform. If not, see |
20 | 20 |
// http://www.gnu.org/licenses. |
21 |
//
|
|
22 |
//
|
|
23 |
//
|
|
21 |
// |
|
22 |
// |
|
23 |
// |
|
24 | 24 |
// $LastChangedDate: 2016-09-19 10:31:00 +0200 (Mon, 19 Sep 2016) $ |
25 | 25 |
// $LastChangedRevision: 3298 $ |
26 |
// $LastChangedBy: mdecorde $
|
|
26 |
// $LastChangedBy: mdecorde $ |
|
27 | 27 |
// |
28 | 28 |
package org.txm.properties.core.functions; |
29 | 29 |
|
... | ... | |
67 | 67 |
// Base base; |
68 | 68 |
/** The corpus. */ |
69 | 69 |
protected CQPCorpus corpus; |
70 |
|
|
70 |
|
|
71 | 71 |
// Numbers |
72 | 72 |
/** The T. */ |
73 | 73 |
int numberOfWords = 0; // number of word |
74 | 74 |
|
75 | 75 |
/** The N properties. */ |
76 | 76 |
int NProperties = 0; // number of word properties |
77 |
//HashMap<String, Integer> propertiesCounts = new HashMap<String, Integer>(); // properties counts |
|
77 |
// HashMap<String, Integer> propertiesCounts = new HashMap<String, Integer>(); |
|
78 |
// // properties counts |
|
78 | 79 |
/** The properties values. */ |
79 | 80 |
HashMap<String, List<String>> propertiesValues = new HashMap<String, List<String>>(); // properties values |
80 | 81 |
|
81 | 82 |
/** The N structures. */ |
82 | 83 |
int NStructures = 0; // number of structures |
83 |
|
|
84 |
|
|
84 | 85 |
/** The structures counts. */ |
85 | 86 |
HashMap<String, Integer> structuresCounts = new HashMap<String, Integer>(); // structures counts |
86 | 87 |
|
87 | 88 |
/** The internal architecture. */ |
88 | 89 |
List<String> internalArchitecture = new ArrayList<String>(); // cqp structures = propertiesCounts keys but ordered |
89 |
|
|
90 |
|
|
90 | 91 |
/** The hierarchie counts. */ |
91 | 92 |
HashMap<String, Integer> hierarchieCounts = new HashMap<String, Integer>(); // hierarchic structures counts |
92 |
|
|
93 |
|
|
93 | 94 |
/** The internal architecture properties. */ |
94 | 95 |
HashMap<String, HashMap<String, List<String>>> internalArchitectureProperties = new HashMap<String, HashMap<String, List<String>>>(); // hierarchic structures counts |
95 |
|
|
96 |
|
|
96 | 97 |
/** The internal architecture properties counts. */ |
97 | 98 |
HashMap<String, HashMap<String, Integer>> internalArchitecturePropertiesCounts = new HashMap<String, HashMap<String, Integer>>(); // hierarchic structures counts |
98 | 99 |
|
99 | 100 |
// Annotations description |
100 | 101 |
/** The annotations types. */ |
101 | 102 |
HashMap<String, Integer> annotationsTypes = new HashMap<String, Integer>(); // for each annotation its description |
102 |
|
|
103 |
|
|
103 | 104 |
/** The annotations origins. */ |
104 | 105 |
HashMap<String, Integer> annotationsOrigins = new HashMap<String, Integer>(); // for each annoation its origin description |
105 | 106 |
|
106 | 107 |
/** The properties. */ |
107 | 108 |
List<WordProperty> properties; |
108 |
|
|
109 |
|
|
109 | 110 |
/** The structures. */ |
110 | 111 |
List<StructuralUnit> structures; |
111 | 112 |
|
... | ... | |
113 | 114 |
* The HTML file. |
114 | 115 |
*/ |
115 | 116 |
protected File file; |
116 |
|
|
117 |
|
|
117 | 118 |
/** |
118 | 119 |
* The maximum number of word property values to display. |
119 | 120 |
*/ |
120 |
@Parameter(key=PropertiesPreferences.MAX_PROPERTIES_TO_DISPLAY)
|
|
121 |
@Parameter(key = PropertiesPreferences.MAX_PROPERTIES_TO_DISPLAY)
|
|
121 | 122 |
protected int pMaxPropertiesToDisplay; |
122 |
|
|
123 |
|
|
124 |
|
|
125 |
|
|
123 |
|
|
126 | 124 |
/** |
127 | 125 |
* Instantiates a new corpus Properties. |
128 | 126 |
* |
129 |
* @param corpus a MainCorpus or a SubCorpus |
|
127 |
* @param corpus |
|
128 |
* a MainCorpus or a SubCorpus |
|
130 | 129 |
*/ |
131 | 130 |
public Properties(CQPCorpus corpus) { |
132 | 131 |
super(corpus); |
... | ... | |
140 | 139 |
super(parametersNodePath); |
141 | 140 |
} |
142 | 141 |
|
143 |
|
|
144 |
|
|
145 | 142 |
@Override |
146 | 143 |
public boolean loadParameters() { |
147 | 144 |
this.corpus = (CQPCorpus) this.parent; |
148 | 145 |
return true; |
149 | 146 |
} |
150 | 147 |
|
151 |
|
|
152 | 148 |
/** |
153 | 149 |
* Sets the maximum properties to display. |
150 |
* |
|
154 | 151 |
* @param maxPropertiesToDisplay |
155 | 152 |
*/ |
156 | 153 |
public void setParameters(int maxPropertiesToDisplay) { |
... | ... | |
160 | 157 |
} |
161 | 158 |
this.dirty = true; |
162 | 159 |
} |
163 |
|
|
164 |
|
|
160 |
|
|
165 | 161 |
/** |
166 | 162 |
* Step general infos. |
167 | 163 |
*/ |
168 |
public void stepGeneralInfos() |
|
169 |
{ |
|
164 |
public void stepGeneralInfos() { |
|
170 | 165 |
try { |
171 | 166 |
properties = corpus.getProperties(); |
172 | 167 |
NProperties = properties.size(); |
... | ... | |
175 | 170 |
Log.printStackTrace(e); |
176 | 171 |
return; |
177 | 172 |
} |
178 |
|
|
173 |
|
|
179 | 174 |
try { |
180 | 175 |
numberOfWords = corpus.getSize();// corpus.getLexicon(corpus.getProperty("id")).nbrOfToken(); |
181 | 176 |
} catch (CqiClientException e) { |
182 | 177 |
Log.severe(PropertiesCoreMessages.Properties_6 + corpus.getName() + PropertiesCoreMessages.Properties_8); |
183 | 178 |
Log.printStackTrace(e); |
184 | 179 |
return; |
185 |
}
|
|
180 |
} |
|
186 | 181 |
} |
187 |
|
|
182 |
|
|
188 | 183 |
/** |
189 |
* step2. |
|
190 |
* randomly position are choose |
|
184 |
* step2. randomly position are choose |
|
191 | 185 |
*/ |
192 | 186 |
public void stepLexicalProperties() { |
193 | 187 |
propertiesValues.clear(); |
194 |
|
|
188 |
|
|
195 | 189 |
AbstractCqiClient cqiClient = CorpusManager.getCorpusManager().getCqiClient(); |
196 | 190 |
for (Property p : properties) { |
197 |
//int size; |
|
191 |
// int size;
|
|
198 | 192 |
try { |
199 |
//size = CorpusManager.getCorpusManager().getCqiClient().lexiconSize(p.getQualifiedName()); |
|
200 |
//propertiesCounts.put(p.getName(), size); |
|
201 |
//List<String> list = Arrays.asList(corpus.getLexicon(p).getForms(this.maxvalue)); |
|
193 |
// size = |
|
194 |
// CorpusManager.getCorpusManager().getCqiClient().lexiconSize(p.getQualifiedName()); |
|
195 |
// propertiesCounts.put(p.getName(), size); |
|
196 |
// List<String> list = |
|
197 |
// Arrays.asList(corpus.getLexicon(p).getForms(this.maxvalue)); |
|
202 | 198 |
|
203 | 199 |
int[] positions = new int[Math.min(pMaxPropertiesToDisplay, numberOfWords)]; |
204 |
for(int i = 0 ; i < Math.min(pMaxPropertiesToDisplay, numberOfWords) ; i++) {
|
|
200 |
for (int i = 0; i < Math.min(pMaxPropertiesToDisplay, numberOfWords); i++) {
|
|
205 | 201 |
positions[i] = i; |
206 | 202 |
} |
207 |
|
|
208 |
//ArrayList<String> values = new ArrayList<String>(); |
|
203 |
|
|
204 |
// ArrayList<String> values = new ArrayList<String>();
|
|
209 | 205 |
LinkedHashSet<String> values = new LinkedHashSet<String>(cqiClient.getSingleData(p, positions)); |
210 | 206 |
propertiesValues.put(p.getName(), new ArrayList<String>(values)); |
211 | 207 |
} catch (Exception e) { |
... | ... | |
213 | 209 |
} |
214 | 210 |
} |
215 | 211 |
} |
216 |
|
|
212 |
|
|
217 | 213 |
/** |
218 | 214 |
* Step structural units. |
219 | 215 |
*/ |
220 |
public void stepStructuralUnits() |
|
221 |
{ |
|
216 |
public void stepStructuralUnits() { |
|
222 | 217 |
try { |
223 | 218 |
structures = corpus.getOrderedStructuralUnits(); |
224 | 219 |
} catch (CqiClientException e) { |
... | ... | |
233 | 228 |
hierarchieCounts.put(su.getName(), -1); |
234 | 229 |
internalArchitectureProperties.put(su.getName(), new HashMap<String, List<String>>()); |
235 | 230 |
internalArchitecturePropertiesCounts.put(su.getName(), new HashMap<String, Integer>()); |
236 |
|
|
231 |
|
|
237 | 232 |
if (su.getProperties().size() > 0) { |
238 |
for (StructuralUnitProperty sup : su.getProperties()) {// for each of its property
|
|
233 |
for (StructuralUnitProperty sup : su.getProperties()) {// for each of its property |
|
239 | 234 |
try { |
240 | 235 |
List<String> allvalues = sup.getValues(corpus); |
241 | 236 |
internalArchitectureProperties.get(su.getName()).put(sup.getName(), allvalues.subList(0, Math.min(allvalues.size(), pMaxPropertiesToDisplay))); |
... | ... | |
252 | 247 |
} |
253 | 248 |
|
254 | 249 |
// FIXME: useless? |
255 |
// /**
|
|
256 |
// * Instantiates a new diagnostic.
|
|
257 |
// *
|
|
258 |
// * @param partition the partition
|
|
259 |
// * @throws CqiClientException the cqi client exception
|
|
260 |
// */
|
|
261 |
// public Information(Partition partition) throws CqiClientException {
|
|
262 |
// corpus = partition.getCorpus();
|
|
263 |
// this.partition = partition;
|
|
264 |
// int T = corpus.getSize();
|
|
265 |
// System.out.println(InformationCoreMessages.Properties_12);
|
|
266 |
// int nbParts = partition.getNPart();
|
|
267 |
// List<String> partNames = partition.getPartNames();
|
|
268 |
// List<Integer> partSizes = new ArrayList<Integer>();
|
|
269 |
// List<List<Property>> partProperties = new ArrayList<List<Property>>();
|
|
270 |
// List<String> partQueries = new ArrayList<String>();
|
|
271 |
// for (Part part : partition.getParts()) {
|
|
272 |
// partSizes.add(part.getSize());
|
|
273 |
// partProperties.add(part.getProperties());
|
|
274 |
// partQueries.add(part.getQuery().getQueryString());
|
|
275 |
// }
|
|
276 |
// }
|
|
250 |
// /**
|
|
251 |
// * Instantiates a new diagnostic.
|
|
252 |
// *
|
|
253 |
// * @param partition the partition
|
|
254 |
// * @throws CqiClientException the cqi client exception
|
|
255 |
// */
|
|
256 |
// public Information(Partition partition) throws CqiClientException {
|
|
257 |
// corpus = partition.getCorpus();
|
|
258 |
// this.partition = partition;
|
|
259 |
// int T = corpus.getSize();
|
|
260 |
// System.out.println(InformationCoreMessages.Properties_12);
|
|
261 |
// int nbParts = partition.getNPart();
|
|
262 |
// List<String> partNames = partition.getPartNames();
|
|
263 |
// List<Integer> partSizes = new ArrayList<Integer>();
|
|
264 |
// List<List<Property>> partProperties = new ArrayList<List<Property>>();
|
|
265 |
// List<String> partQueries = new ArrayList<String>();
|
|
266 |
// for (Part part : partition.getParts()) {
|
|
267 |
// partSizes.add(part.getSize());
|
|
268 |
// partProperties.add(part.getProperties());
|
|
269 |
// partQueries.add(part.getQuery().getQueryString());
|
|
270 |
// }
|
|
271 |
// }
|
|
277 | 272 |
|
278 | 273 |
/** |
279 | 274 |
* dump the results of the diagnostic in a String containing HTML code. |
... | ... | |
289 | 284 |
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>" + //$NON-NLS-1$ |
290 | 285 |
"</head>" + //$NON-NLS-1$ |
291 | 286 |
"<body>\n"); //$NON-NLS-1$ |
292 |
buff.append("<h2 style'font-family:\"Arial\";'>"+PropertiesCoreMessages.Properties_3 + this.corpus.getName() +" (id="+this.corpus.getID()+")</h2>\n"); //$NON-NLS-2$ //$NON-NLS-1$
|
|
293 |
|
|
287 |
buff.append("<h2 style'font-family:\"Arial\";'>" + PropertiesCoreMessages.Properties_3 + this.corpus.getName() + " (id=" + this.corpus.getID() + ")</h2>\n"); //$NON-NLS-2$ //$NON-NLS-1$
|
|
288 |
|
|
294 | 289 |
if (corpus.getDescription() != null && corpus.getDescription().length() > 0) { |
295 |
buff.append("<p>"+corpus.getDescription()+"</p>"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
290 |
buff.append("<p>" + corpus.getDescription() + "</p>"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
296 | 291 |
} |
297 |
|
|
298 |
buff.append("<h3 style'font-family:\"Arial\";'>"+PropertiesCoreMessages.Properties_5+ "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
299 | 292 |
|
293 |
buff.append("<h3 style'font-family:\"Arial\";'>" + PropertiesCoreMessages.Properties_5 + "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
294 |
|
|
300 | 295 |
// counts |
301 | 296 |
buff.append("<ul>\n"); //$NON-NLS-1$ |
302 |
buff.append("<li>" + PropertiesCoreMessages.Properties_7 + numberOfWords + "</li>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
297 |
buff.append("<li>" + PropertiesCoreMessages.Properties_7 + numberOfWords + "</li>\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
303 | 298 |
buff.append("<li>" + PropertiesCoreMessages.Properties_9 + (NProperties - 1) + "</li>\n"); //$NON-NLS-2$ //$NON-NLS-1$ |
304 | 299 |
buff.append("<li>" + PropertiesCoreMessages.Properties_16 + NStructures + "</li>\n"); //$NON-NLS-2$ //$NON-NLS-1$ |
305 | 300 |
buff.append("</ul>\n"); //$NON-NLS-1$ |
306 | 301 |
|
307 | 302 |
// Propriétés d'occurrences |
308 |
buff.append("<h3 style'font-family:\"Arial\";'>"+NLS.bind(PropertiesCoreMessages.Properties_14, pMaxPropertiesToDisplay) + "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
303 |
buff.append("<h3 style'font-family:\"Arial\";'>" + NLS.bind(PropertiesCoreMessages.Properties_14, pMaxPropertiesToDisplay) + "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
309 | 304 |
ArrayList<String> properties = new ArrayList<String>(propertiesValues.keySet()); |
310 | 305 |
Collections.sort(properties); |
311 | 306 |
buff.append("<ul>\n"); //$NON-NLS-1$ |
312 | 307 |
for (String s : properties) { |
313 |
if (!s.equals("id")) //$NON-NLS-1$ |
|
314 |
{
|
|
315 |
//buff.append("<li> " + s + " (" + propertiesCounts.get(s) + ") : "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
316 |
buff.append("<li> " + s + " : "); //$NON-NLS-1$ //$NON-NLS-2$
|
|
308 |
if (!s.equals("id")) { //$NON-NLS-1$
|
|
309 |
// buff.append("<li> " + s + " (" + propertiesCounts.get(s) + ") : ");
|
|
310 |
// //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
|
311 |
buff.append("<li> " + s + " : "); //$NON-NLS-1$ //$NON-NLS-2$ |
|
317 | 312 |
for (String v : propertiesValues.get(s)) |
318 | 313 |
buff.append(v + ", "); //$NON-NLS-1$ |
319 | 314 |
buff.append("..."); //$NON-NLS-1$ |
320 |
buff.append("</li>\n"); //$NON-NLS-1$
|
|
315 |
buff.append("</li>\n"); //$NON-NLS-1$ |
|
321 | 316 |
} |
322 | 317 |
} |
323 | 318 |
buff.append("</ul>\n"); //$NON-NLS-1$ |
324 | 319 |
|
325 | 320 |
// Propriété de structures |
326 |
buff.append("<h3 style'font-family:\"Arial\";'>"+NLS.bind(PropertiesCoreMessages.Properties_22, pMaxPropertiesToDisplay)+"</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
321 |
buff.append("<h3 style'font-family:\"Arial\";'>" + NLS.bind(PropertiesCoreMessages.Properties_22, pMaxPropertiesToDisplay) + "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
327 | 322 |
buff.append("<ul>\n"); //$NON-NLS-1$ |
328 | 323 |
for (String s : internalArchitecture) { |
329 | 324 |
StringBuffer subbuffer = new StringBuffer(); |
330 | 325 |
if (s.equals("txmcorpus")) //$NON-NLS-1$ |
331 |
continue;//ignore the txmcorpus structure |
|
332 |
|
|
326 |
continue;// ignore the txmcorpus structure
|
|
327 |
|
|
333 | 328 |
properties = new ArrayList<String>(internalArchitectureProperties.get(s).keySet()); |
334 |
|
|
329 |
|
|
335 | 330 |
subbuffer.append("<li> " + s + "\n<ul>\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
336 | 331 |
if (internalArchitectureProperties.get(s).keySet().size() == 0) |
337 |
subbuffer.append("<li>"+PropertiesCoreMessages.Properties_26+"</li>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
332 |
subbuffer.append("<li>" + PropertiesCoreMessages.Properties_26 + "</li>\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
338 | 333 |
|
339 |
|
|
340 |
//System.out.println("struct: "+s+" >> "+properties); |
|
334 |
// System.out.println("struct: "+s+" >> "+properties); |
|
341 | 335 |
Collections.sort(properties); |
342 |
//System.out.println("struct: "+s+" >sort> "+properties); |
|
336 |
// System.out.println("struct: "+s+" >sort> "+properties);
|
|
343 | 337 |
int nbOfValues = 0; |
344 | 338 |
for (String ps : properties) { |
345 |
if (!ps.equals("project") && !ps.equals("base") ) //$NON-NLS-1$ //$NON-NLS-2$
|
|
339 |
if (!ps.equals("project") && !ps.equals("base")) //$NON-NLS-1$ //$NON-NLS-2$
|
|
346 | 340 |
{ |
347 |
//System.out.println("struct: "+s+" >> "+ps); |
|
341 |
// System.out.println("struct: "+s+" >> "+ps);
|
|
348 | 342 |
int valuecount = internalArchitecturePropertiesCounts.get(s).get(ps); |
349 | 343 |
ArrayList<String> values = new ArrayList<String>(internalArchitectureProperties.get(s).get(ps)); |
350 | 344 |
subbuffer.append("<li> " + ps + " (" + valuecount + ") = "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
351 |
//System.out.println("VALUES: "+values); |
|
345 |
// System.out.println("VALUES: "+values);
|
|
352 | 346 |
Collections.sort(values); |
353 |
for (int i = 0 ; i < values.size() ; i++) {
|
|
347 |
for (int i = 0; i < values.size(); i++) {
|
|
354 | 348 |
nbOfValues++; |
355 | 349 |
String psv = values.get(i); |
356 | 350 |
if (psv != null && psv.length() > 0) |
357 | 351 |
subbuffer.append(psv.replace("<", "<")); //$NON-NLS-1$ //$NON-NLS-2$ |
358 | 352 |
else |
359 | 353 |
subbuffer.append("\"\""); //$NON-NLS-1$ |
360 |
|
|
361 |
if (i == values.size() -1) |
|
354 |
|
|
355 |
if (i == values.size() - 1)
|
|
362 | 356 |
subbuffer.append("."); //$NON-NLS-1$ |
363 | 357 |
else |
364 | 358 |
subbuffer.append(", "); //$NON-NLS-1$ |
365 |
|
|
359 |
|
|
366 | 360 |
if (i >= pMaxPropertiesToDisplay) { |
367 | 361 |
subbuffer.append("..."); //$NON-NLS-1$ |
368 | 362 |
break; |
... | ... | |
379 | 373 |
buff.append("</ul>\n"); //$NON-NLS-1$ |
380 | 374 |
buff.append("</body>\n"); //$NON-NLS-1$ |
381 | 375 |
buff.append("</html>\n"); //$NON-NLS-1$ |
382 |
|
|
376 |
|
|
383 | 377 |
return buff.toString(); |
384 | 378 |
} |
385 | 379 |
|
386 |
|
|
387 |
|
|
388 | 380 |
/** |
389 | 381 |
* dump the result in the console. |
390 | 382 |
* |
391 |
* @param maxvalue the maxvalue |
|
383 |
* @param maxvalue |
|
384 |
* the maxvalue |
|
392 | 385 |
* @return the string |
393 | 386 |
*/ |
394 | 387 |
public String dump(int maxvalue) { |
395 | 388 |
StringBuffer buff = new StringBuffer(); |
396 | 389 |
|
397 | 390 |
buff.append(PropertiesCoreMessages.Properties_40); |
398 |
buff.append(PropertiesCoreMessages.Properties_41 + String.format(Locale.FRANCE,"%,d", numberOfWords) + "\n"); //$NON-NLS-1$ |
|
399 |
buff.append(PropertiesCoreMessages.Properties_43 + String.format("%,d", NProperties) + "\n"); //$NON-NLS-1$ |
|
400 |
/*for (String s : propertiesCounts.keySet()) |
|
401 |
if (!s.equals("id")) //$NON-NLS-1$ |
|
402 |
buff.append(" - " + s + " " + propertiesCounts.get(s) + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
|
403 |
*/ |
|
404 |
buff.append(PropertiesCoreMessages.Properties_49 + String.format("%,d", NStructures) + "\n"); //$NON-NLS-1$ |
|
391 |
buff.append(PropertiesCoreMessages.Properties_41 + String.format(Locale.FRANCE, "%,d", numberOfWords) + "\n"); //$NON-NLS-1$ |
|
392 |
buff.append(PropertiesCoreMessages.Properties_43 + String.format("%,d", NProperties) + "\n"); //$NON-NLS-1$ |
|
393 |
/* |
|
394 |
* for (String s : propertiesCounts.keySet()) if (!s.equals("id")) //$NON-NLS-1$ |
|
395 |
* buff.append(" - " + s + " " + propertiesCounts.get(s) + "\n"); //$NON-NLS-1$ |
|
396 |
* //$NON-NLS-2$ //$NON-NLS-3$ |
|
397 |
*/ |
|
398 |
buff.append(PropertiesCoreMessages.Properties_49 + String.format("%,d", NStructures) + "\n"); //$NON-NLS-1$ |
|
405 | 399 |
for (String s : structuresCounts.keySet()) |
406 |
buff.append(" - " + s + "\n");//+structuresCounts.get(s)+"\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
400 |
buff.append(" - " + s + "\n");// +structuresCounts.get(s)+"\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
407 | 401 |
|
408 | 402 |
/* |
409 | 403 |
* buff.append("* Structural Units counts\n"); for(String s : |
410 |
* internalArchitecture) |
|
411 |
* buff.append(" - "+s+" "+hierarchieCounts.get(s)+"\n"); |
|
404 |
* internalArchitecture) buff.append(" - "+s+" "+hierarchieCounts.get(s)+"\n"); |
|
412 | 405 |
*/ |
413 | 406 |
buff.append(PropertiesCoreMessages.Properties_0); |
414 | 407 |
for (String s : internalArchitecture) { |
... | ... | |
416 | 409 |
for (String ps : internalArchitectureProperties.get(s).keySet()) { |
417 | 410 |
if (!(s.equals("text") && (ps.equals("project") || ps.equals("base") || ps.equals("id")))) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ |
418 | 411 |
{ |
419 |
buff |
|
420 |
.append(" - " + ps + "(" + internalArchitectureProperties.get(s).get(ps).size() + ") = "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
|
412 |
buff.append(" - " + ps + "(" + internalArchitectureProperties.get(s).get(ps).size() + ") = "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
|
421 | 413 |
|
422 | 414 |
int valuecount = 0; |
423 |
for (String psv : internalArchitectureProperties.get(s) |
|
424 |
.get(ps)) { |
|
415 |
for (String psv : internalArchitectureProperties.get(s).get(ps)) { |
|
425 | 416 |
buff.append(psv); |
426 | 417 |
if (valuecount++ >= maxvalue) { |
427 | 418 |
buff.append("..."); //$NON-NLS-1$ |
428 | 419 |
break; |
429 | 420 |
} |
430 |
if (valuecount < internalArchitectureProperties.get(s) |
|
431 |
.get(ps).size()) |
|
421 |
if (valuecount < internalArchitectureProperties.get(s).get(ps).size()) |
|
432 | 422 |
buff.append(", "); //$NON-NLS-1$ |
433 | 423 |
} |
434 | 424 |
|
... | ... | |
533 | 523 |
/** |
534 | 524 |
* dump the diagnostic in a text file. |
535 | 525 |
* |
536 |
* @param outfile the outfile |
|
537 |
* @param maxvalue the maxvalue |
|
526 |
* @param outfile |
|
527 |
* the outfile |
|
528 |
* @param maxvalue |
|
529 |
* the maxvalue |
|
538 | 530 |
* @return true, if successful |
539 | 531 |
*/ |
540 | 532 |
public boolean toTxt(File outfile, String encoding, int maxvalue) { |
... | ... | |
554 | 546 |
/** |
555 | 547 |
* dump the diagnostic in a HTML file. |
556 | 548 |
* |
557 |
* @param outfile the outfile |
|
549 |
* @param outfile |
|
550 |
* the outfile |
|
558 | 551 |
* @return true, if successful |
559 | 552 |
*/ |
560 | 553 |
public boolean toHTML(File outfile) { |
561 | 554 |
outfile.getParentFile().mkdirs(); |
562 | 555 |
PrintWriter writer; |
563 | 556 |
try { |
564 |
writer = IOUtils.getWriter(outfile); //$NON-NLS-1$ |
|
557 |
writer = IOUtils.getWriter(outfile); // $NON-NLS-1$
|
|
565 | 558 |
writer.write(this.htmlDump()); |
566 | 559 |
writer.close(); |
567 | 560 |
} catch (IOException e) { |
... | ... | |
575 | 568 |
/** |
576 | 569 |
* dump the diagnostic in a text file, maxvalue = 100. |
577 | 570 |
* |
578 |
* @param outfile the outfile |
|
571 |
* @param outfile |
|
572 |
* the outfile |
|
579 | 573 |
* @return true, if successful |
580 | 574 |
*/ |
581 | 575 |
public boolean toTxt(File outfile) { |
... | ... | |
604 | 598 |
|
605 | 599 |
@Override |
606 | 600 |
protected boolean _compute() throws Exception { |
607 |
|
|
601 |
|
|
608 | 602 |
this.beginTask("Computing properties...", 3); |
609 | 603 |
this.stepGeneralInfos(); |
610 | 604 |
this.worked(1); |
611 |
|
|
605 |
|
|
612 | 606 |
this.stepLexicalProperties(); |
613 | 607 |
this.worked(1); |
614 |
|
|
608 |
|
|
615 | 609 |
this.stepStructuralUnits(); |
616 | 610 |
this.worked(1); |
617 |
|
|
611 |
|
|
618 | 612 |
String txmhome = Toolbox.getTxmHomePath(); |
619 | 613 |
String filename = corpus.getMainCorpus() + "-" + corpus.getName(); //$NON-NLS-1$ |
620 | 614 |
if (corpus instanceof MainCorpus) { |
621 |
filename = corpus.getID(); //$NON-NLS-1$ |
|
615 |
filename = corpus.getID(); // $NON-NLS-1$
|
|
622 | 616 |
} |
623 |
|
|
617 |
|
|
624 | 618 |
filename = AsciiUtils.buildId(filename); |
625 | 619 |
file = new File(txmhome, "results/" + filename + "-infos.html"); //$NON-NLS-1$ //$NON-NLS-2$ |
626 |
|
|
620 |
|
|
627 | 621 |
this.toHTML(file); |
628 | 622 |
return true; |
629 | 623 |
} |
630 |
|
|
624 |
|
|
631 | 625 |
/** |
632 | 626 |
* Gets the HTML file. |
627 |
* |
|
633 | 628 |
* @return the HTML file |
634 | 629 |
*/ |
635 | 630 |
public File getHTMLFile() { |
... | ... | |
647 | 642 |
return true; |
648 | 643 |
} |
649 | 644 |
|
650 |
|
|
651 | 645 |
@Override |
652 | 646 |
public boolean saveParameters() { |
653 | 647 |
// nothing to do -> all parameters are already managed by autoSaveParameters |
tmp/org.txm.partition.core/src/org/txm/partition/core/preferences/PartitionDimensionsPreferences.java (revision 1164) | ||
---|---|---|
10 | 10 |
* @author sjacquot |
11 | 11 |
* |
12 | 12 |
*/ |
13 |
public class PartitionDimensionsPreferences extends TXMPreferences {
|
|
13 |
public class PartitionDimensionsPreferences extends ChartsEnginePreferences {
|
|
14 | 14 |
|
15 |
|
|
16 |
|
|
17 | 15 |
public static final String CHART_DIMENSIONS_DISPLAY_PARTS_COUNT_IN_TITLE = "chart_dimensions_display_parts_count_in_title"; //$NON-NLS-1$ |
18 | 16 |
public static final String CHART_DIMENSIONS_SORT_BY_SIZE = "chart_dimensions_sort_by_parts_size"; //$NON-NLS-1$ |
19 | 17 |
|
20 |
|
|
21 |
|
|
22 | 18 |
/** |
23 | 19 |
* Gets the instance. |
24 | 20 |
* @return the instance |
... | ... | |
29 | 25 |
} |
30 | 26 |
return TXMPreferences.instances.get(PartitionDimensionsPreferences.class); |
31 | 27 |
} |
32 |
|
|
33 | 28 |
|
34 | 29 |
@Override |
35 | 30 |
public void initializeDefaultPreferences() { |
tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java (revision 1164) | ||
---|---|---|
498 | 498 |
* @throws Exception |
499 | 499 |
*/ |
500 | 500 |
public int getNRows() throws Exception { |
501 |
return statsData.getNRows(); |
|
501 |
if (statsData != null) { |
|
502 |
return statsData.getNRows(); |
|
503 |
} else { |
|
504 |
return 0; |
|
505 |
} |
|
502 | 506 |
} |
503 | 507 |
|
504 | 508 |
/** |
... | ... | |
538 | 542 |
} |
539 | 543 |
|
540 | 544 |
public Vector getRowNames() throws Exception { |
541 |
return statsData.getRowNames(); |
|
545 |
if (statsData != null) { |
|
546 |
return statsData.getRowNames(); |
|
547 |
} else { |
|
548 |
return null; |
|
549 |
} |
|
542 | 550 |
} |
543 | 551 |
|
544 | 552 |
@Override |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java (revision 1164) | ||
---|---|---|
35 | 35 |
@Override |
36 | 36 |
public void widgetDefaultSelected(SelectionEvent e) { |
37 | 37 |
// TODO Auto-generated method stub |
38 |
if((e.getSource() instanceof Spinner) || e.stateMask != 0) { |
|
39 |
this.editor.compute(true); |
|
40 |
} |
|
38 | 41 |
} |
39 | 42 |
|
40 | 43 |
@Override |
tmp/org.txm.wordcloud.core/src/org/txm/wordcloud/core/preferences/WordCloudPreferences.java (revision 1164) | ||
---|---|---|
13 | 13 |
* @author sjacquot |
14 | 14 |
* |
15 | 15 |
*/ |
16 |
public class WordCloudPreferences extends TXMPreferences {
|
|
16 |
public class WordCloudPreferences extends ChartsEnginePreferences {
|
|
17 | 17 |
|
18 |
|
|
19 | 18 |
public static final String PREFERENCES_PREFIX = "wordcloud_"; |
20 | 19 |
|
21 | 20 |
public static final String MAX_WORDS_COUNT = PREFERENCES_PREFIX + "max_words"; //$NON-NLS-1$ |
... | ... | |
23 | 22 |
public static final String ROTATION_PERCENT = PREFERENCES_PREFIX + "rotation_percent"; //$NON-NLS-1$ |
24 | 23 |
public static final String RANDOM_POSITIONS = PREFERENCES_PREFIX + "random_positions"; //$NON-NLS-1$ |
25 | 24 |
|
26 |
|
|
27 | 25 |
@Override |
28 | 26 |
public void initializeDefaultPreferences() { |
29 | 27 |
super.initializeDefaultPreferences(); |
tmp/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/handlers/ComputeCooccurrences.java (revision 1164) | ||
---|---|---|
90 | 90 |
|
91 | 91 |
int minf = CooccurrencePreferences.getInstance().getInt(TXMPreferences.F_MIN); |
92 | 92 |
int mincof = CooccurrencePreferences.getInstance().getInt(CooccurrencePreferences.MIN_COUNT); |
93 |
int minscore = (int) CooccurrencePreferences.getInstance().getDouble(CooccurrencePreferences.MIN_SCORE);
|
|
93 |
float minscore = CooccurrencePreferences.getInstance().getFloat(CooccurrencePreferences.MIN_SCORE);
|
|
94 | 94 |
boolean buildLexicalTableWithCooccurrents = CooccurrencePreferences.getInstance().getBoolean(CooccurrencePreferences.PARTIAL_LEXICAL_TABLE); |
95 | 95 |
|
96 | 96 |
StructuralUnit limit = null; |
... | ... | |
107 | 107 |
|
108 | 108 |
try { |
109 | 109 |
cooc = new Cooccurrence(corpus); |
110 |
cooc.setParameters(query, properties, limit, maxleft, minleft, minright, maxright, minf, mincof, minscore, false, buildLexicalTableWithCooccurrents);
|
|
110 |
cooc.setParameters(query, properties, limit, maxleft, minleft, minright, maxright, minf, minscore, mincof, false, buildLexicalTableWithCooccurrents);
|
|
111 | 111 |
} |
112 | 112 |
catch (Exception e) { |
113 | 113 |
Log.printStackTrace(e); |
tmp/org.txm.progression.core/src/org/txm/progression/core/preferences/ProgressionPreferences.java (revision 1164) | ||
---|---|---|
12 | 12 |
* @author sjacquot |
13 | 13 |
* |
14 | 14 |
*/ |
15 |
public class ProgressionPreferences extends TXMPreferences {
|
|
15 |
public class ProgressionPreferences extends ChartsEnginePreferences {
|
|
16 | 16 |
|
17 |
|
|
18 | 17 |
/** The Constant REPEAT_VALUES. */ |
19 | 18 |
public static final String REPEAT_SAME_VALUES = "repeat_same_values"; //$NON-NLS-1$ |
20 | 19 |
|
tmp/org.txm.textsbalance.core/src/org/txm/textsbalance/core/preferences/TextsBalancePreferences.java (revision 1164) | ||
---|---|---|
11 | 11 |
* @author sjacquot |
12 | 12 |
* |
13 | 13 |
*/ |
14 |
public class TextsBalancePreferences extends TXMPreferences {
|
|
14 |
public class TextsBalancePreferences extends ChartsEnginePreferences {
|
|
15 | 15 |
|
16 | 16 |
|
17 | 17 |
public static final String GROUP_BY_TEXTS = "group_by_texts"; //$NON-NLS-1$ |
Formats disponibles : Unified diff