Revision 243

tmp/org.txm.specificities.rcp/.classpath (revision 243)
3 3
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
4 4
	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 5
	<classpathentry kind="src" path="src"/>
6
	<classpathentry kind="src" path="OSGI-INF"/>
7 6
	<classpathentry kind="output" path="bin"/>
8 7
</classpath>
tmp/org.txm.specificities.rcp/META-INF/MANIFEST.MF (revision 243)
5 5
Bundle-Version: 1.0.0.qualifier
6 6
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
7 7
Require-Bundle: org.txm.core;bundle-version="0.7.0",
8
 org.txm.statsengine.r.rcp,
8 9
 org.txm.specificities.core,
9 10
 org.txm.chartsengine.rcp,
10 11
 org.txm.rcp;bundle-version="0.7.8",
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/messages/messages.properties (revision 243)
1
SpecificitiesPreferencePage_0=Show p-values
2
SpecificitiesPreferencePage_1=Monochrome graph
3
SpecificitiesPreferencePage_2=Specificities
4
SpecificitiesPreferencePage_3=Scores format (default is %,.1f)
5
SpecificitiesPreferencePage_4=Group bars by lines
6
SpecificitiesPreferencePage_5=Draw lines
7
SpecificitiesPreferencePage_6=Draw bars
8
SpecificitiesPreferencePage_7=Banality
9
SpecificitiesPreferencePage_8=Maximum score
10
SpecificitiesResultEditorInput_0=Values
11
SpecificitiesResultEditorInput_1=Graphic
12
SpecificitiesResultEditorInput_11=Double
13
SpecificitiesResultEditorInput_2=Cannot compute simultaneously part and form specificities
14
SpecificitiesResultEditorInput_5=Total frequency
15
SpecificitiesResultEditorInput_6=Sub frequency
16
SpecificitiesResultEditorInput_7=Specificities index
17
SpecificitiesTableEditor_0=Unable to compute the specificities
18
SpecificitiesTableEditor_1=Error while sorting specificities\: {0}
19
SpecificitiesTableEditor_11=\ T
20
SpecificitiesTableEditor_16=Graph\:
21
SpecificitiesTableEditor_17=Opening the specificities table
22
SpecificitiesTableEditor_5=Unexpected error in the statistical engine R {0}
23
SpecificitiesTableEditor_8=Compute the histogram of the lines selected
0 24

  
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/messages/messages_ru.properties (revision 243)
1
SpecificitiesPreferencePage_0=N/A_Show p-values
2
SpecificitiesPreferencePage_1=Ч/Б график
3
SpecificitiesPreferencePage_2=Специфичность
4
SpecificitiesPreferencePage_3=N/A_Scores format (default%,.1f)
5
SpecificitiesPreferencePage_4=Сгруппировать столбики по строкам таблицы
6
SpecificitiesPreferencePage_5=График: показать кривые
7
SpecificitiesPreferencePage_6=График: показать столбики
8
SpecificitiesPreferencePage_7=N/A_Banalit�
9
SpecificitiesResultEditorInput_0=Значения
10
SpecificitiesResultEditorInput_1=График
11
SpecificitiesResultEditorInput_11=Плавающий
12
SpecificitiesResultEditorInput_2=Невозможно рассчитать одновременно специфичность части и форм
13
SpecificitiesResultEditorInput_5=Общая частотность
14
SpecificitiesResultEditorInput_6=Подчастотность
15
SpecificitiesResultEditorInput_7=Индекс специфичности
16
SpecificitiesTableEditor_0=Не удалось подсчитать специфичность
17
SpecificitiesTableEditor_1=** Ошибка при сортировке специфичности
18
SpecificitiesTableEditor_11= T
19
SpecificitiesTableEditor_16=График: 
20
SpecificitiesTableEditor_17=Загрузка таблицы специфичности
21
SpecificitiesTableEditor_5=Неожиданная ошибка в статистической машине R
22
SpecificitiesTableEditor_8=Построить гистограмму выделенных строк
0 23

  
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/messages/SpecificitiesUIMessages.java (revision 243)
1 1
package org.txm.specificities.rcp.messages;
2 2

  
3 3
import org.eclipse.osgi.util.NLS;
4
import org.txm.core.messages.TXMCoreMessages;
4 5

  
5 6
public class SpecificitiesUIMessages extends NLS {
6 7
	
7 8

  
8
	//private static final String BUNDLE_NAME = "org.txm.rcp.wordcloud.messages.messages"; //$NON-NLS-1$
9
	// FIXME: use the same properties file than the bundle	
10
	private static final String BUNDLE_NAME = "l10n.bundle"; //$NON-NLS-1$
9
	private static final String BUNDLE_NAME = "org.txm.specificities.rcp.messages.messages"; //$NON-NLS-1$
11 10
	
12 11
	
13
	
14
	public static String SpecificitiesPreferencePage_0;
15
	public static String SpecificitiesPreferencePage_1;
16 12
	public static String SpecificitiesPreferencePage_2;
17 13
	public static String SpecificitiesPreferencePage_3;
18 14
	public static String SpecificitiesPreferencePage_4;
......
31 27
	public static String SpecificitiesTableEditor_0;
32 28
	public static String SpecificitiesTableEditor_1;
33 29
	public static String SpecificitiesTableEditor_11;
34
	public static String SpecificitiesTableEditor_16;
30

  
35 31
	public static String SpecificitiesTableEditor_17;
36 32
	public static String SpecificitiesTableEditor_5;
33
	
34
	// FIXME: unused keys
35
	public static String SpecificitiesPreferencePage_0;
36
	public static String SpecificitiesPreferencePage_1;
37
	public static String SpecificitiesTableEditor_16;
37 38
	public static String SpecificitiesTableEditor_8;
39
	// end of fixme
38 40
	
39
	
40 41
	static {
41 42
		// initialize resource bundle
42
		NLS.initializeMessages(BUNDLE_NAME, SpecificitiesUIMessages.class);
43
		TXMCoreMessages.initializeMessages(BUNDLE_NAME, SpecificitiesUIMessages.class);
43 44
	}
44 45

  
45 46
	private SpecificitiesUIMessages() {
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/messages/messages_fr.properties (revision 243)
1
SpecificitiesPreferencePage_0=Montrer les p-values
2
SpecificitiesPreferencePage_1=Graphique N/B
3
SpecificitiesPreferencePage_2=Spécificités
4
SpecificitiesPreferencePage_3=Format des indices (par défaut \: %,.1f)
5
SpecificitiesPreferencePage_4=Regrouper les barres par les lignes de la table
6
SpecificitiesPreferencePage_5=Afficher les lignes
7
SpecificitiesPreferencePage_6=Afficher les barres
8
SpecificitiesPreferencePage_7=Banalité
9
SpecificitiesPreferencePage_8=Indice maximum
10
SpecificitiesResultEditorInput_0=Valeurs
11
SpecificitiesResultEditorInput_1=Graphique
12
SpecificitiesResultEditorInput_11=Flottant
13
SpecificitiesResultEditorInput_2=On ne peut pas calculer à la fois les spécificités d'une partie et des formes
14
SpecificitiesResultEditorInput_5=Fréquence totale
15
SpecificitiesResultEditorInput_6=Sous-fréquence
16
SpecificitiesResultEditorInput_7=Index des spécificités
17
SpecificitiesTableEditor_0=Le calcul des spécificités a échoué
18
SpecificitiesTableEditor_1=** Erreur lors du tri des spécificités
19
SpecificitiesTableEditor_11=T
20
SpecificitiesTableEditor_16=Graphique : 
21
SpecificitiesTableEditor_17=Chargement de la table des spécificités
22
SpecificitiesTableEditor_5=Erreur inattendue dans le moteur statistique R
23
SpecificitiesTableEditor_8=Calculer le diagramme en bâtons des lignes sélectionnées
0 24

  
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesResultEditorInput.java (revision 243)
53 53
import org.txm.searchengine.cqp.corpus.Partition;
54 54
import org.txm.specificities.core.functions.SpecificitesResult;
55 55
import org.txm.specificities.rcp.messages.SpecificitiesUIMessages;
56
import org.txm.stat.StatException;
56
import org.txm.statsengine.core.StatException;
57 57
// TODO: Auto-generated Javadoc
58 58
/**
59 59
 * The Class SpecificitiesResultEditorInput.
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesTableEditor.java (revision 243)
66 66
import org.txm.searchengine.cqp.corpus.Corpus;
67 67
import org.txm.specificities.core.functions.SpecificitesResult;
68 68
import org.txm.specificities.rcp.messages.SpecificitiesUIMessages;
69
import org.txm.stat.StatException;
69
import org.txm.statsengine.core.StatException;
70 70
// TODO: Auto-generated Javadoc
71 71
/**
72 72
 * Display a table editor with specificites index.
......
150 150
								tableLines.sort(currentComparator);
151 151
							}
152 152
						});
153
				StatusLine.setMessage(Messages.IndexEditor_37);
153
				StatusLine.setMessage(Messages.SORT_DONE);
154 154
				fillDisplay();
155 155
			} catch (Exception e) {
156 156
				System.err.println(NLS.bind(SpecificitiesUIMessages.SpecificitiesTableEditor_1, e)); 
......
238 238
		typeNameColumn.addSelectionListener(new SelectionListener() {
239 239
			@Override
240 240
			public void widgetSelected(SelectionEvent e) {
241
				StatusLine.setMessage(Messages.IndexEditor_36);
241
				StatusLine.setMessage(Messages.SORT_COLUMN);
242 242
				Comparator column_comparator = new Comparator() {
243 243
					@Override
244 244
					public int compare(Object o1, Object o2) {
......
283 283
		typeFrequencyColumn.addSelectionListener(new SelectionListener() {
284 284
			@Override
285 285
			public void widgetSelected(SelectionEvent e) {
286
				StatusLine.setMessage(Messages.IndexEditor_36);
286
				StatusLine.setMessage(Messages.SORT_COLUMN);
287 287
				Comparator<Object[]> column_comparator = new Comparator<Object[]>() {
288 288
					@Override
289 289
					public int compare(Object[] line1, Object[] line2) { // Compare two
......
343 343
			freqpartTableColumn.addSelectionListener(new SelectionListener() {
344 344
				@Override
345 345
				public void widgetSelected(SelectionEvent e) {
346
					StatusLine.setMessage(Messages.IndexEditor_36);
346
					StatusLine.setMessage(Messages.SORT_COLUMN);
347 347
					Comparator<Object> column_comparator = new Comparator<Object>() {
348 348
						@Override
349 349
						public int compare(Object o1, Object o2) { // Compare
......
389 389
			partTableColumn.addSelectionListener(new SelectionListener() {
390 390
				@Override
391 391
				public void widgetSelected(SelectionEvent e) {
392
					StatusLine.setMessage(Messages.IndexEditor_36);
392
					StatusLine.setMessage(Messages.SORT_COLUMN);
393 393
					Comparator<Object> column_comparator = new Comparator<Object>() {
394 394
						@Override
395 395
						public int compare(Object o1, Object o2) { // Compare
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/handlers/ComputeSpecifities.java (revision 243)
27 27
//
28 28
package org.txm.specificities.rcp.handlers;
29 29

  
30
import org.eclipse.core.commands.AbstractHandler;
31 30
import org.eclipse.core.commands.ExecutionEvent;
32 31
import org.eclipse.core.commands.ExecutionException;
33 32
import org.eclipse.core.runtime.IProgressMonitor;
......
41 40
import org.eclipse.ui.IWorkbenchWindow;
42 41
import org.eclipse.ui.PartInitException;
43 42
import org.eclipse.ui.handlers.HandlerUtil;
44
import org.txm.Toolbox;
45 43
import org.txm.core.preferences.TXMPreferences;
46 44
import org.txm.lexicaltable.core.preferences.LexicalTablePreferences;
45
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
46
import org.txm.rcp.handlers.BaseAbstractHandler;
47 47
import org.txm.rcpapplication.JobsTimer;
48 48
import org.txm.rcpapplication.Messages;
49 49
import org.txm.rcpapplication.StatusLine;
50 50
import org.txm.rcpapplication.utils.JobHandler;
51 51
import org.txm.rcpapplication.views.QueriesView;
52
import org.txm.rcpapplication.views.RVariablesView;
53 52
import org.txm.rcpapplication.views.corpora.CorporaView;
54 53
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
55 54
import org.txm.searchengine.cqp.corpus.Corpus;
......
63 62
import org.txm.specificities.rcp.dialogs.ComputeSpecificitiesForSubcorpusDialog;
64 63
import org.txm.specificities.rcp.editors.SpecificitiesResultEditorInput;
65 64
import org.txm.specificities.rcp.editors.SpecificitiesTableEditor;
66
import org.txm.stat.StatException;
67
import org.txm.stat.data.LexicalTable;
65
import org.txm.statsengine.core.StatException;
66
import org.txm.statsengine.r.rcp.views.RVariablesView;
68 67
import org.txm.utils.logger.Log;
69 68

  
70 69
// TODO: Auto-generated Javadoc
......
75 74
 * 
76 75
 * @author mdecorde
77 76
 */
78
public class ComputeSpecifities extends AbstractHandler {
77
public class ComputeSpecifities extends BaseAbstractHandler {
79 78
	
80 79
	
81 80
	// adds a double click listener to the Corpus View
......
105 104
	@Override
106 105
	public Object execute(ExecutionEvent event) throws ExecutionException {
107 106

  
108
		if(!Toolbox.isStatEngineInitialized()) {
109
			System.out.println(Messages.ComputeSpecifities_0);
107
		if(!this.checkStatsEngine()) {
110 108
			return null;
111 109
		}
112 110

  
111

  
113 112
		window = HandlerUtil.getActiveWorkbenchWindow(event);
114 113
		selection = (IStructuredSelection) HandlerUtil.getCurrentSelection(event);
115 114
		if(selection == null) {
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/preferences/SpecificitiesPreferencePage.java (revision 243)
50 50
public class SpecificitiesPreferencePage extends TXMPreferencePage	{
51 51
	
52 52
	
53
	
54 53

  
55
	/**
56
	 * Instantiates a new specificities preference page.
57
	 */
58
	public SpecificitiesPreferencePage() {
59
		super();
60
	}
61

  
62 54
	/* (non-Javadoc)
63 55
	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
64 56
	 */
......
96 88
	}
97 89

  
98 90
	
99
	public static TXMPreferenceStore getNewPreferenceStore()	{
100
		return new TXMPreferenceStore(SpecificitiesPreferences.PREFERENCES_NODE);
101
	}
102
	
103 91
	@Override
104 92
	public void init(IWorkbench workbench) {
105
		this.setPreferenceStore(getNewPreferenceStore());
93
		this.setPreferenceStore(new TXMPreferenceStore(SpecificitiesPreferences.PREFERENCES_NODE));
106 94
		this.setTitle(SpecificitiesUIMessages.SpecificitiesPreferencePage_2);
107 95
		this.setImageDescriptor(SpecificitiesAdapterFactory.ICON);
108 96
	}
tmp/org.txm.specificities.rcp/OSGI-INF/l10n/bundle_ru.properties (revision 243)
3 3
page.name=\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u044c
4 4
command.label=\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u044c
5 5
command.tooltip=\u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u043b\u043e\u0432\u0430
6
SpecificitiesPreferencePage_0=N/A_Show p-values
7
SpecificitiesPreferencePage_1=\u0427/\u0411 \u0433\u0440\u0430\u0444\u0438\u043a
8
SpecificitiesPreferencePage_2=\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u044c
9
SpecificitiesPreferencePage_3=N/A_Scores format (default%,.1f)
10
SpecificitiesPreferencePage_4=\u0421\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0438\u043a\u0438 \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b
11
SpecificitiesPreferencePage_5=\u0413\u0440\u0430\u0444\u0438\u043a: \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0440\u0438\u0432\u044b\u0435
12
SpecificitiesPreferencePage_6=\u0413\u0440\u0430\u0444\u0438\u043a: \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0438\u043a\u0438
13
SpecificitiesPreferencePage_7=N/A_Banalit?
14
SpecificitiesResultEditorInput_0=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f
15
SpecificitiesResultEditorInput_1=\u0413\u0440\u0430\u0444\u0438\u043a
16
SpecificitiesResultEditorInput_11=\u041f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0439
17
SpecificitiesResultEditorInput_2=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u044c \u0447\u0430\u0441\u0442\u0438 \u0438 \u0444\u043e\u0440\u043c
18
SpecificitiesResultEditorInput_5=\u041e\u0431\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c
19
SpecificitiesResultEditorInput_6=\u041f\u043e\u0434\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u043e\u0441\u0442\u044c
20
SpecificitiesResultEditorInput_7=\u0418\u043d\u0434\u0435\u043a\u0441 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u0438
21
SpecificitiesTableEditor_0=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u044c
22
SpecificitiesTableEditor_1=** \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u0438
23
SpecificitiesTableEditor_11= T
24
SpecificitiesTableEditor_16=\u0413\u0440\u0430\u0444\u0438\u043a: 
25
SpecificitiesTableEditor_17=\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u0438
26
SpecificitiesTableEditor_5=\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 R
27
SpecificitiesTableEditor_8=\u041f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a
tmp/org.txm.specificities.rcp/OSGI-INF/l10n/bundle_fr.properties (revision 243)
1
command.name.0=Calculer le diagramme en b\u00E2tons des lignes s?lectionn?es
2
command.name=Sp?cificit?s
3
editor.name=Sp?cificit?s
4
page.name=Sp?cificit?s
5
command.label=Sp?cificiti?s
6
command.tooltip=Calculer les mots sp?cifiques de chaque partie
7
SpecificitiesPreferencePage_0=Montrer les p-values
8
SpecificitiesPreferencePage_1=Graphique N/B
9
SpecificitiesPreferencePage_2=Sp?cificit?s
10
SpecificitiesPreferencePage_3=Format des indices (par d?faut \: %,.1f)
11
SpecificitiesPreferencePage_4=Regrouper les barres par les lignes de la table
12
SpecificitiesPreferencePage_5=Afficher les lignes
13
SpecificitiesPreferencePage_6=Afficher les barres
14
SpecificitiesPreferencePage_7=Banalit?
15
SpecificitiesPreferencePage_8=Indice maximum
16
SpecificitiesResultEditorInput_0=Valeurs
17
SpecificitiesResultEditorInput_1=Graphique
18
SpecificitiesResultEditorInput_11=Flottant
19
SpecificitiesResultEditorInput_2=On ne peut pas calculer ? la fois les sp?cificit?s d'une partie et des formes
20
SpecificitiesResultEditorInput_5=Fr?quence totale
21
SpecificitiesResultEditorInput_6=Sous-fr?quence
22
SpecificitiesResultEditorInput_7=Index des sp?cificit?s
23
SpecificitiesTableEditor_0=Le calcul des sp?cificit?s a ?chou?
24
SpecificitiesTableEditor_1=** Erreur lors du tri des sp?cificit?s
25
SpecificitiesTableEditor_11=T
26
SpecificitiesTableEditor_16=Graphique \: 
27
SpecificitiesTableEditor_17=Chargement de la table des sp?cificit?s
28
SpecificitiesTableEditor_5=Erreur inattendue dans le moteur statistique R
29
SpecificitiesTableEditor_8=Calculer le diagramme en b\u00E2tons des lignes s?lectionn?es
1
command.name.0=Calculer le diagramme en bâtons des lignes sélectionnées
2
command.name=Spécificités
3
editor.name=Spécificités
4
page.name=Spécificités
5
command.label=Spécificitiés
6
command.tooltip=Calculer les mots spécifiques de chaque partie
tmp/org.txm.specificities.rcp/OSGI-INF/l10n/bundle_ru_utf-8.properties (revision 243)
3 3
page.name=Специфичность
4 4
command.label=Специфичность
5 5
command.tooltip=Вычислить специфичные для каждой части слова
6
SpecificitiesPreferencePage_0=N/A_Show p-values
7
SpecificitiesPreferencePage_1=Ч/Б график
8
SpecificitiesPreferencePage_2=Специфичность
9
SpecificitiesPreferencePage_3=N/A_Scores format (default%,.1f)
10
SpecificitiesPreferencePage_4=Сгруппировать столбики по строкам таблицы
11
SpecificitiesPreferencePage_5=График: показать кривые
12
SpecificitiesPreferencePage_6=График: показать столбики
13
SpecificitiesPreferencePage_7=N/A_Banalit�
14
SpecificitiesResultEditorInput_0=Значения
15
SpecificitiesResultEditorInput_1=График
16
SpecificitiesResultEditorInput_11=Плавающий
17
SpecificitiesResultEditorInput_2=Невозможно рассчитать одновременно специфичность части и форм
18
SpecificitiesResultEditorInput_5=Общая частотность
19
SpecificitiesResultEditorInput_6=Подчастотность
20
SpecificitiesResultEditorInput_7=Индекс специфичности
21
SpecificitiesTableEditor_0=Не удалось подсчитать специфичность
22
SpecificitiesTableEditor_1=** Ошибка при сортировке специфичности
23
SpecificitiesTableEditor_11= T
24
SpecificitiesTableEditor_16=График: 
25
SpecificitiesTableEditor_17=Загрузка таблицы специфичности
26
SpecificitiesTableEditor_5=Неожиданная ошибка в статистической машине R
27
SpecificitiesTableEditor_8=Построить гистограмму выделенных строк
6
command.name.0 = Построить гистограмму выделенных строк
tmp/org.txm.specificities.rcp/OSGI-INF/l10n/bundle.properties (revision 243)
4 4
page.name=Specificities
5 5
command.label=Specificities
6 6
command.tooltip=Compute the specific words of each part of the selected item
7
SpecificitiesPreferencePage_0=Show p-values
8
SpecificitiesPreferencePage_1=Monochrome graph
9
SpecificitiesPreferencePage_2=Specificities
10
SpecificitiesPreferencePage_3=Scores format (default is %,.1f)
11
SpecificitiesPreferencePage_4=Group bars by lines
12
SpecificitiesPreferencePage_5=Draw lines
13
SpecificitiesPreferencePage_6=Draw bars
14
SpecificitiesPreferencePage_7=Banality
15
SpecificitiesPreferencePage_8=Maximum score
16
SpecificitiesResultEditorInput_0=Values
17
SpecificitiesResultEditorInput_1=Graphic
18
SpecificitiesResultEditorInput_11=Double
19
SpecificitiesResultEditorInput_2=Cannot compute simultaneously part and form specificities
20
SpecificitiesResultEditorInput_5=Total frequency
21
SpecificitiesResultEditorInput_6=Sub frequency
22
SpecificitiesResultEditorInput_7=Specificities index
23
SpecificitiesTableEditor_0=Unable to compute the specificities
24
SpecificitiesTableEditor_1=Error while sorting specificities\: {0}
25
SpecificitiesTableEditor_11=\ T
26
SpecificitiesTableEditor_16=Graph\:
27
SpecificitiesTableEditor_17=Opening the specificities table
28
SpecificitiesTableEditor_5=Unexpected error in the statistical engine R {0}
29
SpecificitiesTableEditor_8=Compute the histogram of the lines selected
tmp/org.txm.specificities.core/META-INF/MANIFEST.MF (revision 243)
17 17
 org.txm.specificities.core.functions,
18 18
 org.txm.specificities.core.messages,
19 19
 org.txm.specificities.core.preferences,
20
 org.txm.stat.engine.r.function
20
 org.txm.specificities.core.statsengine.r.function
tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages_fr.properties (revision 243)
1
ChartsEngine_CANT_CREATE_SPECIFICITIES_FILE_CHART=Impossible de créer le fichier du graphique des spécificités (moteur de production de graphiques: {0})
2
ChartsEngine_SPECIFICITIES_BANALITY_MARKER_LABEL=Banalité : {0}
3
ChartsEngine_SPECIFICITIES_X_AXIS_LABEL=Partie
4
ChartsEngine_SPECIFICITIES_Y_AXIS_LABEL=Score
1

  
2
ChartsError_CANT_CREATE_SPECIFICITIES_FILE_CHART = Impossible de créer le fichier du graphique des spécificités (moteur de production de graphiques: {0})
3

  
4
Charts_BANALITY_MARKER_LABEL                     = Banalité : {0}
5
Charts_X_AXIS_LABEL                              = Partie
6
Charts_Y_AXIS_LABEL                              = Score
7

  
8
ComputeError_FAILED_TO_GET_SPECIFICITIES    = ** Echec d'accès aux spécificités : 
9
ComputeError_FOUND_AND_WANTED_ROWS_MISMATCH = ** Le nombre de lignes prévu ({0}) et trouvé ({1}) ne correspondent pas.
10
ComputeError_NEED_AT_LEAST_2_PARTS          = ** Il faut au moins 2 parties pour calculer des spécificités.
11

  
12
SpecificitesResult_0  = ** Pas de tableau d'index de spécificité
13
SpecificitesResult_1  = ** Le tableau d'index des spécificités ne correspond pas à une matrice
14
SpecificitesResult_10 = ** Référence à une colonne inexistante.
15
SpecificitesResult_2  = ** La table lexicale ne peut être nulle.
16
SpecificitesResult_6  = ** Référence à une ligne inexistante
17
SpecificitesResult_7  = ** Le nombre de colonnes données et le nombre de colonnes trouvées sont différents (
18
SpecificitesResult_8  = Unité
19

  
20
Specificites_2        = \ spécificités calculées
tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages.properties (revision 243)
1
ChartsEngine_CANT_CREATE_SPECIFICITIES_FILE_CHART=Can''t create specificities chart file (charts engine: {0})
2
ChartsEngine_SPECIFICITIES_BANALITY_MARKER_LABEL=Banality: {0}
3
ChartsEngine_SPECIFICITIES_X_AXIS_LABEL=Part
4
ChartsEngine_SPECIFICITIES_Y_AXIS_LABEL=Score
1

  
2
ChartsError_CANT_CREATE_SPECIFICITIES_FILE_CHART = Can''t create specificities chart file (charts engine: {0})
3

  
4
Charts_BANALITY_MARKER_LABEL                     = Banality: {0}
5
Charts_X_AXIS_LABEL                              = Part
6
Charts_Y_AXIS_LABEL                              = Score
7

  
8
ComputeError_FAILED_TO_GET_SPECIFICITIES    = ** Failed to get the specificites: 
9
ComputeError_FOUND_AND_WANTED_ROWS_MISMATCH = ** Number of rows wanted ({0}) and found ({1}) mismatch.
10
ComputeError_NEED_AT_LEAST_2_PARTS          = ** Cannot compute specificites with less than 2 parts in the corpus.
11

  
12
SpecificitesResult_0  = ** No specificity index array.
13
SpecificitesResult_1  = ** The specificity index array does not properly represent a matrix.
14
SpecificitesResult_10 = ** Reference to a non existing column.
15
SpecificitesResult_2  = ** The lexical table cannot be null.
16
SpecificitesResult_6  = ** Reference to non existing row.
17
SpecificitesResult_7  = ** number of columns given and found mismatch (
18
SpecificitesResult_8  = Unit
19

  
20
Specificites_2        = \ specificity index computed
tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/SpecificitiesCoreMessages.java (revision 243)
10 10

  
11 11
	private static final String BUNDLE_NAME = "org.txm.specificities.core.messages.messages"; //$NON-NLS-1$
12 12

  
13
	public static String ChartsEngine_CANT_CREATE_SPECIFICITIES_FILE_CHART;
13
	public static String ChartsError_CANT_CREATE_SPECIFICITIES_FILE_CHART;
14 14
	
15
	public static String ChartsEngine_SPECIFICITIES_X_AXIS_LABEL;
16
	public static String ChartsEngine_SPECIFICITIES_Y_AXIS_LABEL;
17
	public static String ChartsEngine_SPECIFICITIES_BANALITY_MARKER_LABEL;
15
	public static String Charts_X_AXIS_LABEL;
16
	public static String Charts_Y_AXIS_LABEL;
17
	public static String Charts_BANALITY_MARKER_LABEL;
18 18

  
19
	public static String ComputeError_NEED_AT_LEAST_2_PARTS;
20
	public static String ComputeError_FAILED_TO_GET_SPECIFICITIES;
21
	public static String ComputeError_FOUND_AND_WANTED_ROWS_MISMATCH;
22
	
23
	public static String Specificites_2;
24
	public static String SpecificitesResult_0;
25
	public static String SpecificitesResult_10;
26
	public static String SpecificitesResult_1;
27
	public static String SpecificitesResult_2;
28
	public static String SpecificitesResult_6;
29
	public static String SpecificitesResult_7;
30
	public static String SpecificitesResult_8;
19 31

  
32
	
20 33
	static {
21 34
		// initialize resource bundle
22 35
		TXMCoreMessages.initializeMessages(BUNDLE_NAME, SpecificitiesCoreMessages.class);
tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Chi2.java (revision 243)
1 1
package org.txm.specificities.core.functions;
2 2

  
3 3
import org.txm.functions.contrasts.Contrast;
4
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
4 5
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
5 6
import org.txm.searchengine.cqp.corpus.Corpus;
6 7
import org.txm.searchengine.cqp.corpus.Partition;
7 8
import org.txm.searchengine.cqp.corpus.Property;
8 9
import org.txm.searchengine.cqp.corpus.Subcorpus;
9
import org.txm.stat.StatException;
10
import org.txm.stat.data.LexicalTable;
11
import org.txm.stat.engine.r.RWorkspace;
10
import org.txm.statsengine.core.StatException;
11
import org.txm.statsengine.r.core.RWorkspace;
12 12

  
13 13
public class Chi2 extends Contrast {
14 14
	public Chi2(Corpus corpus, Subcorpus subcorpus, Property property)
tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/SpecificitesResult.java (revision 243)
36 36
import java.io.UnsupportedEncodingException;
37 37
import java.util.List;
38 38

  
39
import org.txm.Messages;
40 39
import org.txm.functions.Function;
40
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
41 41
import org.txm.searchengine.cqp.corpus.Corpus;
42 42
import org.txm.searchengine.cqp.corpus.Lexicon;
43 43
import org.txm.searchengine.cqp.corpus.Partition;
44 44
import org.txm.searchengine.cqp.corpus.Subcorpus;
45
import org.txm.stat.StatException;
46
import org.txm.stat.data.LexicalTable;
47
import org.txm.stat.data.Vector;
48
import org.txm.stat.engine.r.RWorkspace;
49
import org.txm.stat.utils.ArrayIndex;
50
import org.txm.stat.utils.CheckArray;
45
import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
46
import org.txm.statsengine.core.StatException;
47
import org.txm.statsengine.core.data.Vector;
48
import org.txm.statsengine.core.utils.ArrayIndex;
49
import org.txm.statsengine.core.utils.CheckArray;
50
import org.txm.statsengine.r.core.RWorkspace;
51 51

  
52 52
// TODO: Auto-generated Javadoc
53 53
/**
......
191 191
		this.symbol = symbol;
192 192

  
193 193
		if (table == null) {
194
			throw new IllegalArgumentException(Messages.SpecificitesResult_2);
194
			throw new IllegalArgumentException(SpecificitiesCoreMessages.SpecificitesResult_2);
195 195
		}
196 196
		this.partition = table.getPartition();
197 197
		this.name = name;
198 198

  
199 199
		if (specIndex == null || specIndex.length == 0) {
200
			throw new IllegalArgumentException(Messages.SpecificitesResult_0);
200
			throw new IllegalArgumentException(SpecificitiesCoreMessages.SpecificitesResult_0);
201 201
		}
202 202
		boolean ok = CheckArray.checkMatrixRepresentation(specIndex);
203 203
		if (!ok) {
204
			throw new IllegalArgumentException(Messages.SpecificitesResult_1);
204
			throw new IllegalArgumentException(SpecificitiesCoreMessages.SpecificitesResult_1);
205 205
		}
206 206

  
207 207
		this.indices = specIndex;
......
231 231
		if (typeFocus != null && typeFocus.size() != 0) {
232 232
			if (typeFocus.size() != specIndex.length) {
233 233
				throw new IllegalArgumentException(
234
						Messages.SpecificitesResult_3 + typeFocus.size()
235
						+ Messages.SpecificitesResult_4
236
						+ specIndex.length
237
						+ Messages.SpecificitesResult_5);
234
						SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.ComputeError_FOUND_AND_WANTED_ROWS_MISMATCH, typeFocus.size(), specIndex.length));
238 235
			}
239 236

  
240 237
			rowindex = ArrayIndex.getIndex(
......
243 240
			for (int i : rowindex) {
244 241
				if (i == -1) {
245 242
					throw new IllegalArgumentException(
246
							Messages.SpecificitesResult_6);
243
							SpecificitiesCoreMessages.SpecificitesResult_6);
247 244
				}
248 245
			}
249 246
		}
250 247
		if (partFocus != null && partFocus.size() != 0) {
251 248
			if (partFocus.size() != specIndex[0].length) {
252 249
				throw new IllegalArgumentException(
253
						Messages.SpecificitesResult_7 + partFocus.size()
250
						SpecificitiesCoreMessages.SpecificitesResult_7 + partFocus.size()
254 251
						+ ", " + specIndex[0].length + ")."); //$NON-NLS-1$//$NON-NLS-2$ 
255 252
			}
256 253
			colindex = ArrayIndex.getIndex(
......
259 256
			for (int i : colindex) {
260 257
				if (i == -1) {
261 258
					throw new IllegalArgumentException(
262
							Messages.SpecificitesResult_10);
259
							SpecificitiesCoreMessages.SpecificitesResult_10);
263 260
				}
264 261
			}
265 262
		}
......
492 489
			String[] names = getPartShortNames();
493 490
			// if ("UTF-8".equals(encoding)) writer.write('\ufeff'); // UTF-8 BOM
494 491
			//write column header
495
			String txt = Messages.SpecificitesResult_8+colseparator+"F"; //$NON-NLS-1$
492
			String txt = SpecificitiesCoreMessages.SpecificitesResult_8+colseparator+"F"; //$NON-NLS-1$
496 493
			for(String colname : names) {
497 494
				txt += colseparator+ "f_"+colname + colseparator + "Score"; //$NON-NLS-1$ //$NON-NLS-2$
498 495
			}
tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificites.java (revision 243)
33 33
import java.util.List;
34 34
import java.util.Set;
35 35

  
36
import org.txm.Messages;
37
import org.txm.lexicaltable.functions.LexicalTableFactory;
36
import org.txm.lexicaltable.core.functions.LexicalTableFactory;
37
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
38 38
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
39 39
import org.txm.searchengine.cqp.corpus.Corpus;
40 40
import org.txm.searchengine.cqp.corpus.Lexicon;
......
43 43
import org.txm.searchengine.cqp.corpus.Property;
44 44
import org.txm.searchengine.cqp.corpus.Subcorpus;
45 45
import org.txm.searchengine.cqp.corpus.query.Focus;
46
import org.txm.stat.StatException;
47
import org.txm.stat.data.LexicalTable;
48
import org.txm.stat.data.Vector;
49
import org.txm.stat.engine.r.RWorkspaceException;
46
import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
47
import org.txm.statsengine.core.StatException;
48
import org.txm.statsengine.core.data.Vector;
49
import org.txm.statsengine.r.core.RWorkspaceException;
50 50

  
51 51
// TODO: Auto-generated Javadoc
52 52
/**
......
85 85
	public static SpecificitesResult specificites(Partition partition, Property analysisProperty,
86 86
			List<Part> partsFocus, int Fmin, int maxScore) throws CqiClientException, StatException {
87 87
		if (partition.getParts().size() < 2) {
88
			throw new IllegalArgumentException(Messages.Specificites_0);
88
			throw new IllegalArgumentException(SpecificitiesCoreMessages.ComputeError_NEED_AT_LEAST_2_PARTS);
89 89
		}
90 90
		// complication due to Jean-Philippe special interest in usage of Part.
91 91
		List<String> partNamesFocus = new ArrayList<String>();
......
104 104
		String[] rownames = table.getRowNames().asStringsArray();
105 105
		ArrayList<String> found = new ArrayList<String>(Arrays.asList(rownames));
106 106

  
107
		String symbol = org.txm.stat.engine.r.function.Specificites.prefixR+(specif_counter++);
107
		String symbol = org.txm.specificities.core.statsengine.r.function.Specificites.prefixR+(specif_counter++);
108 108
		
109 109
		//System.out.println("Av specif ");
110
		double[][] specIndex = org.txm.stat.engine.r.function.Specificites
110
		double[][] specIndex = org.txm.specificities.core.statsengine.r.function.Specificites
111 111
		.specificites(symbol, table, found.toArray(new String[] {}), partNamesFocus.toArray(new String[] {}));
112 112
		//System.out.println("Ap specif ");
113 113
		
......
132 132
	public static SpecificitesResult specificites(LexicalTable table, int maxScore)
133 133
	throws CqiClientException, StatException {
134 134
		if (table.getNColumns() < 2) {
135
			throw new IllegalArgumentException(Messages.Specificites_0);
135
			throw new IllegalArgumentException(SpecificitiesCoreMessages.ComputeError_NEED_AT_LEAST_2_PARTS);
136 136
		}
137 137

  
138 138
		String[] rownames = table.getRowNames().asStringsArray();
139 139
		String[] colnames = table.getColNames().asStringsArray();
140
		String symbol = org.txm.stat.engine.r.function.Specificites.prefixR+(specif_counter++);
140
		String symbol = org.txm.specificities.core.statsengine.r.function.Specificites.prefixR+(specif_counter++);
141 141

  
142
		double[][] specIndex = org.txm.stat.engine.r.function.Specificites.specificites(symbol, table, rownames, colnames);
142
		double[][] specIndex = org.txm.specificities.core.statsengine.r.function.Specificites.specificites(symbol, table, rownames, colnames);
143 143

  
144 144
		if (table.getPartition() != null) {
145 145
			return new SpecificitesResult(symbol, specIndex, table, Arrays
......
179 179
		}
180 180

  
181 181
		//System.out.println("compute specifs");
182
		String symbol = org.txm.stat.engine.r.function.Specificites.prefixR+(specif_counter++);
183
		double[][] specIndex = org.txm.stat.engine.r.function.Specificites.specificites(symbol, totalFSymbol, subFSymbol);
182
		String symbol = org.txm.specificities.core.statsengine.r.function.Specificites.prefixR+(specif_counter++);
183
		double[][] specIndex = org.txm.specificities.core.statsengine.r.function.Specificites.specificites(symbol, totalFSymbol, subFSymbol);
184 184

  
185 185
		//System.out.println("build SpecificitesResult");
186 186
		SpecificitesResult specif =  new SpecificitesResult(symbol, specIndex, totalFrequencies,
tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificites2.java (revision 243)
1 1
package org.txm.specificities.core.functions;
2 2

  
3 3
import org.txm.functions.contrasts.Contrast;
4
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
4 5
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
5 6
import org.txm.searchengine.cqp.corpus.Corpus;
6 7
import org.txm.searchengine.cqp.corpus.Partition;
7 8
import org.txm.searchengine.cqp.corpus.Property;
8 9
import org.txm.searchengine.cqp.corpus.Subcorpus;
9
import org.txm.stat.StatException;
10
import org.txm.stat.data.LexicalTable;
11
import org.txm.stat.engine.r.RWorkspace;
10
import org.txm.statsengine.core.StatException;
11
import org.txm.statsengine.r.core.RWorkspace;
12 12

  
13 13
public class Specificites2 extends Contrast {
14 14
	
......
37 37
	frequencies = RWorkspace.getRWorkspaceInstance().evalToInt2D(table.getSymbol());
38 38
	
39 39
	// compute
40
	indices = org.txm.stat.engine.r.function.Specificites.specificites("SYMBOL", table, null, null); //$NON-NLS-1$
40
	indices = org.txm.specificities.core.statsengine.r.function.Specificites.specificites("SYMBOL", table, null, null); //$NON-NLS-1$
41 41
	
42 42
	return true;
43 43
}
tmp/org.txm.specificities.core/src/org/txm/specificities/core/chartsengine/jfreechart/JFCSpecificitiesBarChartCreator.java (revision 243)
51 51

  
52 52
        if(drawBars)	{
53 53
			// Create the bar chart
54
	        chart = this.getChartsEngine().createXYBarChart(dataset, specificitiesResult.getName(), SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_X_AXIS_LABEL, SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_Y_AXIS_LABEL, true, false);
54
	        chart = this.getChartsEngine().createXYBarChart(dataset, specificitiesResult.getName(), SpecificitiesCoreMessages.Charts_X_AXIS_LABEL, SpecificitiesCoreMessages.Charts_Y_AXIS_LABEL, true, false);
55 55
        }
56 56
        else	{
57 57
			// Create the line chart
58
	        chart = this.getChartsEngine().createXYLineChart(dataset, specificitiesResult.getName(), SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_X_AXIS_LABEL, SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_Y_AXIS_LABEL,
58
	        chart = this.getChartsEngine().createXYLineChart(dataset, specificitiesResult.getName(), SpecificitiesCoreMessages.Charts_X_AXIS_LABEL, SpecificitiesCoreMessages.Charts_Y_AXIS_LABEL,
59 59
	        		true, false, true, true, true, false, false);
60 60
        }
61 61

  
......
66 66
        // Add positive banality marker
67 67
        Marker marker = new ValueMarker(banality);
68 68
        marker.setPaint(Color.RED);
69
        marker.setLabel(SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_BANALITY_MARKER_LABEL, banality));
69
        marker.setLabel(SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.Charts_BANALITY_MARKER_LABEL, banality));
70 70
        marker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
71 71
        marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
72 72
        chart.getXYPlot().addRangeMarker(marker);
......
75 75
        // Add negative banality marker
76 76
        marker = new ValueMarker(-banality);
77 77
        marker.setPaint(Color.RED);
78
        marker.setLabel(SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_BANALITY_MARKER_LABEL, -banality));
78
        marker.setLabel(SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.Charts_BANALITY_MARKER_LABEL, -banality));
79 79
        marker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
80 80
        marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
81 81
        chart.getXYPlot().addRangeMarker(marker);
......
144 144
        // Custom range axis to cut the values to minimum and maximum values
145 145
        jfcChart.getXYPlot().setRangeAxis(new ExtendedNumberAxis((NumberAxis) jfcChart.getXYPlot().getRangeAxis(), true, true, minimumValue, maximumValue));
146 146
		
147
        jfcChart.getXYPlot().setDomainAxis(new SymbolAxisBetweenTicks(SpecificitiesCoreMessages.ChartsEngine_SPECIFICITIES_X_AXIS_LABEL, xAxisSymbols));
147
        jfcChart.getXYPlot().setDomainAxis(new SymbolAxisBetweenTicks(SpecificitiesCoreMessages.Charts_X_AXIS_LABEL, xAxisSymbols));
148 148

  
149 149
        
150 150
		super.updateChart(chart, result, preferencesNode);
tmp/org.txm.specificities.core/src/org/txm/specificities/core/chartsengine/r/RSpecificitiesBarChartCreator.java (revision 243)
9 9
import org.txm.specificities.core.functions.SpecificitesResult;
10 10
import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
11 11
import org.txm.specificities.core.preferences.SpecificitiesPreferences;
12
import org.txm.stat.data.Matrix;
13
import org.txm.stat.data.Vector;
14
import org.txm.stat.engine.r.RWorkspace;
15
import org.txm.stat.engine.r.data.DoubleMatrix;
16
import org.txm.stat.engine.r.data.VectorImpl;
12
import org.txm.statsengine.core.data.Matrix;
13
import org.txm.statsengine.core.data.Vector;
14
import org.txm.statsengine.r.core.RWorkspace;
15
import org.txm.statsengine.r.core.data.DoubleMatrix;
16
import org.txm.statsengine.r.core.data.VectorImpl;
17 17
import org.txm.utils.logger.Log;
18 18

  
19 19
/**
......
171 171

  
172 172
		}
173 173
		catch (Exception e) {
174
			Log.severe(SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.ChartsEngine_CANT_CREATE_SPECIFICITIES_FILE_CHART, this.getChartsEngine().getName()) + e);
174
			Log.severe(SpecificitiesCoreMessages.bind(SpecificitiesCoreMessages.ChartsError_CANT_CREATE_SPECIFICITIES_FILE_CHART, this.getChartsEngine().getName()) + e);
175 175
		}
176 176

  
177 177
		return file;
tmp/org.txm.specificities.core/src/org/txm/specificities/core/statsengine/r/function/Specificites.java (revision 243)
1
// Copyright © 2010-2013 ENS de Lyon.
2
// Copyright © 2007-2010 ENS de Lyon, CNRS, INRP, University of
3
// Lyon 2, University of Franche-Comté, University of Nice
4
// Sophia Antipolis, University of Paris 3.
5
// 
6
// The TXM platform is free software: you can redistribute it
7
// and/or modify it under the terms of the GNU General Public
8
// License as published by the Free Software Foundation,
9
// either version 2 of the License, or (at your option) any
10
// later version.
11
// 
12
// The TXM platform is distributed in the hope that it will be
13
// useful, but WITHOUT ANY WARRANTY; without even the implied
14
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15
// PURPOSE. See the GNU General Public License for more
16
// details.
17
// 
18
// You should have received a copy of the GNU General
19
// Public License along with the TXM platform. If not, see
20
// http://www.gnu.org/licenses.
21
// 
22
// 
23
// 
24
// $LastChangedDate: 2017-01-24 18:11:42 +0100 (Tue, 24 Jan 2017) $
25
// $LastChangedRevision: 3400 $
26
// $LastChangedBy: mdecorde $ 
27
//
28
package org.txm.specificities.core.statsengine.r.function;
29

  
30
import org.rosuda.REngine.REXP;
31
import org.rosuda.REngine.REXPMismatchException;
32
import org.rosuda.REngine.Rserve.RserveException;
33
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
34
import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
35
import org.txm.statsengine.core.StatException;
36
import org.txm.statsengine.core.data.QuantitativeDataStructure;
37
import org.txm.statsengine.core.data.Vector;
38
import org.txm.statsengine.r.core.RWorkspace;
39
import org.txm.statsengine.r.core.data.VectorImpl;
40
import org.txm.utils.logger.Log;
41

  
42
// TODO: Auto-generated Javadoc
43
/**
44
 * Bridge between the statistical engine and the high-level specificities
45
 * function {@link org.txm.functions.specificities.Specificities}.
46
 * 
47
 * This class contains only one methods; it takes as input low-level object (a
48
 * {@link QuantitativeDataStructure}) and return a low level object (a
49
 * <int>double[][]</int> array of specificities index).
50
 * 
51
 * @author sloiseau
52
 * 
53
 */
54
public class Specificites {
55
	
56
	/** The DEFAUL t_ symbol. */
57
	public static final String prefixR = "SpecifResult"; //$NON-NLS-1$
58

  
59
	/**
60
	 * Specificites.
61
	 *
62
	 * @param lexicon the lexicon
63
	 * @param subLexicon the sub lexicon
64
	 * @return the double[][]
65
	 * @throws StatException the stat exception
66
	 */
67
	public static double[][] specificites(String symbol, Vector lexicon, Vector subLexicon)
68
			throws StatException {
69
		RWorkspace rw = RWorkspace.getRWorkspaceInstance();
70
		try {
71
			// System.out.println("lexicon "+lexicon.getLength());
72
			//System.out.println(" call specificites.lexicon.new");
73
			rw.safeEval("library(textometry)");
74
			REXP r = rw.callFunction(
75
							"specificities.lexicon.new", new QuantitativeDataStructure[] { lexicon, subLexicon }, symbol); //$NON-NLS-1$
76
			// double[] res = RWorkspace.toDouble(r);
77
			//System.out.println(" build double matrix");
78
			double[][] res;
79
			try {
80
				res = r.asDoubleMatrix();
81
			} catch (REXPMismatchException e) {
82
				throw new StatException(SpecificitiesCoreMessages.ComputeError_FAILED_TO_GET_SPECIFICITIES
83
						+ e.getMessage(), e);
84
			}
85
			Log.finest(res.length + SpecificitiesCoreMessages.Specificites_2);
86
			return res;
87

  
88
		} catch (Exception e) {
89
			System.out.println(e.getLocalizedMessage());
90
			org.txm.utils.logger.Log.printStackTrace(e);
91
		}
92
		return null;
93
	}
94

  
95
	/**
96
	 * Specificites.
97
	 *
98
	 * @param table the table
99
	 * @param typeFocus the type focus
100
	 * @param partFocus the part focus
101
	 * @return the double[][]
102
	 * @throws StatException the stat exception
103
	 */
104
	public static double[][] specificites(String symbol, LexicalTable table,
105
			String[] typeFocus, String[] partFocus) throws StatException {
106

  
107
		RWorkspace rw = RWorkspace.getRWorkspaceInstance();
108

  
109
		VectorImpl row = null;
110
		if (typeFocus != null && typeFocus.length != 0)
111
			row = new VectorImpl(typeFocus);
112

  
113
		VectorImpl column = null;
114
		if (partFocus != null && partFocus.length != 0)
115
			column = new VectorImpl(partFocus);
116
		
117
		try {
118
			rw.safeEval("library(textometry)");
119
		} catch (RserveException e1) {
120
			// TODO Auto-generated catch block
121
			e1.printStackTrace();
122
		} catch (REXPMismatchException e1) {
123
			// TODO Auto-generated catch block
124
			e1.printStackTrace();
125
		}
126
		REXP r = rw.callFunction("specificities", new QuantitativeDataStructure[] { table, row, column }, symbol); //$NON-NLS-1$
127
			
128
		double[][] res;
129
		try {
130
			res = r.asDoubleMatrix();
131
		} catch (REXPMismatchException e) {
132
			throw new StatException(SpecificitiesCoreMessages.ComputeError_FAILED_TO_GET_SPECIFICITIES + e.getMessage(), e);
133
		}
134
		Log.finest((res.length * res[0].length) + SpecificitiesCoreMessages.Specificites_2);
135
		
136
		return res;
137
	}
138
	
139
	/**
140
	 * Gets the default symbol.
141
	 *
142
	 * @param symbol the symbol
143
	 * @return the default symbol
144
	 */
145
	public static double[][] getDefaultSymbol(String symbol)
146
	{
147
		return null;
148
	}
149

  
150
}
0 151

  
tmp/org.txm.specificities.core/src/org/txm/specificities/core/statsengine/r/function/package.html (revision 243)
1
<html>
2
<body>
3
<p>R code for functions in package <code>org.textometrie.function</code>.</p>
4
</body>
5
</html>
0 6

  
tmp/org.txm.specificities.core/src/org/txm/functions/contrasts/Contrast.java (revision 243)
7 7
import java.io.OutputStreamWriter;
8 8
import java.io.UnsupportedEncodingException;
9 9

  
10
import org.txm.Messages;
11 10
import org.txm.chartsengine.r.core.themes.DefaultTheme;
12 11
import org.txm.core.results.TXMResult;
13
import org.txm.lexicaltable.functions.LexicalTableFactory;
12
import org.txm.lexicaltable.core.functions.LexicalTableFactory;
13
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
14
import org.txm.lexicaltable.core.statsengine.r.data.LexicalTableImpl;
14 15
//import org.txm.progression.core.functions.Progression;
15 16
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
16 17
import org.txm.searchengine.cqp.corpus.Corpus;
......
18 19
import org.txm.searchengine.cqp.corpus.Partition;
19 20
import org.txm.searchengine.cqp.corpus.Property;
20 21
import org.txm.searchengine.cqp.corpus.Subcorpus;
21
import org.txm.stat.StatException;
22
import org.txm.stat.data.LexicalTable;
23
import org.txm.stat.data.Vector;
22
import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
24 23
import org.txm.stat.engine.r.RDevice;
25
import org.txm.stat.engine.r.RWorkspace;
26 24
import org.txm.stat.engine.r.RWorkspaceRenderer;
27
import org.txm.stat.engine.r.data.LexicalTableImpl;
25
import org.txm.statsengine.core.StatException;
26
import org.txm.statsengine.core.data.Vector;
27
import org.txm.statsengine.r.core.RWorkspace;
28 28

  
29 29
public abstract class Contrast extends TXMResult {
30 30

  
......
37 37

  
38 38
	public Contrast(Partition partition, Property property, int Fmin) throws StatException, CqiClientException {
39 39
		if (partition.getParts().size() < 2) {
40
			throw new IllegalArgumentException(Messages.Specificites_0);
40
			throw new IllegalArgumentException(SpecificitiesCoreMessages.ComputeError_NEED_AT_LEAST_2_PARTS);
41 41
		}
42 42
		table = LexicalTableFactory.getLexicalTable(partition, property, Fmin);
43 43
		
......
134 134
		String[] rowNames = getRowNames();
135 135

  
136 136
		//write column header
137
		String txt = Messages.SpecificitesResult_8+colseparator+"F"; //$NON-NLS-1$
137
		String txt = SpecificitiesCoreMessages.SpecificitesResult_8+colseparator+"F"; //$NON-NLS-1$
138 138
		for(String colname : getColNames()) {
139 139
			txt += colseparator+ "f_"+colname + colseparator + "Score"; //$NON-NLS-1$ //$NON-NLS-2$
140 140
		}
tmp/org.txm.specificities.core/src/org/txm/functions/contrasts/RelativeFrequency.java (revision 243)
1 1
package org.txm.functions.contrasts;
2 2

  
3
import org.txm.Messages;
3
import org.txm.core.messages.TXMCoreMessages;
4
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
4 5
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
5 6
import org.txm.searchengine.cqp.corpus.Corpus;
6 7
import org.txm.searchengine.cqp.corpus.Partition;
7 8
import org.txm.searchengine.cqp.corpus.Property;
8 9
import org.txm.searchengine.cqp.corpus.Subcorpus;
9
import org.txm.stat.StatException;
10
import org.txm.stat.data.LexicalTable;
11
import org.txm.stat.engine.r.RWorkspace;
10
import org.txm.statsengine.core.StatException;
11
import org.txm.statsengine.r.core.RWorkspace;
12 12

  
13 13
public class RelativeFrequency extends Contrast {
14 14
	
......
43 43

  
44 44
	@Override
45 45
	public String getName() {
46
		return Messages.RelativeFrequency_3;
46
		return TXMCoreMessages.RelativeFrequency_3;
47 47
	}
48 48

  
49 49
	@Override
tmp/org.txm.specificities.core/src/org/txm/functions/contrasts/AbsoluteFrequency.java (revision 243)
1 1
package org.txm.functions.contrasts;
2 2

  
3
import org.txm.Messages;
3
import org.txm.core.messages.TXMCoreMessages;
4
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
4 5
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
5 6
import org.txm.searchengine.cqp.corpus.Corpus;
6 7
import org.txm.searchengine.cqp.corpus.Partition;
7 8
import org.txm.searchengine.cqp.corpus.Property;
8 9
import org.txm.searchengine.cqp.corpus.Subcorpus;
9
import org.txm.stat.StatException;
10
import org.txm.stat.data.LexicalTable;
11
import org.txm.stat.engine.r.RWorkspace;
10
import org.txm.statsengine.core.StatException;
11
import org.txm.statsengine.r.core.RWorkspace;
12 12

  
13 13
public class AbsoluteFrequency extends Contrast {
14 14
	
......
44 44

  
45 45
	@Override
46 46
	public String getName() {
47
		return Messages.AbsoluteFrequency_1;
47
		return TXMCoreMessages.AbsoluteFrequency_1;
48 48
	}
49 49

  
50 50
	@Override
tmp/org.txm.specificities.core/src/org/txm/functions/contrasts/Contrasts.java (revision 243)
2 2

  
3 3
import java.util.ArrayList;
4 4

  
5
import org.txm.Messages;
5
import org.txm.core.messages.TXMCoreMessages;
6
import org.txm.lexicaltable.core.statsengine.data.LexicalTable;
6 7
import org.txm.specificities.core.functions.Chi2;
7 8
import org.txm.specificities.core.functions.Specificites2;
8
import org.txm.stat.data.LexicalTable;
9 9

  
10 10
public class Contrasts {
11 11
	LexicalTable table;
......
39 39
	
40 40
	public boolean compute() throws Exception {
41 41
		for (Contrast m : mesures) {
42
			System.out.println(Messages.Contrasts_0+m.getName());
42
			System.out.println(TXMCoreMessages.Contrasts_0+m.getName());
43 43
			m.compute();
44 44
		}
45 45
		return true;
tmp/org.txm.rcp.feature/feature.xml (revision 243)
335 335
      <import plugin="org.txm.progression.rcp"/>
336 336
      <import plugin="org.txm.specificities.rcp"/>
337 337
      <import plugin="org.txm.specificities.core" version="1.0.0" match="greaterOrEqual"/>
338
      <import plugin="org.txm.r" version="1.0.0" match="greaterOrEqual"/>
338
      <import plugin="org.txm.statsengine.r.core" version="1.0.0" match="greaterOrEqual"/>
339 339
      <import plugin="org.txm.utils" version="1.0.0" match="greaterOrEqual"/>
340 340
      <import plugin="org.txm.ca.rcp" version="1.0.0" match="greaterOrEqual"/>
341 341
      <import plugin="org.txm.cah.core" version="1.0.0" match="greaterOrEqual"/>

Also available in: Unified diff