Révision 3746

TXM/trunk/bundles/org.txm.core/src/java/org/txm/objects/Project.java (revision 3746)
923 923
					bp.setTextualPlans(this.getTextualPlan("OutSideTextTagsAndKeepContent"), this.getTextualPlan("Note"), this.getTextualPlan("OutSideTextTags"), this.getTextualPlan("MileStones"));
924 924
					bp.setWordElement(this.getTokenizerWordElement());
925 925
					
926
					
927
					// write the <text> elements
928
					
926 929
					for (Text t : this.getTexts()) {
927 930
						Element elementT = bp.addText(corpusElem, t.getName(), t.getSource());
931
						
932
						
928 933
						for (Edition e : t.getEditions()) {
929 934
							Element elementE = bp.addEdition(elementT, e.getName(), e.getHtmlDir().getPath(), "html");
930 935
							for (int i = 0; i < e.getNumPages(); i++) {
......
934 939
						}
935 940
					}
936 941
					
942
					// write the <preBuild>, <partition> and <subcorpus> elements
943
					for (CorpusBuild corpus : this.getChildren(CorpusBuild.class)) {
944
						
945
						writeSubcorpusandPartitionsInOldBaseParameters(corpus, corpusElem, bp);
946
					}
947
					
948
					
937 949
					bp.getKeyValueParameters().put("lang", this.getLang());
950
					
938 951
					bp.save();
939 952
				}
940 953
				catch (Exception e) {
......
1035 1048
		return false;
1036 1049
	}
1037 1050
	
1051
	private void writeSubcorpusandPartitionsInOldBaseParameters(CorpusBuild corpus, Element corpusElem, BaseOldParameters bp) {
1052
		
1053
		for (Partition p : corpus.getChildren(Partition.class)) {
1054
			
1055
			String[] queries = new String[p.getParts().size()];
1056
			String[] names = new String[p.getParts().size()];
1057
			int i = 0;
1058
			for (CorpusBuild part : p.getParts()) {
1059
				names[i] = part.getName();
1060
				queries[i] = part.getStringParameterValue(TBXPreferences.QUERY);
1061
				i++;
1062
			}
1063
			bp.addPartition(corpusElem, p.getSimpleName(), queries, names);
1064
		}
1065
		
1066
		for (CorpusBuild s : corpus.getChildren(CorpusBuild.class)) {
1067
			Element e = bp.addSubcorpus(corpusElem, s.getSimpleName(), s.getStringParameterValue(TBXPreferences.QUERY), "");
1068
			
1069
			writeSubcorpusandPartitionsInOldBaseParameters(s, e, bp);
1070
		}
1071
	}
1072

  
1038 1073
	/**
1039 1074
	 * Gets the base directory.
1040 1075
	 *
TXM/trunk/bundles/org.txm.core/src/java/org/txm/objects/BaseOldParameters.java (revision 3746)
264 264
		return page;
265 265
	}
266 266
	
267
	public void addPartition(Element corpusElem, String name, String[] queries,
268
			String[] names) {
269
		Element preBuildElement = this.getPreBuildElement(corpusElem);
270
		Element partitionElem = preBuildElement.getOwnerDocument().createElement("partition");//$NON-NLS-1$
267
	public Element addPartition(Element corpusElem, String name, String[] queries, String[] names) {
268
		
269
		Element partitionElem = null;
270
		
271
		if (corpusElem.getNodeName().equals("subcorpus")) { // if corpuselement is a subcorpus append the partition element to the subcorpus element children
272
			partitionElem = corpusElem.getOwnerDocument().createElement("partition");//$NON-NLS-1$
273
			corpusElem.appendChild(partitionElem);
274
		} else {
275
			Element preBuildElement = this.getPreBuildElement(corpusElem);
276
			partitionElem = preBuildElement.getOwnerDocument().createElement("partition");//$NON-NLS-1$
277
			preBuildElement.appendChild(partitionElem);
278
		}
279
		
280
		
271 281
		partitionElem.setAttribute(NAME, name);
272 282
		for (int i = 0; i < queries.length; i++) {
273
			Element partElem = preBuildElement.getOwnerDocument().createElement("part");//$NON-NLS-1$
283
			Element partElem = partitionElem.getOwnerDocument().createElement("part");//$NON-NLS-1$
274 284
			partElem.setAttribute(NAME, names[i]);
275 285
			partElem.setAttribute(QUERY, queries[i]);
276 286
			partitionElem.appendChild(partElem);
277 287
		}
278
		preBuildElement.appendChild(partitionElem);
288
		
289
		
290
		return partitionElem;
279 291
	}
280 292
	
281 293
	public Element addPAttribute(Element corpusElem, String name, String shortname, String longname, String type, String renderer, String tooltip, String pattern, String importB, String mandatory,
......
334 346
	public Element addSAttribute(Element corpusElem, String name, String shortname, String longname, String type, String renderer, String tooltip, String pattern, String importB, String mandatory,
335 347
			String inputFormat, String outputFormat) {
336 348
		NodeList sattributesList = corpusElem.getElementsByTagName("sattributes");//$NON-NLS-1$
337
		if (sattributesList.getLength() == 0)
349
		if (sattributesList.getLength() == 0) {
338 350
			return null;
351
		}
339 352
		
340 353
		Element sattributes = (Element) sattributesList.item(0);
341 354
		Element sattribute = sattributes.getOwnerDocument().createElement("sattribute");//$NON-NLS-1$
......
355 368
		return sattribute;
356 369
	}
357 370
	
358
	public void addSubcorpus(Element corpusElem, String name, String query,
359
			String desc) {
360
		Element preBuildElement = this.getPreBuildElement(corpusElem);
361
		Element subcorpusElem = preBuildElement.getOwnerDocument().createElement("subcorpus");//$NON-NLS-1$
371
	public Element addSubcorpus(Element corpusElem, String name, String query, String desc) {
372
		
373
		Element subcorpusElem = null;
374
		
375
		if (corpusElem.getNodeName().equals("subcorpus")) { // if it's a subcorpus element, create the subcorpus as child
376
			subcorpusElem = corpusElem.getOwnerDocument().createElement("subcorpus");//$NON-NLS-1$
377
			corpusElem.appendChild(subcorpusElem);
378
		} else {
379
			Element preBuildElement = this.getPreBuildElement(corpusElem);
380
			subcorpusElem = preBuildElement.getOwnerDocument().createElement("subcorpus");//$NON-NLS-1$
381
			preBuildElement.appendChild(subcorpusElem);
382
		}
383
		
362 384
		subcorpusElem.setAttribute(NAME, name);
363 385
		subcorpusElem.setAttribute(QUERY, query);
364 386
		subcorpusElem.setAttribute(DESC, desc);
365
		preBuildElement.appendChild(subcorpusElem);
387
		
388
		return subcorpusElem;
366 389
	}
367 390
	
368 391
	/**

Formats disponibles : Unified diff