Révision 1618

tmp/org.txm.rcp.feature/win/TXM debug.bat (revision 1618)
1
%~dp0/TXM.bat -consolelog -clean -debug -console -noexit
tmp/org.txm.rcp.feature/win/TXM.bat (revision 1618)
1 1
set installdir=%~dp0
2
set ARGS=%*
2 3
set DEBUG=0
3 4
set VERSION=0.8.0
4 5
set USERHOME=%USERPROFILE%\
......
77 78
set _JAVA_OPTIONS=-Duser.home="%USERHOME%"
78 79
echo running "%installdir%TXM.exe" -run --launcher.ini "%DOTTXM%TXM.ini" -data "%DOTTXM%data" -user "%DOTTXM%user" -install "%installdir%"echo running "%installdir%TXM.exe" -log -run --launcher.ini "%DOTTXM%TXM.ini" -consolelog -clean -debug -console -noexit -data "%TXMHOME%corpora" -user "%DOTTXM%user" -install "%installdir%\"
79 80
REM "%installdir%TXM.exe" -run --launcher.ini "%DOTTXM%TXM.ini" -data "%DOTTXM%corpora" -user "%DOTTXM%user" -install "%installdir%"
80
"%installdir%TXM.exe" -log -run --launcher.ini "%DOTTXM%TXM.ini" -consolelog -clean -debug -console -noexit -data "%TXMHOME%corpora" -user "%DOTTXM%user" -install "%installdir%\"
81
"%installdir%TXM.exe" -log -run --launcher.ini "%DOTTXM%TXM.ini" %ARGS% -data "%TXMHOME%corpora" -user "%DOTTXM%user" -install "%installdir%\"
81 82
) >"%TXMHOME%TXMOutputLogs.txt" 2>"%TXMHOME%TXMErrorLogs.txt" 
tmp/org.txm.core/src/java/org/txm/scripts/importer/WExtract.groovy (revision 1618)
226 226
						if(printW)
227 227
						{
228 228
							writer.writeEndElement();
229
							writer.writeCharacters("\n");
229
							writer.writeComment("\n");
230 230
						}
231 231
					}
232 232
					else
tmp/org.txm.core/src/java/org/txm/scripts/importer/WExtractWithMode.groovy (revision 1618)
266 266
						if(printW)
267 267
						{
268 268
							writer.writeEndElement();
269
							writer.writeCharacters("\n");
269
							writer.writeComment("\n");
270 270
						}
271 271
					}
272 272
					else
tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZDefaultPagerStep.groovy (revision 1618)
93 93
	def outOfTextElements = new HashSet<String>();
94 94
	XTZPager pager;
95 95
	
96

  
97 96
	/**
98 97
	 * Instantiates a new pager.
99 98
	 *
......
142 141
		return "";
143 142
	}
144 143

  
145

  
146 144
	private def closeMultiWriter() {
147 145
		if (pagedWriter != null) {
148 146
			def tags = pagedWriter.getTagStack().clone();
......
341 339
							}
342 340
							pagedWriter.writeEndElement() // table
343 341
							pagedWriter.writeEndElement() // p
344

  
345 342
							pagedWriter.writeCharacters("");
346 343
							break;
347 344
						case "ref":
348 345
							pagedWriter.writeStartElement("a")
349 346
							pagedWriter.writeAttribute("href", getAttributeValue(parser, null, "target"));
350

  
351 347
							pagedWriter.writeAttribute("target", "_blank");
352 348
							pagedWriter.writeAttribute("class", rend);
353 349
							break;
......
399 395
									pagedWriter.writeStartElement("b", ["class":rend])
400 396
								}
401 397
							}
402

  
403 398
							break;
404 399
						case "p":
405 400
						//case "lg":
......
529 524

  
530 525
							pagedWriter.writeCharacters(wordvalue);
531 526
							pagedWriter.writeEndElement();
532
							pagedWriter.writeCharacters("\n")
527
							pagedWriter.writeComment("\n")
533 528
							lastword=wordvalue;
534 529
							break;
535 530
						default:
......
567 562
		}
568 563
		closeMultiWriter();
569 564
	}
570

  
571 565
}
tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xml/pager.groovy (revision 1618)
428 428

  
429 429
							pagedWriter.writeCharacters(wordvalue);
430 430
							pagedWriter.writeEndElement();
431
							pagedWriter.writeCharacters("\n")
431
							pagedWriter.writeComment("\n")
432 432
							lastword=wordvalue;
433 433
							break;
434 434
						//						default:
tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/messages/messages_fr.properties (revision 1618)
14 14

  
15 15
copyTextSelection = Copier la sélection de texte
16 16

  
17
couldNotFindFirstTextOfP0IDInTheCorpus = ** Échec de la recherche du texte d''ID {0} dans le corpus.
17
couldNotFindFirstTextOfP0IDInTheCorpus = ** Impossible de trouver le texte d''identifiant ''{0}'' dans le corpus.
18 18

  
19

  
19 20
edition = Édition
20 21

  
21 22
editions = Éditions
tmp/TXMReleasePlugins.site/site.xml (revision 1618)
3 3
   <description name="TXM Extensions - RELEASE" url="http://txm.textometrie.org/updates/plugins">
4 4
      This update site contains the Release plugins for TXM
5 5
   </description>
6
   <feature url="features/org.txm.backtomedia.feature_1.0.0.1576.jar" id="org.txm.backtomedia.feature" version="1.0.0.1576">
6
   <feature url="features/org.txm.backtomedia.feature_1.0.0.1608.jar" id="org.txm.backtomedia.feature" version="1.0.0.1608">
7 7
      <category name="Commands"/>
8 8
   </feature>
9
   <feature url="features/org.txm.wordcloud.feature_1.0.0.1576.jar" id="org.txm.wordcloud.feature" version="1.0.0.1576">
9
   <feature url="features/org.txm.wordcloud.feature_1.0.0.1608.jar" id="org.txm.wordcloud.feature" version="1.0.0.1608">
10 10
      <category name="Commands"/>
11 11
   </feature>
12
   <feature url="features/org.txm.treetagger.binaries.feature_1.0.0.1576.jar" id="org.txm.treetagger.binaries.feature" version="1.0.0.1576">
12
   <feature url="features/org.txm.treetagger.binaries.feature_1.0.0.1608.jar" id="org.txm.treetagger.binaries.feature" version="1.0.0.1608">
13 13
      <category name="Annotation"/>
14 14
   </feature>
15
   <feature url="features/org.txm.treetagger.models.feature_1.0.0.1576.jar" id="org.txm.treetagger.models.feature" version="1.0.0.1576">
15
   <feature url="features/org.txm.treetagger.models.feature_1.0.0.1608.jar" id="org.txm.treetagger.models.feature" version="1.0.0.1608">
16 16
      <category name="Annotation"/>
17 17
   </feature>
18
   <feature url="features/org.txm.textsbalance.feature_1.0.0.1576.jar" id="org.txm.textsbalance.feature" version="1.0.0.1576">
18
   <feature url="features/org.txm.textsbalance.feature_1.0.0.1608.jar" id="org.txm.textsbalance.feature" version="1.0.0.1608">
19 19
      <category name="Commands"/>
20 20
   </feature>
21
   <feature url="features/org.txm.annotation.urs.feature_1.0.0.1576.jar" id="org.txm.annotation.urs.feature" version="1.0.0.1576">
21
   <feature url="features/org.txm.annotation.urs.feature_1.0.0.1608.jar" id="org.txm.annotation.urs.feature" version="1.0.0.1608">
22 22
      <category name="Annotation"/>
23 23
   </feature>
24 24
   <category-def name="Commands" label="Commands"/>
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/SWTResourceManager.java (revision 1618)
379 379
			m_fontToBoldFontMap.put(baseFont, font);
380 380
		}
381 381
		return font;
382
	}
382
	}
383
	
384
	/**
385
	 * Returns an italic version of the given {@link Font}.
386
	 * 
387
	 * @param baseFont
388
	 *            the {@link Font} for which a bold version is desired
389
	 * @return the italic version of the given {@link Font}
390
	 */
391
	public static Font getItalicFont(Font baseFont) {
392
		Font font = m_fontToBoldFontMap.get(baseFont);
393
		if (font == null) {
394
			FontData fontDatas[] = baseFont.getFontData();
395
			FontData data = fontDatas[0];
396
			font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.ITALIC);
397
			m_fontToBoldFontMap.put(baseFont, font);
398
		}
399
		return font;
400
	}
401
	
383 402
	/**
384 403
	 * Dispose all of the cached {@link Font}'s.
385 404
	 */
tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java (revision 1618)
20 20
import org.eclipse.jface.viewers.SelectionChangedEvent;
21 21
import org.eclipse.jface.viewers.TableViewer;
22 22
import org.eclipse.jface.viewers.TableViewerColumn;
23
import org.eclipse.jface.viewers.ViewerCell;
23 24
import org.eclipse.osgi.util.NLS;
24 25
import org.eclipse.swt.SWT;
25 26
import org.eclipse.swt.events.KeyEvent;
......
27 28
import org.eclipse.swt.events.SelectionEvent;
28 29
import org.eclipse.swt.events.SelectionListener;
29 30
import org.eclipse.swt.events.TypedEvent;
31
import org.eclipse.swt.graphics.Font;
32
import org.eclipse.swt.graphics.FontData;
33
import org.eclipse.swt.graphics.Image;
30 34
import org.eclipse.swt.layout.GridData;
31 35
import org.eclipse.swt.widgets.Button;
32 36
import org.eclipse.swt.widgets.Composite;
......
36 40
import org.eclipse.swt.widgets.Text;
37 41
import org.txm.annotation.kr.core.Annotation;
38 42
import org.txm.annotation.kr.core.AnnotationManager;
43
import org.txm.annotation.kr.core.CQPAnnotation;
39 44
import org.txm.annotation.kr.core.DatabasePersistenceManager;
40 45
import org.txm.annotation.kr.core.KRAnnotationEngine;
41 46
import org.txm.annotation.kr.core.repository.AnnotationEffect;
......
116 121
	protected Concordance concordance;
117 122
	private CQPCorpus corpus;
118 123
	private TableViewerColumn annotationColumnViewer;
124
	private Font annotationColummnFont;
125
	private Font defaultColummnFont;
119 126

  
120 127
	public String getName() {
121 128
		return KRAnnotationUIMessages.motsPropritsInfDfaut;
......
204 211
			return;
205 212
		}
206 213

  
207
		Log.info(NLS.bind(KRAnnotationUIMessages.AffectP0ToSelectionEqualsP1, value_to_add, matches.size()));
214
		Log.info(TXMCoreMessages.bind(KRAnnotationUIMessages.AffectP0ToSelectionEqualsP1, value_to_add.getId(), value_to_add.getTypeID(), matches.size()));
208 215
		
209 216
		// finally we can 'try' to create the annotations \o/
210 217
		try {
......
345 352
		annotationColumn.pack();
346 353
		annotationColumn.setResizable(true);
347 354
		annotationColumn.addControlListener(new ConcordanceColumnSizeControlListener(annotationColumn));
355
		defaultColummnFont = editor.getContainer().getFont();
356
		FontData fdata = defaultColummnFont.getFontData()[0];
357
		annotationColummnFont = new Font(Display.getCurrent(), fdata.getName(), fdata.getHeight(), SWT.ITALIC);
348 358
		annotationColumnViewer.setLabelProvider(new ColumnLabelProvider() {
349 359

  
350 360
			@Override
351 361
			public String getText(Object element) {
352 362
				Line line = (Line)element;
353 363
				AnnotationLine annotationLine = annotations.getAnnotationLine(line);
354
				if (annotationLine == null) return EMPTYTEXT ;
364
				if (annotationLine == null) return EMPTYTEXT;
355 365
				if (annotationLine.getAnnotation()!=null) {
356 366
					String value = annotationLine.getAnnotationValue().getStandardName();
357 367
					Annotation a = annotationLine.getAnnotation();
......
369 379
					return EMPTYTEXT;
370 380
				}
371 381
			}
382
			
383
			@Override
384
			public Font getFont(Object element) {
385
				Line line = (Line)element;
386
				
387
				AnnotationLine annotationLine = annotations.getAnnotationLine(line);
388
				if (annotationLine == null) return null;
389
				
390
				Annotation a = annotationLine.getAnnotation();
391
				if (a == null) return null;
392

  
393
				String value = annotationLine.getAnnotationValue().getStandardName();
394
				if (a instanceof CQPAnnotation) return null;
395
				
396
				return annotationColummnFont;
397
			}
372 398
		});
373 399

  
374 400
		List<KnowledgeRepository> krs = InitializeKnowledgeRepository.get(corpus.getMainCorpus());
tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java (revision 1618)
563 563
			return;
564 564
		}
565 565

  
566
		Log.info(NLS.bind(KRAnnotationUIMessages.AffectP0ToSelectionEqualsP1, value_to_add, matches.size()));
566
		Log.info(TXMCoreMessages.bind(KRAnnotationUIMessages.AffectP0ToSelectionEqualsP1, value_to_add.getId(), value_to_add.getTypeID(), matches.size()));
567 567

  
568 568
		// finally we can 'try' to create the annotations \o/
569 569
		try {
tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/messages/messages.properties (revision 1618)
3 3
aboutAnnotations=About annotations
4 4
addANewCategory=Add a new category
5 5
affect=Affect
6
AffectP0ToSelectionEqualsP1=Affect {0} to selection ({1}).
6
AffectP0ToSelectionEqualsP1=Affect {0} to {1} for {1} elements.
7 7
all=All
8 8
allLines=all lines
9 9
annotatingConcordanceSelection=Annotating concordance selection…
tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/messages/messages_fr.properties (revision 1618)
3 3
aboutAnnotations=À propos des annotations
4 4
addANewCategory=Ajouter une nouvelle catégorie
5 5
affect=Affecter
6
AffectP0ToSelectionEqualsP1=Affectation de {0} à la sélection ({1}).
6
AffectP0ToSelectionEqualsP1=Affectation de la valeur {0} à la propriété {1} pour {2} occurrences.
7 7
all=Tous
8 8
allLines=Toutes les lignes
9 9
annotatingConcordanceSelection=Annotation de la sélection de la concordance...
tmp/org.txm.annotation.kr.core/META-INF/persistence.xml (revision 1618)
17 17
			<property name="javax.persistence.jdbc.user" value="SA"/>
18 18
			
19 19
			<property name="eclipselink.logging.level" value="OFF"/>
20
<!-- 			<property name="eclipselink.logging.parameters" value="false"/>
21
 			<property name="eclipselink.logging.level" value="ON" />
22
 			
23
		
20
<!-- 		
24 21
			<property name="eclipselink.jdbc.read-connections.min" value="1" />
25 22
			<property name="eclipselink.jdbc.write-connections.min" value="1" />
26 23
			<property name="eclipselink.jdbc.batch-writing" value="JDBC" />
......
29 26
<!-- Logging 
30 27
			<property name="eclipselink.logging.file" value="output.log"/>
31 28
			<property name="eclipselink.logging.logger" value="JavaLogger"/>
32
-->
33
		
34
<!-- 		
29

  
30
			<property name="eclipselink.logging.parameters" value="false"/>
35 31
			<property name="eclipselink.logging.level" value="FINE" />
36 32
			<property name="eclipselink.logging.timestamp" value="false" />
37 33
			<property name="eclipselink.logging.session" value="false" />
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/messages/messages.properties (revision 1618)
1 1
savingP0Annotations=Saving {0} annotations...
2 2
annotationSuccessfullyWritten=Annotations successfully written.
3 3
savingAnnotations=Saving annotations
4
annotationSuccesfullyWrittenIntheP0File=Annotations successfully written in the {0} file.
4
annotationSuccesfullyWritten=Annotations successfully written in the {0} file.
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/messages/messages_fr.properties (revision 1618)
1 1
savingP0Annotations=Enregistrement de {0} annotations...
2 2
annotationSuccessfullyWritten=Annotations enregistrées.
3 3
savingAnnotations=Enregistrement des annotations
4
annotationSuccesfullyWrittenIntheP0File=Annotations enregistrées dans le fichier {0}.
4
annotationSuccesfullyWritten=Annotations enregistrées dans le fichier {0}.
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/AnnotationManager.java (revision 1618)
163 163
			temporaryAnnotations = tempManager.getAnnotations(type, matches, null, false, overlap);
164 164
			temporaryAnnotations = tempManager.getAnnotationsForMatches(matches, temporaryAnnotations, overlap);
165 165
			
166
			List<Annotation> cqpAnnotations = cqpManager.getAnnotationsForMatches(matches, type, overlap);
166
			List<? extends Annotation> cqpAnnotations = cqpManager.getAnnotationsForMatches(matches, type, overlap);
167 167

  
168 168
		//	System.out.println("Temporary annotations: "+temporaryAnnotations);
169 169
		//	System.out.println("CQP annotations: "+cqpAnnotations);
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/AnnotationWriter.java (revision 1618)
202 202
			return false;
203 203
		}
204 204

  
205
		System.out.println("Annotations grouped per text for "+annotationsPerTexts.size()+" text"+(annotationsPerTexts.size() > 0?"s":""));
206
		System.out.println(" - Writing temporary XML files in: "+tmpXMLTXMDirectory);
207
		System.out.println(" - Copying previous version of XML files in: "+previousXMLTXMDirectory);
205
		Log.fine("Annotations grouped per text for "+annotationsPerTexts.size()+" text"+(annotationsPerTexts.size() > 0?"s":""));
206
		Log.fine(" - Writing temporary XML files in: "+tmpXMLTXMDirectory);
207
		Log.fine(" - Copying previous version of XML files in: "+previousXMLTXMDirectory);
208 208
		// for all annotation PER TEXT, update the XML-TXM files
209 209
		currentText = 0;
210 210
		while (currentText < end_limits.length ) { // end limits : 10, 30, 45, 55, 103
......
223 223
						} else if (AnnotationEffect.TOKEN.equals(type.getEffect())) {
224 224
							allTokenAnnotations.add(a);
225 225
						} else {
226
							System.out.println("Annotation "+a+" with type="+a.getType()+" not found in default KR="+defaultKR);
226
							Log.fine("Annotation "+a+" with type="+a.getType()+" not found in default KR="+defaultKR);
227 227
						}
228 228
					} else {
229
						System.out.println("Warning: unknowed type: "+a.getType());
229
						Log.warning("Warning: unknowed type: "+a.getType());
230 230
					}
231 231
				}
232 232

  
233 233
				if (!writeAnnotationsInFile(currentXMLFile, start_limits[currentText], 
234 234
						allSegmentAnnotations, allTokenAnnotations, 
235 235
						tmpXMLTXMDirectory, previousXMLTXMDirectory)) {
236
					System.out.println("Error while writing annotations of text "+currentXMLFile);
236
					Log.severe("Error while writing annotations of text "+currentXMLFile);
237 237
					return false;
238 238
				} else {
239 239
					if (monitor != null) {
......
251 251
	
252 252
	protected boolean writeAnnotationsInFile(File xmlFile, int text_start_position, 
253 253
			ArrayList<Annotation> segmentAnnotations, ArrayList<Annotation> tokenAnnotations, File tmpXMLTXMDirectory, File previousXMLTXMDirectory) throws CqiClientException, IOException, CqiServerError, InvalidCqpIdException, XMLStreamException{
254
		Log.info("Writing annotations for text "+xmlFile+" segment annotations="+segmentAnnotations.size()+" token annotations="+tokenAnnotations.size());
254
		Log.fine("Writing annotations for text "+xmlFile+" segment annotations="+segmentAnnotations.size()+" token annotations="+tokenAnnotations.size());
255 255
		//System.out.println(segmentAnnotations);
256 256
		//System.out.println(tokenAnnotations);
257 257

  
......
268 268
					tmpfile.renameTo(xmlFile);
269 269
					return true;
270 270
				} else {
271
					System.out.println("Error: could not replace XML-TXM file: "+xmlFile+" with "+tmpfile);
271
					Log.severe("Error: could not replace XML-TXM file: "+xmlFile+" with "+tmpfile);
272 272
				}
273 273
			} else {
274
				System.out.println("Error: result file "+tmpfile+" is malformed.");
274
				Log.severe("Error: result file "+tmpfile+" is malformed.");
275 275
			}
276 276
		} else {
277
			System.out.println("Error: while processing "+xmlFile+" in temp dir");
277
			Log.severe("Error: while processing "+xmlFile+" in temp dir");
278 278
		}
279 279
		return false;
280 280
	}
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/CQPAnnotationManager.java (revision 1618)
176 176
	 * @throws IOException 
177 177
	 * @throws CqiClientException 
178 178
	 */
179
	public List<Annotation> getAnnotationsForMatches(List<Match> matches, AnnotationType type, boolean overlap) throws IOException, CqiServerError, CqiClientException {
179
	public List<? extends Annotation> getAnnotationsForMatches(List<Match> matches, AnnotationType type, boolean overlap) throws IOException, CqiServerError, CqiClientException {
180 180
		if (type.getEffect().equals(AnnotationEffect.SEGMENT)) {
181 181
			return getSegmentAnnotationsForMatches(matches, type, overlap);
182 182
		} else {
......
195 195
	 * @throws IOException 
196 196
	 * @throws CqiClientException 
197 197
	 */
198
	public List<Annotation> getTokenAnnotationsForMatches(List<Match> matches, AnnotationType type, boolean overlap) throws IOException, CqiServerError, CqiClientException {
198
	public List<? extends Annotation> getTokenAnnotationsForMatches(List<Match> matches, AnnotationType type, boolean overlap) throws IOException, CqiServerError, CqiClientException {
199 199

  
200 200
		Property prop = corpus.getProperty(type.getId().toLowerCase());
201 201
		if (prop == null) return nullAnnotationList(matches.size()); // no property, no annotation :)
......
208 208
		
209 209
		String[] strs = cqi.cpos2Str(prop.getQualifiedName(), positions);
210 210
		
211
		ArrayList<Annotation> annotations = new ArrayList<Annotation>();
211
		ArrayList<CQPAnnotation> annotations = new ArrayList<CQPAnnotation>();
212 212
		i = 0;
213 213
		for (String str : strs) {
214 214
			int p = positions[i++];
215
			annotations.add(new Annotation(type.getId(), str, p, p));
215
			annotations.add(new CQPAnnotation(type.getId(), str, p, p));
216 216
		}
217 217
		//Log.info("TOKEN ANNOTATION CQP VALUES: "+annotations);
218 218
		return annotations;
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/CQPAnnotation.java (revision 1618)
1
package org.txm.annotation.kr.core;
2

  
3
public class CQPAnnotation extends Annotation {
4

  
5
	public CQPAnnotation(String id, String str, int p, int p2) {
6
		super(id, str, p, p2);
7
	}
8

  
9
	private static final long serialVersionUID = -3539813867449634393L;
10

  
11
}
0 12

  
tmp/org.txm.setups/shared/win/txm.nsi (revision 1618)
269 269
	
270 270
	;CreateShortCut "$SMPROGRAMS\TXM${Version}\TXM.lnk" "$INSTDIR\TXM.bat" "$INSTDIR\TXM.ico"
271 271
	CreateShortCut "$SMPROGRAMS\TXM${Version}\TXM.lnk" "$INSTDIR\TXM.bat" "" "$INSTDIR\TXM.ico" 0
272
	CreateShortCut "$SMPROGRAMS\TXM${Version}\TXM.lnk" "$INSTDIR\TXM debug.bat" "" "$INSTDIR\TXM.ico" 0
272 273
	
273 274
	CreateShortCut "$SMPROGRAMS\TXM${Version}\uninstall.lnk" "$INSTDIR\uninstall.exe"
274 275
	

Formats disponibles : Unified diff