Révision 4007

TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/engines/EnginesManager.java (revision 4007)
2 2

  
3 3
import java.util.HashMap;
4 4

  
5
import org.eclipse.core.internal.registry.ConfigurationElementHandle;
6 5
import org.eclipse.core.runtime.IConfigurationElement;
7
import org.eclipse.core.runtime.IContributor;
6
import org.eclipse.core.runtime.IExtension;
7
import org.eclipse.core.runtime.IExtensionPoint;
8 8
import org.eclipse.core.runtime.IProgressMonitor;
9 9
import org.eclipse.core.runtime.RegistryFactory;
10 10
import org.txm.core.messages.TXMCoreMessages;
......
22 22
 *
23 23
 */
24 24
public abstract class EnginesManager<T extends Engine> extends HashMap<String, T> {
25
	
25

  
26 26
	private static final long serialVersionUID = 9186978207738860351L;
27
	
27

  
28 28
	public static final String ENGINES_MANAGER_EXTENSION_POINT_ID = EnginesManager.class.getName();
29
	
29

  
30 30
	/**
31 31
	 * Current engine.
32 32
	 */
33 33
	protected T currentEngine = null;
34
	
35
	
36
	
34

  
37 35
	/**
38 36
	 * Finds out the engines that matches this manager engines extension point.
39 37
	 * 
40 38
	 * @return
41 39
	 */
42 40
	public abstract boolean fetchEngines();
43
	
41

  
44 42
	/**
45 43
	 * Creates and initializes the engines from contributions with the specified extension point id.
46 44
	 * 
......
48 46
	 * @return true if at least one engine has been created otherwise false
49 47
	 */
50 48
	protected boolean fetchEngines(String engineExtensionPointId) {
51
		
49

  
52 50
		IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(engineExtensionPointId);
53
		
51

  
54 52
		Log.finest(TXMCoreMessages.bind("Looking for {0} engines contributions with extension point id {1}...", this.getEnginesDescription(), engineExtensionPointId)); //$NON-NLS-1$
55 53
		Log.finest(TXMCoreMessages.bind("{0} engine(s) found.", contributions.length)); //$NON-NLS-1$
56
		
54

  
57 55
		for (int i = 0; i < contributions.length; i++) {
58 56
			try {
59 57
				@SuppressWarnings("unchecked")
60 58
				T engine = (T) contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
61
				
59

  
62 60
				Log.fine(TXMCoreMessages.bind("Initializing engine: {0}...", engine));
63
				
61

  
64 62
				if (engine.initialize()) {
65 63
					this.put(engine.getName(), engine);
66 64
				}
......
73 71
				e.printStackTrace();
74 72
			}
75 73
		}
76
		
74

  
77 75
		return this.size() > 0;
78 76
	}
79
	
77

  
80 78
	/**
81 79
	 * Starts the engines.
82 80
	 * 
......
85 83
	 */
86 84
	public boolean startEngines(IProgressMonitor monitor) {
87 85
		for (Engine engine : this.values()) {
88
			
86

  
89 87
			String log = "Starting " + this.getEnginesDescription() + " engine: " + engine.getName() + "...";
90 88
			Log.fine(log);
91
			
89

  
92 90
			if (monitor != null) {
93 91
				monitor.subTask(log);
94 92
			}
95
			
93

  
96 94
			try {
97 95
				engine.start(monitor);
98 96
			}
......
101 99
				e.printStackTrace();
102 100
			}
103 101
		}
104
		
102

  
105 103
		if (this.currentEngine == null && this.size() > 0) {
106 104
			this.setCurrentEngine((T) this.values().toArray()[0]);
107 105
		}
108 106
		return true;
109 107
	}
110
	
108

  
111 109
	@Override
112 110
	public String toString() {
113 111
		return getEnginesType() + ": " + super.toString();
114 112
	}
115
	
113

  
116 114
	/**
117 115
	 * 
118 116
	 * @return true if at least one engine is ready
......
121 119
		if (currentEngine == null) {
122 120
			return false;
123 121
		}
124
		
122

  
125 123
		return currentEngine.isRunning();
126 124
	}
127
	
125

  
128 126
	/**
129 127
	 * Stops the engines.
130 128
	 * 
......
132 130
	 */
133 131
	public boolean stopEngines() {
134 132
		for (Engine engine : this.values()) {
135
			
133

  
136 134
			Log.fine("Stopping " + this.getEnginesDescription() + " engine: " + engine.getName() + "..."); //$NON-NLS-1$
137
			
135

  
138 136
			try {
139 137
				engine.stop();
140 138
			}
......
145 143
		}
146 144
		return true;
147 145
	}
148
	
146

  
149 147
	/**
150 148
	 * Restarts the engines.
151 149
	 * 
152 150
	 * @return
153 151
	 */
154 152
	public boolean restartEngines() {
155
		
153

  
156 154
		Log.finest("Restarting " + this.size() + " " + this.getEnginesDescription() + " engine(s)."); //$NON-NLS-1$
157
		
155

  
158 156
		for (Engine engine : this.values()) {
159 157
			try {
160 158
				if (engine.isRunning()) {
......
173 171
		}
174 172
		return true;
175 173
	}
176
	
174

  
177 175
	/**
178 176
	 * Gets the engine type that this manager supports.
179 177
	 * 
180 178
	 * @return the engine type that this manager supports
181 179
	 */
182 180
	public abstract EngineType getEnginesType();
183
	
184
	
185
	
181

  
182

  
183

  
186 184
	/**
187 185
	 * Gets the engine description that this manager supports.
188 186
	 * 
......
191 189
	public String getEnginesDescription() {
192 190
		return this.getEnginesType().getDescription();
193 191
	}
194
	
192

  
195 193
	/**
196 194
	 * Gets the available engines.
197 195
	 * 
......
200 198
	public HashMap<String, T> getEngines() {
201 199
		return this;
202 200
	}
203
	
201

  
204 202
	/**
205 203
	 * Gets an engine specified by its name.
206 204
	 * 
......
210 208
	public T getEngine(String name) {
211 209
		return get(name);
212 210
	}
213
	
211

  
214 212
	/**
215 213
	 * Returns the current engine.
216 214
	 * 
......
219 217
	public T getCurrentEngine() {
220 218
		return this.currentEngine;
221 219
	}
222
	
220

  
223 221
	/**
224 222
	 * Sets the current engine.
225 223
	 * 
......
229 227
		Log.finest("Setting current " + this.getEnginesDescription() + " engine to " + engine + ".");
230 228
		this.currentEngine = engine;
231 229
	}
232
	
230

  
233 231
	/**
234 232
	 * Sets the current engine specified by its name.
235 233
	 * 
......
238 236
	public void setCurrentEngine(String name) {
239 237
		this.setCurrentEngine(this.getEngine(name));
240 238
	}
241
	
239

  
242 240
	/**
243 241
	 * Gets an installed engine according to its class type.
244 242
	 * 
TXM/trunk/bundles/org.txm.conllu.core/src/org/txm/conllu/core/preferences/UDPreferences.java (revision 4007)
33 33
	
34 34
	public static String IMPORT_BUILD_TIGERSEARCH_INDEXES = "import_build_tiger_indexes";
35 35
	
36
	public static String IMPORT_PRINT_NEWLINES_AFTER_SENTENCES = "import_print_newlines_in_editions";
36 37
	/**
37 38
	 * Gets the instance.
38 39
	 * 
......
57 58
		preferences.put(CONTRACTIONS_MANAGEMENT, SURFACE); // surface, syntax, all
58 59
		preferences.putBoolean(IMPORT_USE_NEW_DOC_ID, true);
59 60
		preferences.putBoolean(IMPORT_BUILD_TIGERSEARCH_INDEXES, true);
61
		preferences.putBoolean(IMPORT_PRINT_NEWLINES_AFTER_SENTENCES, true);
60 62
	}
61 63
}
TXM/trunk/bundles/org.txm.conllu.core/groovy/org/txm/scripts/importer/conllu/CoNLLUImporter.groovy (revision 4007)
260 260
		
261 261
		def depsPropertiesToProject = UDPreferences.getInstance().getProjectPreferenceValue(project, UDPreferences.IMPORT_DEPS_TO_PROJECT, UDPreferences.getInstance().getString(UDPreferences.IMPORT_DEPS_TO_PROJECT)).split(",") as Set
262 262
		
263
		def printNewLines = "true" == UDPreferences.getInstance().getProjectPreferenceValue(project, UDPreferences.IMPORT_PRINT_NEWLINES_AFTER_SENTENCES, ""+UDPreferences.getInstance().getString(UDPreferences.IMPORT_PRINT_NEWLINES_AFTER_SENTENCES))
264
		
263 265
		ConsoleProgressBar cpb_texts = new ConsoleProgressBar(files.size())
264 266
		
265 267
		println "Parsing CoNLL-U files..."
......
428 430
					writer.writeEndElement() // w
429 431
					writer.writeCharacters(" ")
430 432
				}
433
				
434
				if (printNewLines) writer.writeEmptyElement("lb")
435
				
431 436
				writer.writeCharacters("\n")
432 437
				writer.writeEndElement() // s
433 438
			}
TXM/trunk/bundles/org.txm.groovy.core/src/java/org/txm/groovy/core/TXMClassLoader.java (revision 4007)
30 30
	 */
31 31
	private ClassLoader defaultLoader;
32 32

  
33
	
34 33
	/**
35 34
	 * 
36 35
	 * @param defaultLoader
......
42 41
		
43 42
		boolean useFastIndex = GroovyPreferences.getInstance().getBoolean(GroovyPreferences.FAST_PACKAGE_INDEX);
44 43
		
45
		if(useFastIndex)  {
44
		if (useFastIndex)  {
46 45
			Log.finest("Fast package index option is activated."); //$NON-NLS-1$
47 46
			this.packageToLoaders = new HashMap<String, HashSet<EquinoxClassLoader>>();
48 47
		}
......
79 78
	@Override
80 79
	public Class<?> findClass(String name) throws ClassNotFoundException {
81 80

  
82

  
83 81
		// try with the System class loader
84 82
		try {
85 83
			Class<?> c =  defaultLoader.loadClass(name);
TXM/trunk/bundles/org.txm.conllu.rcp/src/org/txm/conllu/rcp/importsection/CoNLLUSection.java (revision 4007)
25 25
	
26 26
	private static final int SECTION_SIZE = 1;
27 27
	
28
	Button printNewLinesInEditionsButton;
28 29
	Button buildTIGERIndexesButton;
29 30
	Button useNewDocIdButton;
30 31
	RadioGroup keepWordContractionsButton;
......
73 74
		gdata2.colspan = 4; // one line
74 75
		useNewDocIdButton.setLayoutData(gdata2);
75 76
		
76
		keepWordContractionsButton = new RadioGroup(sectionClient, SWT.NONE, "Multiwords management", new String[][] {{UDPreferences.MULTIWORDS, "Multiwords"}, {UDPreferences.TOKENS, "Tokens"}, {UDPreferences.ALL, "All"}});//toolkit.create toolkit.createButton(sectionClient, "Keep multiword tokens when importing CoNLL-U files", SWT.CHECK);
77
		keepWordContractionsButton.setToolTipText("Multiwords: only the multiwords are indexed, Tokens: Only the multiwords tokens are indexed, All: both are indexed");
77
		keepWordContractionsButton = new RadioGroup(sectionClient, SWT.NONE, "Contractions management", new String[][] {{UDPreferences.SURFACE, "Surface"}, {UDPreferences.SYNTAX, "Syntax"}, {UDPreferences.ALL, "All"}});//toolkit.create toolkit.createButton(sectionClient, "Keep multiword tokens when importing CoNLL-U files", SWT.CHECK);
78
		keepWordContractionsButton.setToolTipText("Surface: only the surface is indexed, Syntax: Only the multiwords tokens are indexed, All: both are indexed");
78 79
		gdata2 = getButtonLayoutData();
79 80
		gdata2.colspan = 4; // one line
80 81
		keepWordContractionsButton.setLayoutData(gdata2);
......
106 107
		gdata2 = getTextGridData();
107 108
		gdata2.colspan = 3; // one line
108 109
		depsPropertiesText.setLayoutData(gdata2);
110

  
111
		printNewLinesInEditionsButton = toolkit.createButton(sectionClient, "Print a newline after a sentence in editions", SWT.CHECK);
112
		gdata2 = getButtonLayoutData();
113
		gdata2.colspan = 4; // one line
114
		printNewLinesInEditionsButton.setLayoutData(gdata2);
109 115
	}
110 116
	
111 117
	@Override
......
116 122
		Preferences customNode = project.getPreferencesScope().getNode(UDPreferences.getInstance().getPreferencesNodeQualifier());
117 123
		
118 124
		buildTIGERIndexesButton.setSelection(customNode.getBoolean(UDPreferences.IMPORT_BUILD_TIGERSEARCH_INDEXES, UDPreferences.getInstance().getBoolean(UDPreferences.IMPORT_BUILD_TIGERSEARCH_INDEXES))); //$NON-NLS-1$
125
		buildTIGERIndexesButton.setSelection(customNode.getBoolean(UDPreferences.IMPORT_PRINT_NEWLINES_AFTER_SENTENCES, UDPreferences.getInstance().getBoolean(UDPreferences.IMPORT_PRINT_NEWLINES_AFTER_SENTENCES))); //$NON-NLS-1$
119 126
		useNewDocIdButton.setSelection(customNode.getBoolean(UDPreferences.IMPORT_USE_NEW_DOC_ID, UDPreferences.getInstance().getBoolean(UDPreferences.IMPORT_USE_NEW_DOC_ID))); //$NON-NLS-1$
120
		keepWordContractionsButton.setSelection(customNode.get(UDPreferences.MULTIWORDS_MANAGEMENT, UDPreferences.getInstance().getString(UDPreferences.MULTIWORDS_MANAGEMENT))); //$NON-NLS-1$
127
		keepWordContractionsButton.setSelection(customNode.get(UDPreferences.CONTRACTIONS_MANAGEMENT, UDPreferences.getInstance().getString(UDPreferences.CONTRACTIONS_MANAGEMENT))); //$NON-NLS-1$
121 128
		udPropertiesPrefixButton.setText(customNode.get(UDPreferences.UDPREFIX, UDPreferences.getInstance().getString(UDPreferences.UDPREFIX))); //$NON-NLS-1$
122 129
		headPropertiesText.setText(customNode.get(UDPreferences.IMPORT_HEAD_TO_PROJECT, UDPreferences.getInstance().getString(UDPreferences.IMPORT_HEAD_TO_PROJECT))); //$NON-NLS-1$
123 130
		depsPropertiesText.setText(customNode.get(UDPreferences.IMPORT_DEPS_TO_PROJECT, UDPreferences.getInstance().getString(UDPreferences.IMPORT_DEPS_TO_PROJECT))); //$NON-NLS-1$
......
129 136
			
130 137
			Preferences customNode = project.getPreferencesScope().getNode(UDPreferences.getInstance().getPreferencesNodeQualifier());
131 138
			customNode.putBoolean(UDPreferences.IMPORT_BUILD_TIGERSEARCH_INDEXES, buildTIGERIndexesButton.getSelection());
139
			customNode.putBoolean(UDPreferences.IMPORT_PRINT_NEWLINES_AFTER_SENTENCES, printNewLinesInEditionsButton.getSelection());
132 140
			customNode.putBoolean(UDPreferences.IMPORT_USE_NEW_DOC_ID, useNewDocIdButton.getSelection());
133
			customNode.put(UDPreferences.MULTIWORDS_MANAGEMENT, keepWordContractionsButton.getSelection());
141
			customNode.put(UDPreferences.CONTRACTIONS_MANAGEMENT, keepWordContractionsButton.getSelection());
134 142
			customNode.put(UDPreferences.UDPREFIX, udPropertiesPrefixButton.getText());
135 143
			customNode.put(UDPreferences.IMPORT_HEAD_TO_PROJECT, headPropertiesText.getText());
136 144
			customNode.put(UDPreferences.IMPORT_DEPS_TO_PROJECT, depsPropertiesText.getText());
TXM/trunk/bundles/org.txm.conllu.rcp/src/org/txm/conllu/rcp/preferences/CoNLLUPreferencePage.java (revision 4007)
26 26
		this.addField(new BooleanFieldEditor(UDPreferences.IMPORT_USE_NEW_DOC_ID, "Use new odc id when importing CoNLL-U files", this.getFieldEditorParent()));
27 27
		this.addField(new BooleanFieldEditor(UDPreferences.IMPORT_BUILD_TIGERSEARCH_INDEXES, "Build TIGERSearch indexes as well", this.getFieldEditorParent()));
28 28
		
29
		this.addField(new BooleanFieldEditor(UDPreferences.MULTIWORDS_MANAGEMENT, "Keep multiword tokens when importing CoNLL-U files", this.getFieldEditorParent()));
29
		this.addField(new BooleanFieldEditor(UDPreferences.CONTRACTIONS_MANAGEMENT, "Keep multiword tokens when importing CoNLL-U files", this.getFieldEditorParent()));
30 30
		udPrefixField = new StringFieldEditor(UDPreferences.UDPREFIX, "UD properties prefix", this.getFieldEditorParent());
31 31
		this.addField(udPrefixField);
32 32
		this.addField(new StringFieldEditor(UDPreferences.IMPORT_HEAD_TO_PROJECT, "UD head properties to project (comma separated list)", this.getFieldEditorParent()));
TXM/trunk/bundles/org.txm.libs.deptreeviz/src/org/txm/libs/deptreeviz/UDDepTreeVizPrintTree.java (revision 4007)
21 21
				
22 22
			
23 23
			
24
			// Fixing multiwords 6th position if equals to "_"
25 24
			ArrayList<String> conll2 = new ArrayList<>();
26 25
			for (int i = 0 ; i < conll.size() ; i++) {
27 26
				String l = conll.get(i);
......
35 34
//					}
36 35
//				}
37 36
//				
38
				if (split[6].equals("_")) { // 6th col is broken and we don't have the tokens of the multiwords
37
				if (split[6].equals("_")) {
39 38
					//split[6] = "0";
40 39
					continue;
41 40
				}

Formats disponibles : Unified diff