Révision 1620

tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorporaDirectory.java (revision 1620)
94 94
			
95 95
			if (directory.exists()) {
96 96
				LastOpened.set(ID, directory);
97
				return loadBinaryCorpusFromCorporaDirectory(directory, true, true);
97
				return loadBinaryCorpusFromCorporaDirectory(directory, true, true, false);
98 98
			}
99 99
		}
100 100
		return null;
......
106 106
	 * @param directory
107 107
	 * @return
108 108
	 */
109
	public static JobHandler loadBinaryCorpusFromCorporaDirectory(final File directory, final boolean askSelection, final boolean replace) {
109
	public static JobHandler loadBinaryCorpusFromCorporaDirectory(final File directory, final boolean askSelection, final boolean replace, final boolean loadDirectories) {
110 110
		
111 111
		JobHandler jobhandler = new JobHandler("Loading corpora from "+directory+"...", true) {
112 112
			
......
134 134
					return Status.CANCEL_STATUS;
135 135
				}
136 136
				
137
				
138 137
				final ArrayList<Project> newProjects = new ArrayList<Project>();
139 138
				if (askSelection) {
140 139
					
141 140
					this.syncExec(new Runnable() {
142 141
						@Override
143 142
						public void run() {
144
							List<File>  files = getBinaryCorpusSelection(directory);
143
							List<File>  files = getBinaryCorpusSelection(directory, loadDirectories);
145 144
							ArrayList<Project> tmp = loadBinaryCorpusFromCorporaDirectory(files, self, monitor, replace);
146 145
							if (tmp != null) {
147 146
								newProjects.addAll(tmp);
......
150 149
					});
151 150
					
152 151
				} else { // try loading corpora and dont replace existing corpus
153
					ArrayList<Project> tmp = loadBinaryCorpusFromCorporaDirectory(directory, this, monitor, replace);
152
					List<File>  files = Arrays.asList(getBinaryCorpusFiles(directory, loadDirectories));
153
					ArrayList<Project> tmp = loadBinaryCorpusFromCorporaDirectory(files, this, monitor, replace);
154 154
					if (tmp != null) {
155 155
						newProjects.addAll(tmp);
156 156
					}
......
192 192
		return jobhandler;
193 193
	}
194 194
	
195
	protected static List<File> getBinaryCorpusSelection(File directory) {
195
	protected static List<File> getBinaryCorpusSelection(File directory, boolean loadDirectories) {
196 196
		ArrayList<File> selectedFiles = new ArrayList<File>();;
197 197
		if (!directory.isDirectory()) return selectedFiles;
198 198
		if (!directory.exists()) return selectedFiles;
......
208 208
		} else {
209 209
			return selectedFiles;
210 210
		}
211
		File[] files = directory.listFiles(new FileFilter() {
212
			
213
			@Override
214
			public boolean accept(File arg0) {
215
				return IOUtils.HIDDENFILE_FILTER.accept(arg0) && arg0.getName().endsWith(".txm");
216
			}
217
		});
218
		Arrays.sort(files, new Comparator<File>() {
219
			@Override
220
			public int compare(File o1, File o2) {
221
				int i = o1.getName().compareTo(o2.getName());
222
				if (i == 0) {
223
					return (int) (o1.lastModified() - o2.lastModified());
224
				}
225
				return i;
226
			}
227
		});
211
		File[] files = getBinaryCorpusFiles(directory, loadDirectories);
228 212
		
229 213
		ListSelectionDialog lsd = new ListSelectionDialog(shell, files, new ArrayContentProvider(), new LabelProvider() {
230 214

  
......
260 244
		return selectedFiles;
261 245
	}
262 246

  
247
	private static File[] getBinaryCorpusFiles(File directory, boolean loadDirectories) {
248
		File[] files = null;
249
		
250
		if (loadDirectories) {
251
			files = directory.listFiles(new FileFilter() {
252
				@Override
253
				public boolean accept(File arg0) {
254
					return IOUtils.HIDDENFILE_FILTER.accept(arg0) && arg0.isDirectory();
255
				}
256
			});
257
		} else {
258
			files = directory.listFiles(new FileFilter() {
259
				@Override
260
				public boolean accept(File arg0) {
261
					return IOUtils.HIDDENFILE_FILTER.accept(arg0) && arg0.getName().endsWith(".txm");
262
				}
263
			});
264
		}
265
		
266
		Arrays.sort(files, new Comparator<File>() {
267
			@Override
268
			public int compare(File o1, File o2) {
269
				int i = o1.getName().compareTo(o2.getName());
270
				if (i == 0) {
271
					return (int) (o1.lastModified() - o2.lastModified());
272
				}
273
				return i;
274
			}
275
		});
276
		
277
		return files;
278
	}
279

  
263 280
	/**
264 281
	 * dont manage SearchEngine state
265 282
	 * 
......
280 297
	 * @param job
281 298
	 * @param monitor
282 299
	 * @param replace if true replace existing corpus
300
	 * @param loadDirectories 
283 301
	 * @return the loaded projects
284 302
	 */
285 303
	protected static ArrayList<Project> loadBinaryCorpusFromCorporaDirectory(List<File> corporaFiles, JobHandler job, IProgressMonitor monitor, boolean replace) {
......
311 329
				}
312 330
				
313 331
				if (corpusDirectory.isDirectory()) {
314
				//	project = LoadBinaryCorpus.loadBinaryCorpusAsDirectory(corpusDirectory, monitor, replace);
315
					continue;
316
				} else if (corpusDirectory.getName().endsWith(".txm")) {
332
					project = LoadBinaryCorpus.loadBinaryCorpusAsDirectory(corpusDirectory, monitor, replace);
333
				} else {
317 334
					project = LoadBinaryCorpus.loadBinaryCorpusArchive(corpusDirectory, job, monitor, replace);
318
				} else {
319
					continue; // not a corpus
320 335
				}
321

  
336
				
322 337
//				Project base = LoadBinaryCorpus.loadBinaryCorpusAsDirectory(corpusDirectory);
323 338
				if (project == null) {
324 339
					Log.warning("Failed to load binary corpus: "+corpusDirectory);
tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java (revision 1620)
863 863
		// TXM-0.8.0 previous installation corpora
864 864
		if (corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER).length > 0) { // not a new install, restore previous corpora
865 865
			Log.info(NLS.bind(TXMUIMessages.installingPreviousCorpusFromP0, corporaDir));
866
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(corporaDir, false, true);
866
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(corporaDir, false, true, true);
867 867
			try {
868 868
				job.join();
869 869
			} catch (InterruptedException e) {
......
875 875
		// TXM previous installation corpora
876 876
		if (previousCorporaDirectory.exists()) { // new installation (empty corpora directory)
877 877
			Log.info(NLS.bind(TXMUIMessages.installingPreviousCorpusFromP0, previousCorporaDirectory));
878
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(previousCorporaDirectory, false, false);
878
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(previousCorporaDirectory, false, false, true);
879 879
			try {
880 880
				job.join();
881 881
			} catch (InterruptedException e) {
......
889 889

  
890 890
			Log.info(TXMUIMessages.installingSampleCorpus);
891 891

  
892
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(sampleCorporaDirectory, false, true);
892
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(sampleCorporaDirectory, false, true, false);
893 893
			try {
894 894
				job.join();
895 895
			} catch (InterruptedException e) {
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/messages/messages.properties (revision 1620)
1 1
savingP0Annotations=Saving {0} annotations...
2
annotationSuccessfullyWritten=Annotations successfully written.
3 2
annotationSuccesfullyWrittenIntheP0File=Annotations successfully written in the {0} file.
4 3
savingAnnotations=Saving annotations.
tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/messages/messages_fr.properties (revision 1620)
1 1
savingP0Annotations=Enregistrement de {0} annotations...
2
annotationSuccessfullyWritten=Annotations enregistrées.
3 2
savingAnnotations=Enregistrement des annotations
4
annotationSuccesfullyWritten=Annotations enregistrées.
5 3
annotationSuccesfullyWrittenIntheP0File=Annotations enregistrées dans le fichier {0}.

Formats disponibles : Unified diff