Project

General

Profile

Download (94.4 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
/**
11
 * This is EndNote import format
12
 *
13
 * EndNote is a commercial reference management software package,
14
 * used to manage bibliographies and references when writing essays and articles.
15
 */
16
package eu.etaxonomy.cdm.io.reference.endnote.in;
17

    
18
import java.net.URI;
19
import java.net.URISyntaxException;
20
import java.util.ArrayList;
21
import java.util.HashMap;
22
import java.util.List;
23
import java.util.Map;
24

    
25
import org.apache.log4j.Logger;
26
import org.jdom.Element;
27
import org.jdom.Namespace;
28
import org.springframework.stereotype.Component;
29

    
30
import eu.etaxonomy.cdm.api.service.IReferenceService;
31
import eu.etaxonomy.cdm.common.DoubleResult;
32
import eu.etaxonomy.cdm.common.XmlHelp;
33
import eu.etaxonomy.cdm.io.common.ICdmIO;
34
import eu.etaxonomy.cdm.io.common.ImportHelper;
35
import eu.etaxonomy.cdm.io.common.MapWrapper;
36
import eu.etaxonomy.cdm.model.agent.Address;
37
import eu.etaxonomy.cdm.model.agent.Contact;
38
import eu.etaxonomy.cdm.model.agent.Institution;
39
import eu.etaxonomy.cdm.model.agent.Team;
40
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
41
import eu.etaxonomy.cdm.model.common.Annotation;
42
import eu.etaxonomy.cdm.model.common.CdmBase;
43
import eu.etaxonomy.cdm.model.common.ExtensionType;
44
import eu.etaxonomy.cdm.model.common.Language;
45
import eu.etaxonomy.cdm.model.reference.IPrintedUnitBase;
46
import eu.etaxonomy.cdm.model.reference.IPublicationBase;
47
import eu.etaxonomy.cdm.model.reference.Reference;
48
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
49
/**
50
 * @author a.bukhman
51
 *
52
 */
53
@Component
54
public class EndnoteRecordsImport extends EndNoteImportBase implements ICdmIO<EndnoteImportState> {
55
	private static final Logger logger = Logger.getLogger(EndnoteRecordsImport.class);
56

    
57
	private static int modCount = 1000;
58

    
59
	public EndnoteRecordsImport(){
60
		super();
61
	}
62

    
63
	@Override
64
	public boolean doCheck(EndnoteImportState state){
65
		boolean result = true;
66
		return result;
67
	}
68

    
69
	@Override
70
	public void doInvoke(EndnoteImportState state){
71
		logger.info("start make XML ...");
72
		boolean success = true;
73
		String childName;
74
		boolean obligatory;
75

    
76
		MapWrapper<Team> authorMap = (MapWrapper<Team>)state.getStore(ICdmIO.TEAM_STORE);
77
		MapWrapper<Reference> referenceMap = (MapWrapper<Reference>)state.getStore(ICdmIO.REFERENCE_STORE);
78

    
79
		Map<String, Reference> map_article = new HashMap<String, Reference>();
80
		Map<String, Reference> map_book = new HashMap<String, Reference>();
81
		Map<String, Reference> map_book_section = new HashMap<String, Reference>();
82
		Map<String, Reference> map_journal = new HashMap<String, Reference>();
83
		Map<String, Reference> map_thesis = new HashMap<String, Reference>();
84
		Map<String, Reference> map_patent = new HashMap<String, Reference>();
85
		Map<String, Reference> map_proceedings = new HashMap<String, Reference>();
86
		Map<String, Reference> map_cdDvd = new HashMap<String, Reference>();
87
		Map<String, Reference> map_report = new HashMap<String, Reference>();
88
		Map<String, Reference> map_database = new HashMap<String, Reference>();
89
		Map<String, Reference> map_webPage = new HashMap<String, Reference>();
90
		Map<String, Reference> map_generic = new HashMap<String, Reference>();
91
		Map<String, Reference> map_printSeries = new HashMap<String, Reference>();
92
		Map<String, Reference> map_personalCommunication = new HashMap<String, Reference>();
93

    
94
		IReferenceService referenceService = getReferenceService();
95

    
96
		EndnoteImportConfigurator config = state.getConfig();
97
		Element elXml = getXmlElement(config);
98
		Namespace tcsNamespace = config.getEndnoteNamespace();
99

    
100
		logger.info("start make Records-Element ...");
101
		DoubleResult<Element, Boolean> doubleResult;
102

    
103
		childName = "records";
104
		obligatory = false;
105
		doubleResult = XmlHelp.getSingleChildElement(elXml, childName, tcsNamespace, obligatory);
106
		Element elRecords = doubleResult.getFirstResult();
107
		success &= doubleResult.getSecondResult();
108
		elRecords.getAttributes();
109

    
110
		logger.info("start make Record-Elementen ...");
111
	    String tcsElementName = "record";
112
		String idNamespace = "record";
113
		List<Element> elRecordList = elRecords.getChildren(tcsElementName, tcsNamespace);
114
		Reference reference = null;
115
		TeamOrPersonBase<?> author = null;
116
		IPrintedUnitBase printedUnitBase = null;
117

    
118

    
119
		int i = 0;
120
		// for each Record in Endnote
121
		for (Element elRecord : elRecordList){
122
			if ((++i % modCount) == 0){ logger.info("Names handled: " + (i-1));}
123
			List<String> elementList = new ArrayList<String>();
124
			//create Record element
125
			IPublicationBase publicationBase = null;
126
			CdmBase cdmBase = null;
127

    
128
			Reference article = ReferenceFactory.newArticle();
129
			Reference book = ReferenceFactory.newBook();
130
			Reference bookSection = ReferenceFactory.newBookSection();
131
			Reference thesis = ReferenceFactory.newThesis();
132
			Reference journal = ReferenceFactory.newJournal();
133
			Reference patent =  ReferenceFactory.newPatent();
134
			Reference generic = ReferenceFactory.newGeneric();
135
			Reference personalCommunication = ReferenceFactory.newPersonalCommunication();
136
			Reference proceedings  = ReferenceFactory.newProceedings();
137
			Reference printSeries = ReferenceFactory.newPrintSeries();
138
			Reference cdDvd = ReferenceFactory.newCdDvd();
139
			Reference database = ReferenceFactory.newDatabase();
140
			Reference report = ReferenceFactory.newReport();
141
			Reference webPage = ReferenceFactory.newWebPage();
142
			Institution school = Institution.NewInstance();
143
			Team authorship = Team.NewInstance();
144

    
145
			logger.info("start make database ...");
146
			childName = "database";
147
			obligatory = false;
148
			doubleResult = XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
149
			success &= doubleResult.getSecondResult();
150
			Element elDatabase = new Element ("database");
151

    
152
			if (elDatabase != null) {
153

    
154
				String strName = elDatabase.getAttributeValue("name");
155
				String strPath = elDatabase.getAttributeValue("path");
156
			}
157

    
158
			logger.info("start make source-app ...");
159
			childName = "source-app";
160
			obligatory = false;
161
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
162
			success &= doubleResult.getSecondResult();
163
			Element elSource_app = doubleResult.getFirstResult();
164
			if (elSource_app != null) {
165

    
166
				String strName_app = elSource_app.getAttributeValue("name");
167
				String strVersion = elSource_app.getAttributeValue("version");
168
			}
169

    
170
			logger.info("start make rec-number ...");
171
			childName = "rec-number";
172
			obligatory = false;
173
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
174
			success &= doubleResult.getSecondResult();
175
			Element elRec_number = doubleResult.getFirstResult();
176
			String nummer = elRec_number.getTextNormalize();
177
			int num = Integer.parseInt(nummer);
178

    
179
			if (cdmBase != null) {
180
				reference.setId(num);
181
				cdmBase.setId(num);
182
			} else {
183
				logger.warn("The type was not found...");
184
				success = false;
185
			}
186

    
187
			logger.info("start make foreign-keys ...");
188
			childName = "foreign-keys";
189
			obligatory = false;
190
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
191
			success &= doubleResult.getSecondResult();
192
			Element elForeing_keys = doubleResult.getFirstResult();
193
			if (elForeing_keys!= null) {
194
				childName = "key";
195
				obligatory = false;
196
				doubleResult =  XmlHelp.getSingleChildElement(elForeing_keys, childName, tcsNamespace, obligatory);
197
				success &= doubleResult.getSecondResult();
198
				Element elKey = doubleResult.getFirstResult();
199
				if (elKey != null) {
200
					String strApp = elKey.getAttributeValue("app");
201
					String strDb_Id = elKey.getAttributeValue("db-id");
202
				}
203
			}
204

    
205
			logger.info("start make ref-type ...");
206
			childName = "ref-type";
207
			obligatory = false;
208
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
209
			success &= doubleResult.getSecondResult();
210
			Element elRef_type = doubleResult.getFirstResult();
211

    
212
			if (elRef_type != null) {
213
				String strName_reftype = elRef_type.getAttributeValue("name");
214
				if (strName_reftype.equals("Article")) {
215
					reference =  article;
216
				}else if (strName_reftype.equals("Book")){
217
					reference =  book;
218
				}else if (strName_reftype.equals("Book Section")){
219
					reference =  bookSection;
220
				}else if (strName_reftype.equalsIgnoreCase("Patent")) {
221
					reference =  patent;
222
				}else if (strName_reftype.equalsIgnoreCase("Personal Communication")){
223
					reference = personalCommunication;
224
				}else if (strName_reftype.equalsIgnoreCase("Journal")) {
225
					reference = journal;
226
				}else if (strName_reftype.equalsIgnoreCase("CdDvd")) {
227
					reference = cdDvd;
228
				}else if (strName_reftype.equalsIgnoreCase("Database")) {
229
					reference = database;
230
				}else if (strName_reftype.equalsIgnoreCase("WebPage")) {
231
					reference = webPage;
232
				}else if (strName_reftype.equalsIgnoreCase("Report")) {
233
					reference = report;
234
				}else if (strName_reftype.equalsIgnoreCase("Thesis")) {
235
					reference = thesis;
236
				}else if (strName_reftype.equalsIgnoreCase("Print Series")){
237
					reference = printSeries;
238
				}else if (strName_reftype.equals("Journal Article")){
239
					reference = article;
240
				}else if (strName_reftype.equalsIgnoreCase("Conference Proceedings")){
241
					reference = proceedings;
242
				}else if (strName_reftype.equalsIgnoreCase("Web Page")){
243
					reference = webPage;
244
				}else {
245
					logger.warn("The type was not found...");
246
					reference = generic;
247
					success = false;
248
				}
249
			}
250

    
251
			logger.info("start make contributors ...");
252
			childName = "contributors";
253
			obligatory = false;
254
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
255
			success &= doubleResult.getSecondResult();
256
			Element elContributors = doubleResult.getFirstResult();
257
			StringBuilder authorBilder = new StringBuilder();
258
			if (elContributors != null) {
259
				childName = "authors";
260
				obligatory = false;
261
				doubleResult =  XmlHelp.getSingleChildElement(elContributors, childName, tcsNamespace, obligatory);
262
				success &= doubleResult.getSecondResult();
263
				Element elAuthors = doubleResult.getFirstResult();
264

    
265
				if (elAuthors !=null){
266
					childName = "author";
267
					obligatory = false;
268
					doubleResult =  XmlHelp.getSingleChildElement(elAuthors, childName, tcsNamespace, obligatory);
269
					success &= doubleResult.getSecondResult();
270
					Element elAuthor = doubleResult.getFirstResult();
271
					if (elAuthor!=null) {
272
						String strCorp_name = elAuthor.getAttributeValue("corp-name");
273
						String strFirst_name = elAuthor.getAttributeValue("first-name");
274
						String strInitials = elAuthor.getAttributeValue("initials");
275
						String strLast_name = elAuthor.getAttributeValue("last-name");
276
						String strMiddle_initial = elAuthor.getAttributeValue("middle-initial");
277
						String strRole = elAuthor.getAttributeValue("role");
278
						String strSalutation = elAuthor.getAttributeValue("salutation");
279
						String strSuffix = elAuthor.getAttributeValue("suffix");
280
						String strTitle = elAuthor.getAttributeValue("title");
281

    
282
						childName = "style";
283
						obligatory = false;
284
						doubleResult =  XmlHelp.getSingleChildElement(elAuthor, childName, tcsNamespace, obligatory);
285
						success &= doubleResult.getSecondResult();
286
						Element elStyle = doubleResult.getFirstResult();
287

    
288
						if (elStyle != null) {
289
							String strColor = elStyle.getAttributeValue("color");
290
							String strFace = elStyle.getAttributeValue("face");
291
							String strFont = elStyle.getAttributeValue("font");
292
							String strSize = elStyle.getAttributeValue("size");
293
							String author_style =  elStyle.getTextNormalize();
294

    
295
							reference.setAuthorship(authorship);
296
						    authorship.setNomenclaturalTitle(author_style);
297
					}
298
				}
299
			}
300
				logger.info("start make secondary-authors ...");
301
				childName = "secondary-authors";
302
				obligatory = false;
303
				doubleResult =  XmlHelp.getSingleChildElement(elContributors, childName, tcsNamespace, obligatory);
304
				success &= doubleResult.getSecondResult();
305
				Element elSecondary_Authors = doubleResult.getFirstResult();
306
				if (elSecondary_Authors != null) {
307
					childName = "author";
308
					obligatory = false;
309
					doubleResult =  XmlHelp.getSingleChildElement(elSecondary_Authors, childName, tcsNamespace, obligatory);
310
					success &= doubleResult.getSecondResult();
311
					Element elSecondary_Author = doubleResult.getFirstResult();
312
					if (elSecondary_Author != null) {
313
						String strsecondaryCorp_name = elSecondary_Author.getAttributeValue("corp-name");
314
						String strsecondaryFirst_name = elSecondary_Author.getAttributeValue("first-name");
315
						String strsecondaryInitials = elSecondary_Author.getAttributeValue("initials");
316
						String strsecondaryLast_name = elSecondary_Author.getAttributeValue("last-name");
317
						String strsecondaryMiddle_initial = elSecondary_Author.getAttributeValue("middle-initial");
318
						String strsecondaryRole = elSecondary_Author.getAttributeValue("role");
319
						String strsecondarySalutation = elSecondary_Author.getAttributeValue("salutation");
320
						String strsecondarySuffix = elSecondary_Author.getAttributeValue("suffix");
321
						String strsecondaryTitle = elSecondary_Author.getAttributeValue("title");
322

    
323
						childName = "style";
324
						obligatory = false;
325
						doubleResult =  XmlHelp.getSingleChildElement(elSecondary_Author, childName, tcsNamespace, obligatory);
326
						success &= doubleResult.getSecondResult();
327
						Element elStyle_secondary = doubleResult.getFirstResult();
328
						if (elStyle_secondary!= null) {
329
							String strColor_secondary = elStyle_secondary.getAttributeValue("color");
330
							String strFace_secondary = elStyle_secondary.getAttributeValue("face");
331
							String strFont_secondary = elStyle_secondary.getAttributeValue("font");
332
							String strSize_secondary = elStyle_secondary.getAttributeValue("size");
333
							String  secondary_author=  elStyle_secondary.getTextNormalize();
334

    
335
							reference.setAuthorship(authorship);
336
							authorship.setTitleCache(secondary_author, true);
337
						}
338
					}
339
				}
340
				/** It was not used in this Implementation
341
				logger.info("start make tertiary-authors ...");
342
				childName = "tertiary-authors";
343
				obligatory = false;
344
				doubleResult =  XmlHelp.getSingleChildElement(elContributors, childName, tcsNamespace, obligatory);
345
				success &= doubleResult.getSecondResult();
346
				Element elTertiary_Authors = doubleResult.getFirstResult();
347
				if (elTertiary_Authors != null) {
348

    
349
					childName = "author";
350
					obligatory = false;
351
					doubleResult =  XmlHelp.getSingleChildElement(elTertiary_Authors, childName, tcsNamespace, obligatory);
352
					success &= doubleResult.getSecondResult();
353
					Element elTertiary_Author = doubleResult.getFirstResult();
354
					if (elTertiary_Author != null) {
355
						String strtertiaryCorp_name = elTertiary_Author.getAttributeValue("corp-name");
356
						String strtertiaryFirst_name = elTertiary_Author.getAttributeValue("first-name");
357
						String strtertiaryInitials = elTertiary_Author.getAttributeValue("initials");
358
						String strtertiaryLast_name = elTertiary_Author.getAttributeValue("last-name");
359
						String strtertiaryMiddle_initial = elTertiary_Author.getAttributeValue("middle-initial");
360
						String strtertiaryRole = elTertiary_Author.getAttributeValue("role");
361
						String strtertiarySalutation = elTertiary_Author.getAttributeValue("salutation");
362
						String strtertiarySuffix = elTertiary_Author.getAttributeValue("suffix");
363
						String strtertiaryTitle = elTertiary_Author.getAttributeValue("title");
364

    
365
						childName = "style";
366
						obligatory = false;
367
						doubleResult =  XmlHelp.getSingleChildElement(elTertiary_Author, childName, tcsNamespace, obligatory);
368
						success &= doubleResult.getSecondResult();
369
						Element elStyle_tertiary = doubleResult.getFirstResult();
370
						if (elStyle_tertiary != null) {
371
							String strColor_tertiary = elStyle_tertiary.getAttributeValue("color");
372
							String strFace_tertiary = elStyle_tertiary.getAttributeValue("face");
373
							String strFont_tertiary = elStyle_tertiary.getAttributeValue("font");
374
							String strSize_tertiary = elStyle_tertiary.getAttributeValue("size");
375
						}
376
					}
377
				}
378
				logger.info("start make subsidiary-authors ...");
379
				childName = "subsidiary-authors";
380
				obligatory = false;
381
				doubleResult =  XmlHelp.getSingleChildElement(elContributors, childName, tcsNamespace, obligatory);
382
				success &= doubleResult.getSecondResult();
383
				Element elSubsidiary_Authors = doubleResult.getFirstResult();
384
				if (elSubsidiary_Authors != null) {
385
					childName = "author";
386
					obligatory = false;
387
					doubleResult =  XmlHelp.getSingleChildElement(elSubsidiary_Authors, childName, tcsNamespace, obligatory);
388
					success &= doubleResult.getSecondResult();
389
					Element elSubsidiary_Author = doubleResult.getFirstResult();
390
					if (elSubsidiary_Author !=null){
391
						String strSubsidiaryCorp_name = elSubsidiary_Author.getAttributeValue("corp-name");
392
						String strSubsidiaryFirst_name = elSubsidiary_Author.getAttributeValue("first-name");
393
						String strSubsidiaryInitials = elSubsidiary_Author.getAttributeValue("initials");
394
						String strSubsidiaryLast_name = elSubsidiary_Author.getAttributeValue("last-name");
395
						String strSubsidiaryMiddle_initial = elSubsidiary_Author.getAttributeValue("middle-initial");
396
						String strSubsidiaryRole = elSubsidiary_Author.getAttributeValue("role");
397
						String strSubsidiarySalutation = elSubsidiary_Author.getAttributeValue("salutation");
398
						String strSubsidiarySuffix = elSubsidiary_Author.getAttributeValue("suffix");
399
						String strSubsidiaryTitle = elSubsidiary_Author.getAttributeValue("title");
400

    
401
						childName = "style";
402
						obligatory = false;
403
						doubleResult =  XmlHelp.getSingleChildElement(elSubsidiary_Author, childName, tcsNamespace, obligatory);
404
						success &= doubleResult.getSecondResult();
405
						Element elStyle_Subsidiary = doubleResult.getFirstResult();
406
						if (elStyle_Subsidiary != null) {
407
							String strColor_Subsidiary = elStyle_Subsidiary.getAttributeValue("color");
408
							String strFace_Subsidiary = elStyle_Subsidiary.getAttributeValue("face");
409
							String strFont_Subsidiary = elStyle_Subsidiary.getAttributeValue("font");
410
							String strSize_Subsidiary = elStyle_Subsidiary.getAttributeValue("size");
411
						}
412
					}
413
				}
414
				logger.info("start make translated-authors ...");
415
				childName = "translated-authors";
416
				obligatory = false;
417
				doubleResult =  XmlHelp.getSingleChildElement(elContributors, childName, tcsNamespace, obligatory);
418
				success &= doubleResult.getSecondResult();
419
				Element elTranslated_Authors = doubleResult.getFirstResult();
420
				if (elTranslated_Authors != null) {
421
					childName = "author";
422
					obligatory = false;
423
					doubleResult =  XmlHelp.getSingleChildElement(elTranslated_Authors, childName, tcsNamespace, obligatory);
424
					success &= doubleResult.getSecondResult();
425
					Element elTranslated_Author = doubleResult.getFirstResult();
426
					if (elTranslated_Author !=null){
427
						String strTranslatedCorp_name = elTranslated_Author.getAttributeValue("corp-name");
428
						String strTranslatedFirst_name = elTranslated_Author.getAttributeValue("first-name");
429
						String strTranslatedInitials = elTranslated_Author.getAttributeValue("initials");
430
						String strTranslatedLast_name = elTranslated_Author.getAttributeValue("last-name");
431
						String strTranslatedMiddle_initial = elTranslated_Author.getAttributeValue("middle-initial");
432
						String strTranslatedRole = elTranslated_Author.getAttributeValue("role");
433
						String strTranslatedSalutation = elTranslated_Author.getAttributeValue("salutation");
434
						String strTranslatedSuffix = elTranslated_Author.getAttributeValue("suffix");
435
						String strTranslatedTitle = elTranslated_Author.getAttributeValue("title");
436

    
437
						childName = "style";
438
						obligatory = false;
439
						doubleResult =  XmlHelp.getSingleChildElement(elTranslated_Author, childName, tcsNamespace, obligatory);
440
						success &= doubleResult.getSecondResult();
441
						Element elStyle_Translated = doubleResult.getFirstResult();
442
						if (elStyle_Translated!= null) {
443
							String strColor_Translated = elStyle_Translated.getAttributeValue("color");
444
							String strFace_Translated = elStyle_Translated.getAttributeValue("face");
445
							String strFont_Translated = elStyle_Translated.getAttributeValue("font");
446
							String strSize_Translated = elStyle_Translated.getAttributeValue("size");
447
						}
448
					}
449
				}
450
				*/
451
			}
452

    
453
			logger.info("start make auth-address ...");
454
			childName = "auth-address";
455
			obligatory = false;
456
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
457
			success &= doubleResult.getSecondResult();
458
			Element elAuth_address = doubleResult.getFirstResult();
459

    
460
			if (elAuth_address != null){
461

    
462
				childName = "style";
463
				obligatory = false;
464
				doubleResult =  XmlHelp.getSingleChildElement(elAuth_address, childName, tcsNamespace, obligatory);
465
				success &= doubleResult.getSecondResult();
466
				Element elStyle_address = doubleResult.getFirstResult();
467
				String strColor_address = elStyle_address.getAttributeValue("color");
468
				String strFace_address = elStyle_address.getAttributeValue("face");
469
				String strFont_address = elStyle_address.getAttributeValue("font");
470
				String strSize_address = elStyle_address.getAttributeValue("size");
471
				String address_style = elStyle_address.getTextNormalize();
472

    
473
				Contact contact =  new Contact();
474
				Address address = Address.NewInstance();
475
				reference.setAuthorship(authorship);
476
				authorship.setContact(contact);
477
				contact.addAddress(address);
478
				address.setLocality(address_style);
479
			}
480

    
481

    
482
			logger.info("start make auth-affilation ...");
483
			childName = "auth-affiliaton";
484
			obligatory = false;
485
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
486
			success &= doubleResult.getSecondResult();
487
			Element elAuth_affilation = doubleResult.getFirstResult();
488
			if (elAuth_affilation != null) {
489

    
490
				childName = "style";
491
				obligatory = false;
492
				doubleResult =  XmlHelp.getSingleChildElement(elAuth_affilation, childName, tcsNamespace, obligatory);
493
				success &= doubleResult.getSecondResult();
494
				Element elStyle_affilation = doubleResult.getFirstResult();
495
				String strColor_affilation = elStyle_affilation.getAttributeValue("color");
496
				String strFace_affilation = elStyle_affilation.getAttributeValue("face");
497
				String strFont_affilation = elStyle_affilation.getAttributeValue("font");
498
				String strSize_affilation = elStyle_affilation.getAttributeValue("size");
499

    
500
				String affilation = elStyle_affilation.getTextNormalize();
501
				reference.addExtension(affilation, ExtensionType.AREA_OF_INTREREST());
502
			}
503

    
504
			logger.info("start make titles ...");
505
			childName = "titles";
506
			obligatory = false;
507
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
508
			success &= doubleResult.getSecondResult();
509
			Element elTitles = doubleResult.getFirstResult();
510
			if (elTitles != null) {
511

    
512
				childName = "title";
513
				obligatory = false;
514
				doubleResult =  XmlHelp.getSingleChildElement(elTitles, childName, tcsNamespace, obligatory);
515
				success &= doubleResult.getSecondResult();
516
				Element elTitle = doubleResult.getFirstResult();
517
				if (elTitle != null) {
518

    
519
					childName = "style";
520
					obligatory = false;
521
					doubleResult =  XmlHelp.getSingleChildElement(elTitle, childName, tcsNamespace, obligatory);
522
					List<Element> elList = XmlHelp.getMultipleChildElement(elTitle, childName, tcsNamespace, obligatory);
523
					StringBuilder title_new = new StringBuilder();
524
					for (int a = 0; a < elList.size(); a++){
525
						doubleResult.setFirstResult(elList.get(a));
526
						doubleResult.setSecondResult(true);
527
						success &= doubleResult.getSecondResult();
528

    
529
						Element elStyle_Title = doubleResult.getFirstResult();
530
						String title = elStyle_Title.getText();
531
						title_new.append(title+" ");
532

    
533
						if (elStyle_Title != null) {
534

    
535
							String strColor_Title = elStyle_Title.getAttributeValue("color");
536
							String strFace_Title = elStyle_Title.getAttributeValue("face");
537
							String strFont_Title = elStyle_Title.getAttributeValue("font");
538
							String strSize_Title = elStyle_Title.getAttributeValue("size");
539
							String strName_reftype = elRef_type.getAttributeValue("name");
540
							title_new.toString();
541

    
542
							if (strName_reftype.equals("Article")) {
543
								map_article.put(title_new.toString(), article);
544
								Reference give_article = map_article.get(title_new.toString());
545
								give_article.setTitle(title_new.toString());
546
								reference=give_article;
547
							}else if (strName_reftype.equals("Book")) {
548
								map_book.put(title_new.toString(), book);
549
								Reference give_book = map_book.get(title_new.toString());
550
								give_book.setTitle(title_new.toString());
551
								reference=give_book;
552
							}else if (strName_reftype.equals("Book Section")){
553
								map_book_section.put(title_new.toString(), bookSection);
554
								Reference give_book_section = map_book_section.get(title_new.toString());
555
								give_book_section.setTitle(title_new.toString());
556
								reference=give_book_section;
557
							}else if (strName_reftype.equalsIgnoreCase("Patent")) {
558
								map_patent.put(title_new.toString(), patent);
559
								Reference give_patent = map_patent.get(title_new.toString());
560
								give_patent.setTitle(title_new.toString());
561
								reference=give_patent;
562
							}else if (strName_reftype.equalsIgnoreCase("Personal Communication")){
563
								personalCommunication.setTitle(title_new.toString());
564
								reference=personalCommunication;
565
							}else if (strName_reftype.equalsIgnoreCase("Journal")) {
566
								map_journal.put(title_new.toString(), journal);
567
								Reference give_journal = map_journal.get(title_new.toString());
568
								give_journal.setTitle(title_new.toString());
569
								reference=give_journal;
570
							}else if (strName_reftype.equalsIgnoreCase("CdDvd")) {
571
								map_cdDvd.put(title_new.toString(), cdDvd);
572
								Reference give_cdDvd = map_cdDvd.get(title_new.toString());
573
								give_cdDvd.setTitle(title_new.toString());
574
								reference=give_cdDvd;
575
							}else if (strName_reftype.equalsIgnoreCase("Database")) {
576
								map_database.put(title_new.toString(), database);
577
								Reference give_database = map_database.get(title_new.toString());
578
								give_database.setTitle(title_new.toString());
579
								reference=give_database;
580
							}else if (strName_reftype.equalsIgnoreCase("WebPage")) {
581
								map_webPage.put(title_new.toString(), webPage);
582
								Reference give_webPage = map_webPage.get(title_new.toString());
583
								give_webPage.setTitle(title_new.toString());
584
								reference=give_webPage;
585
							}else if (strName_reftype.equalsIgnoreCase("Report")) {
586
								map_report.put(title_new.toString(), report);
587
								Reference give_report = map_report.get(title_new.toString());
588
								give_report.setTitle(title_new.toString());
589
								reference=give_report;
590
							}else if (strName_reftype.equalsIgnoreCase("Thesis")) {
591
								map_thesis.put(title_new.toString(), thesis);
592
								Reference give_thesis = map_thesis.get(title_new.toString());
593
								give_thesis.setTitle(title_new.toString());
594
								reference=give_thesis;
595
							}else if (strName_reftype.equalsIgnoreCase("Print Series")){
596
								map_printSeries.put(title_new.toString(), printSeries);
597
								Reference give_printSeries = map_printSeries.get(title_new.toString());
598
								give_printSeries.setTitle(title_new.toString());
599
							}else if (strName_reftype.equals("Journal Article")){
600
								map_article.put(title_new.toString(), article);
601
								Reference give_article = map_article.get(title_new.toString());
602
								give_article.setTitle(title_new.toString());
603
								reference=give_article;
604
							}else if (strName_reftype.equalsIgnoreCase("Conference Proceedings")){
605
								map_proceedings.put(title_new.toString(), proceedings);
606
								Reference give_proceedings = map_proceedings.get(title_new.toString());
607
								give_proceedings.setTitle(title_new.toString());
608
								reference=give_proceedings;
609
							}else {
610
								logger.warn("The type was not found...");
611
								map_generic.put(title_new.toString(), generic);
612
								Reference give_generic = map_generic.get(title_new.toString());
613
								give_generic.setTitle(title_new.toString());
614
								reference=give_generic;
615
								success = false;
616
							}
617
						}
618
					}
619
				}
620

    
621
				childName = "secondary-title";
622
				obligatory = false;
623
				doubleResult =  XmlHelp.getSingleChildElement(elTitles, childName, tcsNamespace, obligatory);
624
				success &= doubleResult.getSecondResult();
625
				Element elSecondary_title = doubleResult.getFirstResult();
626
				if (elSecondary_title!=null) {
627
					childName = "style";
628
					obligatory = false;
629
					doubleResult =  XmlHelp.getSingleChildElement(elSecondary_title, childName, tcsNamespace, obligatory);
630
					success &= doubleResult.getSecondResult();
631
					Element elStyle_Secondary_title = doubleResult.getFirstResult();
632
					if (elStyle_Secondary_title != null) {
633
						String strColor_Secondary_title = elStyle_Secondary_title.getAttributeValue("color");
634
						String strFace_Secondary_title = elStyle_Secondary_title.getAttributeValue("face");
635
						String strFont_Secondary_title = elStyle_Secondary_title.getAttributeValue("font");
636
						String strSize_Secondary_title = elStyle_Secondary_title.getAttributeValue("size");
637
						String strName_reftype = elRef_type.getAttributeValue("name");
638
						String secondary_title = elStyle_Secondary_title.getTextNormalize();
639

    
640
						if (strName_reftype.equals("Book Section")){
641
				    		if (secondary_title != null) {
642
				    			Reference give_book =map_book.get(secondary_title);
643
				    			if (give_book!= null) {
644
				    				bookSection.setInBook(give_book);
645
				    				give_book.setTitle(secondary_title);
646
				    			} else {
647
				    				bookSection.setInBook(book);
648
				    				map_book.put(secondary_title, book);
649
				    				book.setTitle(secondary_title);
650
				    			}
651
				    			reference=bookSection;
652
				    		}
653
				    	}else {
654
							logger.warn("The type was not found...");
655
							map_generic.put(secondary_title, generic);
656
							Reference give_generic = map_generic.get(secondary_title);
657
							give_generic.setTitle(secondary_title);
658
							reference=give_generic;
659
							success = false;
660
						}
661
					}
662
				}
663

    
664
				/** It was not used in this Implementation
665
				childName = "tertiary-title";
666
				obligatory = false;
667
				doubleResult =  XmlHelp.getSingleChildElement(elTitles, childName, tcsNamespace, obligatory);
668
				success &= doubleResult.getSecondResult();
669
				Element elTertiary_title = doubleResult.getFirstResult();
670
				if (elTertiary_title != null){
671
					childName = "style";
672
					obligatory = false;
673
					doubleResult =  XmlHelp.getSingleChildElement(elTertiary_title, childName, tcsNamespace, obligatory);
674
					success &= doubleResult.getSecondResult();
675
					Element elStyle_Tertiary_title = doubleResult.getFirstResult();
676
					if (elStyle_Tertiary_title != null) {
677
						String strColor_Tertiary_title = elStyle_Tertiary_title.getAttributeValue("color");
678
						String strFace_Tertiary_title = elStyle_Tertiary_title.getAttributeValue("face");
679
						String strFont_Tertiary_title = elStyle_Tertiary_title.getAttributeValue("font");
680
						String strSize_Tertiary_title = elStyle_Tertiary_title.getAttributeValue("size");
681
					}
682
				}
683
				childName = "alt-title";
684
				obligatory = false;
685
				doubleResult =  XmlHelp.getSingleChildElement(elTitles, childName, tcsNamespace, obligatory);
686
				success &= doubleResult.getSecondResult();
687
				Element elAlt_title = doubleResult.getFirstResult();
688
				if (elAlt_title != null) {
689
					childName = "style";
690
					obligatory = false;
691
					doubleResult =  XmlHelp.getSingleChildElement(elAlt_title, childName, tcsNamespace, obligatory);
692
					success &= doubleResult.getSecondResult();
693
					Element elStyle_Alt_title = doubleResult.getFirstResult();
694
					if (elStyle_Alt_title != null) {
695
						String strColor_Alt_title = elStyle_Alt_title.getAttributeValue("color");
696
						String strFace_Alt_title = elStyle_Alt_title.getAttributeValue("face");
697
						String strFont_Alt_title = elStyle_Alt_title.getAttributeValue("font");
698
						String strSize_Alt_title = elStyle_Alt_title.getAttributeValue("size");
699
					}
700
				}
701
				childName = "short-title";
702
				obligatory = false;
703
				doubleResult =  XmlHelp.getSingleChildElement(elTitles, childName, tcsNamespace, obligatory);
704
				success &= doubleResult.getSecondResult();
705
				Element elShort_title = doubleResult.getFirstResult();
706
				if (elShort_title != null) {
707

    
708
					childName = "style";
709
					obligatory = false;
710
					doubleResult =  XmlHelp.getSingleChildElement(elShort_title, childName, tcsNamespace, obligatory);
711
					success &= doubleResult.getSecondResult();
712
					Element elStyle_Short_title = doubleResult.getFirstResult();
713
					if (elStyle_Short_title != null) {
714
						String strColor_Short_title = elStyle_Short_title.getAttributeValue("color");
715
						String strFace_Short_title = elStyle_Short_title.getAttributeValue("face");
716
						String strFont_Short_title = elStyle_Short_title.getAttributeValue("font");
717
						String strSize_Short_title = elStyle_Short_title.getAttributeValue("size");
718
					}
719
				}
720

    
721
				childName = "translated-title";
722
				obligatory = false;
723
				doubleResult =  XmlHelp.getSingleChildElement(elTitles, childName, tcsNamespace, obligatory);
724
				success &= doubleResult.getSecondResult();
725
				Element elTranslated_title = doubleResult.getFirstResult();
726
				if (elTranslated_title != null) {
727

    
728
					childName = "style";
729
					obligatory = false;
730
					doubleResult =  XmlHelp.getSingleChildElement(elTranslated_title, childName, tcsNamespace, obligatory);
731
					success &= doubleResult.getSecondResult();
732
					Element elStyle_Translated_title = doubleResult.getFirstResult();
733
					if (elStyle_Translated_title != null) {
734
						String strColor_Translated_title = elStyle_Translated_title.getAttributeValue("color");
735
						String strFace_Translated_title = elStyle_Translated_title.getAttributeValue("face");
736
						String strFont_Translated_title = elStyle_Translated_title.getAttributeValue("font");
737
						String strSize_Translated_title = elStyle_Translated_title.getAttributeValue("size");
738
					}
739
				}
740
			*/
741
			}
742

    
743
			logger.info("start make periodical ...");
744
			childName = "periodical";
745
			obligatory = false;
746
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
747
			success &= doubleResult.getSecondResult();
748
			Element elPeriodical = doubleResult.getFirstResult();
749
			if (elPeriodical != null) {
750

    
751
				childName = "full-title";
752
				obligatory = false;
753
				doubleResult =  XmlHelp.getSingleChildElement(elPeriodical, childName, tcsNamespace, obligatory);
754
				success &= doubleResult.getSecondResult();
755
				Element elFull_title = doubleResult.getFirstResult();
756
			    if (elFull_title != null) {
757

    
758
			    	childName = "style";
759
			    	obligatory = false;
760
			    	doubleResult =  XmlHelp.getSingleChildElement(elFull_title, childName, tcsNamespace, obligatory);
761
			    	success &= doubleResult.getSecondResult();
762
			    	Element elStyle_Full_title = doubleResult.getFirstResult();
763
			    	String strColor_Full_title = elStyle_Full_title.getAttributeValue("color");
764
			    	String strFace_Full_title = elStyle_Full_title.getAttributeValue("face");
765
			    	String strFont_Full_title = elStyle_Full_title.getAttributeValue("font");
766
			    	String strSize_Full_title = elStyle_Full_title.getAttributeValue("size");
767

    
768
			    	String strName_reftype = elRef_type.getAttributeValue("name");
769
			    	String periodical = elStyle_Full_title.getTextNormalize();
770

    
771
			    	if (strName_reftype.equals("Journal Article")){
772

    
773
			    		if (periodical != null) {
774
			    			Reference give_journal = map_journal.get(periodical);
775
							if (give_journal!= null) {
776
								article.setInJournal(give_journal);
777
								give_journal.setTitle(periodical);
778
							} else {
779
								article.setInJournal(journal);
780
								map_journal.put(periodical, journal);
781
								journal.setTitle(periodical);
782
							}
783
							reference=article;
784
			    		}
785
			    	} else {
786
						logger.warn("The type was not found...");
787
						success = false;
788
					}
789
			    }
790

    
791
			    /** It was not used in this Implementation
792
			    childName = "abbr-1";
793
			    obligatory = false;
794
			    doubleResult =  XmlHelp.getSingleChildElement(elPeriodical, childName, tcsNamespace, obligatory);
795
			    success &= doubleResult.getSecondResult();
796
			    Element elAbbr_1 = doubleResult.getFirstResult();
797
			    if (elAbbr_1 != null) {
798

    
799
			    	childName = "style";
800
			    	obligatory = false;
801
			    	doubleResult =  XmlHelp.getSingleChildElement(elAbbr_1, childName, tcsNamespace, obligatory);
802
			    	success &= doubleResult.getSecondResult();
803
			    	Element elStyle_Abbr_1 = doubleResult.getFirstResult();
804
			    	String strColor_Abbr_1 = elStyle_Abbr_1.getAttributeValue("color");
805
			    	String strFace_Abbr_1 = elStyle_Abbr_1.getAttributeValue("face");
806
			    	String strFont_Abbr_1 = elStyle_Abbr_1.getAttributeValue("font");
807
			    	String strSize_Abbr_1 = elStyle_Abbr_1.getAttributeValue("size");
808
			    }
809

    
810
			    childName = "abbr-2";
811
			    obligatory = false;
812
			    doubleResult =  XmlHelp.getSingleChildElement(elPeriodical, childName, tcsNamespace, obligatory);
813
			    success &= doubleResult.getSecondResult();
814
			    Element elAbbr_2 = doubleResult.getFirstResult();
815
			    if (elAbbr_2 != null) {
816

    
817
			    	childName = "style";
818
			    	obligatory = false;
819
			    	doubleResult =  XmlHelp.getSingleChildElement(elAbbr_2, childName, tcsNamespace, obligatory);
820
			    	success &= doubleResult.getSecondResult();
821
			    	Element elStyle_Abbr_2 = doubleResult.getFirstResult();
822
			    	String strColor_Abbr_2 = elStyle_Abbr_2.getAttributeValue("color");
823
			    	String strFace_Abbr_2 = elStyle_Abbr_2.getAttributeValue("face");
824
			    	String strFont_Abbr_2 = elStyle_Abbr_2.getAttributeValue("font");
825
			    	String strSize_Abbr_2 = elStyle_Abbr_2.getAttributeValue("size");
826
			    }
827

    
828
			    childName = "abbr_3";
829
			    obligatory = false;
830
			    doubleResult =  XmlHelp.getSingleChildElement(elPeriodical, childName, tcsNamespace, obligatory);
831
			    success &= doubleResult.getSecondResult();
832
			    Element elAbbr_3 = doubleResult.getFirstResult();
833
			    if (elAbbr_3 != null) {
834

    
835
			    	childName = "style";
836
			    	obligatory = false;
837
			    	doubleResult =  XmlHelp.getSingleChildElement(elAbbr_3, childName, tcsNamespace, obligatory);
838
			    	success &= doubleResult.getSecondResult();
839
			    	Element elStyle_Abbr_3 = doubleResult.getFirstResult();
840
			    	String strColor_Abbr_3 = elStyle_Abbr_3.getAttributeValue("color");
841
			    	String strFace_Abbr_3 = elStyle_Abbr_3.getAttributeValue("face");
842
			    	String strFont_Abbr_3 = elStyle_Abbr_3.getAttributeValue("font");
843
			    	String strSize_Abbr_3 = elStyle_Abbr_3.getAttributeValue("size");
844
			    }
845
			*/
846
			}
847

    
848
			logger.info("start make pages ...");
849
			childName = "pages";
850
			obligatory = false;
851
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
852
			success &= doubleResult.getSecondResult();
853
			Element elPages = doubleResult.getFirstResult();
854
			if (elPages != null) {
855
				String strEnd = elPages.getAttributeValue("end");
856
				String strStart = elPages.getAttributeValue("start");
857

    
858
				childName = "style";
859
				obligatory = false;
860
				doubleResult =  XmlHelp.getSingleChildElement(elPages, childName, tcsNamespace, obligatory);
861
				success &= doubleResult.getSecondResult();
862
				Element elStyle_Pages = doubleResult.getFirstResult();
863
				String strColor_Pages = elStyle_Pages.getAttributeValue("color");
864
				String strFace_Pages = elStyle_Pages.getAttributeValue("face");
865
				String strFont_Pages = elStyle_Pages.getAttributeValue("font");
866
				String strSize_Pages = elStyle_Pages.getAttributeValue("size");
867

    
868
				String strName_reftype = elRef_type.getAttributeValue("name");
869
				String page = elStyle_Pages.getTextNormalize();
870

    
871
				if (strName_reftype.equals("Journal Article")) {
872
					map_article.put(page, article);
873
					Reference give_article = map_article.get(page);
874
					give_article.setPages(page);
875
					reference = give_article;
876
				}else if (strName_reftype.equals("Article")){
877
					map_article.put(page, article);
878
					Reference give_article = map_article.get(page);
879
					give_article.setPages(page);
880
					reference = give_article;
881
				}else if (strName_reftype.equals("Book")){
882
					map_book.put(page, book);
883
					Reference give_book = map_book.get(page);
884
					give_book.setPages(page);
885
					reference=give_book;
886
				}else if (strName_reftype.equals("Book Section")){
887
					map_book_section.put(page, bookSection);
888
					Reference give_book_section = map_book_section.get(page);
889
					give_book_section.setPages(page);
890
					reference=give_book_section;
891
				}else if (strName_reftype.equalsIgnoreCase("Conference Proceedings")){
892
					map_proceedings.put(page, proceedings);
893
					Reference give_proceedings = map_proceedings.get(page);
894
					give_proceedings.setPages(page);
895
					reference=give_proceedings;
896
				} else {
897
					logger.warn("The type was not found...");
898
					map_generic.put(page, generic);
899
					Reference give_generic  = map_generic.get(page);
900
					give_generic.setPages(page);
901
					reference =give_generic;
902
					success = false;
903
				}
904
			}
905

    
906
			logger.info("start make volume ...");
907
			childName = "volume";
908
			obligatory = false;
909
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
910
			success &= doubleResult.getSecondResult();
911
			Element elVolume = doubleResult.getFirstResult();
912
			if (elVolume != null) {
913
				childName = "style";
914
				obligatory = false;
915
				doubleResult =  XmlHelp.getSingleChildElement(elVolume, childName, tcsNamespace, obligatory);
916
				success &= doubleResult.getSecondResult();
917
				Element elStyle_Volume = doubleResult.getFirstResult();
918
				String strColor_Volume = elStyle_Volume.getAttributeValue("color");
919
				String strFace_Volume = elStyle_Volume.getAttributeValue("face");
920
				String strFont_Volume = elStyle_Volume.getAttributeValue("font");
921
				String strSize_Volume = elStyle_Volume.getAttributeValue("size");
922

    
923
				String strName_reftype = elRef_type.getAttributeValue("name");
924
				String volume = elStyle_Volume.getTextNormalize();
925

    
926
				if (strName_reftype.equals("Journal Article")) {
927
					map_article.put(volume, article);
928
					Reference give_article = map_article.get(volume);
929
					give_article.setVolume(volume);
930
					reference = give_article;
931
				}else if (strName_reftype.equals("Article")){
932
					map_article.put(volume, article);
933
					Reference give_article = map_article.get(volume);
934
					give_article.setVolume(volume);
935
					reference = give_article;
936
				}else if (strName_reftype.equals("Book")){
937
					map_book.put(volume, book);
938
					Reference give_book = map_book.get(volume);
939
					give_book.setVolume(volume);
940
					reference=give_book;
941
				}else if (strName_reftype.equals("Book Section")){
942
					 if (volume != null) {
943
						 bookSection.setInBook(book);
944
						 book.setVolume(volume);
945
						 reference= bookSection;
946
					 }
947
				}else if (strName_reftype.equalsIgnoreCase("Conference Proceedings")){
948
					map_proceedings.put(volume, proceedings);
949
					Reference give_proceedings = map_proceedings.get(volume);
950
					give_proceedings.setVolume(volume);
951
					reference=give_proceedings;
952
				}else{
953
					logger.warn("The type was not found...");
954
					map_generic.put(volume, generic);
955
					Reference give_generic  = map_generic.get(volume);
956
					give_generic.setVolume(volume);
957
					reference =give_generic;
958
					success = true;
959
				}
960
			}
961

    
962
			logger.info("start make number ...");
963
			childName = "number"; // In CDM it's "Series"
964
			obligatory = false;
965
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
966
			success &= doubleResult.getSecondResult();
967
			Element elNumber = doubleResult.getFirstResult();
968
			if (elNumber != null) {
969

    
970
				childName = "style";
971
				obligatory = false;
972
				doubleResult =  XmlHelp.getSingleChildElement(elNumber, childName, tcsNamespace, obligatory);
973
				success &= doubleResult.getSecondResult();
974
				Element elStyle_Number = doubleResult.getFirstResult();
975
				String strColor_Number = elStyle_Number.getAttributeValue("color");
976
				String strFace_Number = elStyle_Number.getAttributeValue("face");
977
				String strFont_Number = elStyle_Number.getAttributeValue("font");
978
				String strSize_Number = elStyle_Number.getAttributeValue("size");
979

    
980
				String strName_reftype = elRef_type.getAttributeValue("name");
981
				String number = elStyle_Number.getTextNormalize();
982

    
983
				if (strName_reftype.equals("Journal Article")) {
984
					map_article.put(number, article);
985
					Reference give_article = map_article.get(number);
986
					give_article.setSeriesPart(number);
987
					reference = give_article;
988
				}else if (strName_reftype.equals("Article")){
989
					map_article.put(number, article);
990
					Reference give_article = map_article.get(number);
991
					give_article.setSeriesPart(number);
992
					reference = give_article;
993
				}else {
994
					logger.warn("The type was not found...");
995
					map_generic.put(number, generic);
996
					Reference give_generic  = map_generic.get(number);
997
					give_generic.setSeriesPart(number);
998
					reference =give_generic;
999
					success = false;
1000
				}
1001
			}
1002

    
1003
			/**
1004
			// NOT USE IN THE IMPLEMENTATION
1005
			childName = "issue"; // not use in CDM
1006
			obligatory = false;
1007
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1008
			success &= doubleResult.getSecondResult();
1009
			Element elIssue = doubleResult.getFirstResult();
1010
			if (elIssue != null) {
1011

    
1012
				childName = "style";
1013
				obligatory = false;
1014
				doubleResult =  XmlHelp.getSingleChildElement(elIssue, childName, tcsNamespace, obligatory);
1015
				success &= doubleResult.getSecondResult();
1016
				Element elStyle_Issue = doubleResult.getFirstResult();
1017
				String strColor_Issue = elStyle_Issue.getAttributeValue("color");
1018
				String strFace_Issue = elStyle_Issue.getAttributeValue("face");
1019
				String strFont_Issue = elStyle_Issue.getAttributeValue("font");
1020
				String strSize_Issue = elStyle_Issue.getAttributeValue("size");
1021
			}
1022

    
1023
			// LIKE NUMBER ELEMENT (the same content) use very selten
1024
			//Amount Received - the name in Endnote Programm
1025
			childName = "num-vols"; // not use in CDM
1026
			obligatory = false;
1027
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1028
			success &= doubleResult.getSecondResult();
1029
			Element elNum_vols = doubleResult.getFirstResult();
1030
			if (elNum_vols != null) {
1031
				childName = "style";
1032
				obligatory = false;
1033
				doubleResult =  XmlHelp.getSingleChildElement(elNum_vols, childName, tcsNamespace, obligatory);
1034
				success &= doubleResult.getSecondResult();
1035
				Element elStyle_Num_vols = doubleResult.getFirstResult();
1036
				String strColor_Num_vols = elStyle_Num_vols.getAttributeValue("color");
1037
				String strFace_Num_vols = elStyle_Num_vols.getAttributeValue("face");
1038
				String strFont_Num_vols = elStyle_Num_vols.getAttributeValue("font");
1039
				String strSize_Num_vols = elStyle_Num_vols.getAttributeValue("size");
1040
			}
1041
			*/
1042

    
1043
			logger.info("start make edition ...");
1044
			childName = "edition";
1045
			obligatory = false;
1046
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1047
			success &= doubleResult.getSecondResult();
1048
			Element elEdition = doubleResult.getFirstResult();
1049
			if (elEdition != null) {
1050
				childName = "style";
1051
				obligatory = false;
1052
				doubleResult =  XmlHelp.getSingleChildElement(elEdition, childName, tcsNamespace, obligatory);
1053
				success &= doubleResult.getSecondResult();
1054
				Element elStyle_Edition = doubleResult.getFirstResult();
1055
				String strColor_Edition = elStyle_Edition.getAttributeValue("color");
1056
				String strFace_Edition = elStyle_Edition.getAttributeValue("face");
1057
				String strFont_Edition = elStyle_Edition.getAttributeValue("font");
1058
				String strSize_Edition = elStyle_Edition.getAttributeValue("size");
1059

    
1060
				String strName_reftype = elRef_type.getAttributeValue("name");
1061
				String edition = elStyle_Edition.getTextNormalize();
1062

    
1063
				if (strName_reftype.equals("Book")) {
1064
					map_book.put(edition, book);
1065
					Reference give_book = map_book.get(edition);
1066
					give_book.setEdition(edition);
1067
					reference=give_book;
1068
				}else if (strName_reftype.equals("Book Section")) {
1069
					bookSection.setInBook(book);
1070
					book.setEdition(edition);
1071
					reference=bookSection;
1072
				}else {
1073
					logger.warn("The type was not found...");
1074
					success = false;
1075
				}
1076
			}
1077

    
1078
			/**It was not used in this Implementation
1079
			// LIKE NUMBER ELEMENT (the same content) use very selten
1080
			childName = "section";
1081
			obligatory = false;
1082
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1083
			success &= doubleResult.getSecondResult();
1084
			Element elSection = doubleResult.getFirstResult();
1085
			if (elSection != null) {
1086
				childName = "style";
1087
				obligatory = false;
1088
				doubleResult =  XmlHelp.getSingleChildElement(elSection, childName, tcsNamespace, obligatory);
1089
				success &= doubleResult.getSecondResult();
1090
				Element elStyle_Section = doubleResult.getFirstResult();
1091
				String strColor_Section = elStyle_Section.getAttributeValue("color");
1092
				String strFace_Section = elStyle_Section.getAttributeValue("face");
1093
				String strFont_Section = elStyle_Section.getAttributeValue("font");
1094
				String strSize_Section = elStyle_Section.getAttributeValue("size");
1095
			}
1096

    
1097
			// NOT USE IN THE IMPLEMENTATION
1098
			childName = "reprint-edition";
1099
			obligatory = false;
1100
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1101
			success &= doubleResult.getSecondResult();
1102
			Element elReprint_edition = doubleResult.getFirstResult();
1103
			if (elReprint_edition != null) {
1104

    
1105
				childName = "style";
1106
				obligatory = false;
1107
				doubleResult =  XmlHelp.getSingleChildElement(elReprint_edition, childName, tcsNamespace, obligatory);
1108
				success &= doubleResult.getSecondResult();
1109
				Element elStyle_Reprint_edition = doubleResult.getFirstResult();
1110
				String strColor_Reprint_edition = elStyle_Reprint_edition.getAttributeValue("color");
1111
				String strFace_Reprint_edition = elStyle_Reprint_edition.getAttributeValue("face");
1112
				String strFont_Reprint_edition = elStyle_Reprint_edition.getAttributeValue("font");
1113
				String strSize_Reprint_edition = elStyle_Reprint_edition.getAttributeValue("size");
1114
			}
1115

    
1116
			// use very selten keywords use multiple keyword elements
1117
			childName = "keywords";
1118
			obligatory = false;
1119
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1120
			success &= doubleResult.getSecondResult();
1121
			Element elKeywords = doubleResult.getFirstResult();
1122
			if (elKeywords != null) {
1123

    
1124
				childName = "keyword";
1125
				obligatory = false;
1126
				doubleResult =  XmlHelp.getSingleChildElement(elKeywords, childName, tcsNamespace, obligatory);
1127
				success &= doubleResult.getSecondResult();
1128
				Element elKeyword = doubleResult.getFirstResult();
1129
				if (elKeyword != null) {
1130
					childName = "style";
1131
					obligatory = false;
1132
					doubleResult =  XmlHelp.getSingleChildElement(elKeyword, childName, tcsNamespace, obligatory);
1133
					success &= doubleResult.getSecondResult();
1134
					Element elStyle_Keyword = doubleResult.getFirstResult();
1135
					String strColor_Keyword = elStyle_Keyword.getAttributeValue("color");
1136
					String strFace_Keyword = elStyle_Keyword.getAttributeValue("face");
1137
					String strFont_Keyword = elStyle_Keyword.getAttributeValue("font");
1138
					String strSize_Keyword = elStyle_Keyword.getAttributeValue("size");
1139
				}
1140
			}
1141
			*/
1142

    
1143
			childName = "dates";
1144
			obligatory = false;
1145
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1146
			success &= doubleResult.getSecondResult();
1147
			Element elDates = doubleResult.getFirstResult();
1148
			if (elDates != null) {
1149

    
1150
				childName = "year";
1151
				obligatory = false;
1152
				doubleResult =  XmlHelp.getSingleChildElement(elDates, childName, tcsNamespace, obligatory);
1153
				success &= doubleResult.getSecondResult();
1154
				Element elYear = doubleResult.getFirstResult();
1155
				if (elYear != null) {
1156
					String strDay = elYear.getAttributeValue("day");
1157
					String strJulian = elYear.getAttributeValue("julian");
1158
					String strMonth = elYear.getAttributeValue("month");
1159
					String strYear = elYear.getAttributeValue("year");
1160

    
1161
					childName = "style";
1162
					obligatory = false;
1163
					doubleResult =  XmlHelp.getSingleChildElement(elYear, childName, tcsNamespace, obligatory);
1164
					success &= doubleResult.getSecondResult();
1165
					Element elStyle_Year = doubleResult.getFirstResult();
1166
					String strColor_Year = elStyle_Year.getAttributeValue("color");
1167
					String strFace_Year = elStyle_Year.getAttributeValue("face");
1168
					String strFont_Year = elStyle_Year.getAttributeValue("font");
1169
					String strSize_Year = elStyle_Year.getAttributeValue("size");
1170

    
1171
					String year = elStyle_Year.getText();
1172
					reference.setDatePublished(ImportHelper.getDatePublished(year));
1173

    
1174
				}
1175

    
1176
				logger.info("start make pub-dates ...");
1177
				childName = "pub-dates";  //deadline - the name in Endnote Programm
1178
				obligatory = false;
1179
				doubleResult =  XmlHelp.getSingleChildElement(elDates, childName, tcsNamespace, obligatory);
1180
				success &= doubleResult.getSecondResult();
1181
				Element elPub_dates = doubleResult.getFirstResult();
1182
				if (elPub_dates != null) {
1183

    
1184
					childName = "date";
1185
					obligatory = false;
1186
					doubleResult =  XmlHelp.getSingleChildElement(elPub_dates, childName, tcsNamespace, obligatory);
1187
					success &= doubleResult.getSecondResult();
1188
					Element elDate = doubleResult.getFirstResult();
1189
					if (elDate != null){
1190

    
1191
					childName = "style";
1192
					obligatory = false;
1193
					doubleResult =  XmlHelp.getSingleChildElement(elDate, childName, tcsNamespace, obligatory);
1194
					success &= doubleResult.getSecondResult();
1195
					Element elStyle_Date = doubleResult.getFirstResult();
1196
					String strColor_Date = elStyle_Date.getAttributeValue("color");
1197
					String strFace_Date = elStyle_Date.getAttributeValue("face");
1198
					String strFont_Date = elStyle_Date.getAttributeValue("font");
1199
					String strSize_Date = elStyle_Date.getAttributeValue("size");
1200

    
1201
					String year = elStyle_Date.getText();
1202
					reference.setDatePublished(ImportHelper.getDatePublished(year));
1203
					}
1204
				}
1205
			}
1206

    
1207
			logger.info("start make pub-location ...");
1208
		 	childName = "pub-location"; // activity location - the name in Endnote Programm
1209
		 	obligatory = false;
1210
		 	doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1211
		 	success &= doubleResult.getSecondResult();
1212
		 	Element elPub_location = doubleResult.getFirstResult();
1213
		 	if (elPub_location != null) {
1214

    
1215
		 		childName = "style";
1216
		 		obligatory = false;
1217
		 		doubleResult =  XmlHelp.getSingleChildElement(elPub_location, childName, tcsNamespace, obligatory);
1218
		 		success &= doubleResult.getSecondResult();
1219
		 		Element elStyle_Pub_location = doubleResult.getFirstResult();
1220
		 		String strColor_Pub_location = elStyle_Pub_location.getAttributeValue("color");
1221
		 		String strFace_Pub_location = elStyle_Pub_location.getAttributeValue("face");
1222
		 		String strFont_Pub_location = elStyle_Pub_location.getAttributeValue("font");
1223
		 		String strSize_Pub_location = elStyle_Pub_location.getAttributeValue("size");
1224

    
1225
		 		String place = elStyle_Pub_location.getTextNormalize();
1226
		 		String strName_reftype = elRef_type.getAttributeValue("name");
1227

    
1228
				if (strName_reftype.equals("Report")) {
1229
					map_report.put(place, report);
1230
					Reference give_report = map_report.get(place);
1231
					give_report.setPlacePublished(place);
1232
					reference=give_report;
1233
				}else if (strName_reftype.equals("Book")){
1234
					map_book.put(place, book);
1235
					Reference give_book = map_book.get(place);
1236
					give_book.setPlacePublished(place);
1237
					reference=give_book;
1238
				}else if (strName_reftype.equals("Thesis")){
1239
					map_thesis.put(place, thesis);
1240
					Reference give_thesis = map_thesis.get(place);
1241
					give_thesis.setPlacePublished(place);
1242
					reference=give_thesis;
1243
				}else if (strName_reftype.equalsIgnoreCase("Conference Proceedings")){
1244
					map_proceedings.put(place, proceedings);
1245
					Reference give_proceedings = map_proceedings.get(place);
1246
					give_proceedings.setPlacePublished(place);
1247
					reference=give_proceedings;
1248
				}else if (strName_reftype.equalsIgnoreCase("Database")){
1249
					map_database.put(place, database);
1250
					Reference give_database = map_database.get(place);
1251
					give_database.setPlacePublished(place);
1252
					reference=give_database;
1253
				}else if (strName_reftype.equalsIgnoreCase("CdDvd")){
1254
					map_cdDvd.put(place, cdDvd);
1255
					Reference give_cdDvd = map_cdDvd.get(place);
1256
					give_cdDvd.setPlacePublished(place);
1257
					reference=give_cdDvd;
1258
				}else if (strName_reftype.equalsIgnoreCase("Print Series")){
1259
					map_printSeries.put(place, printSeries);
1260
					Reference give_printSeries = map_printSeries.get(place);
1261
					give_printSeries.setPlacePublished(place);
1262
					reference=give_printSeries;
1263
				}else if (strName_reftype.equalsIgnoreCase("Journal")){
1264
					map_journal.put(place, journal);
1265
					Reference give_journal = map_journal.get(place);
1266
					give_journal.setPlacePublished(place);
1267
					reference=give_journal;
1268
				} else {
1269
					logger.warn("The type was not found...");
1270
					map_generic.put(place, generic);
1271
					Reference give_generic = map_generic.get(place);
1272
					give_generic.setPlacePublished(place);
1273
					reference=give_generic;
1274
					success = false;
1275
				}
1276
		 	}
1277

    
1278
			logger.info("start make publisher ...");
1279
			childName = "publisher";
1280
			obligatory = false;
1281
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1282
			success &= doubleResult.getSecondResult();
1283
			Element elPublisher = doubleResult.getFirstResult();
1284
			if (elPublisher != null) {
1285

    
1286
				childName = "style";
1287
				obligatory = false;
1288
				doubleResult =  XmlHelp.getSingleChildElement(elPublisher, childName, tcsNamespace, obligatory);
1289
				success &= doubleResult.getSecondResult();
1290
				Element elStyle_Publisher = doubleResult.getFirstResult();
1291
				String strColor_Publisher = elStyle_Publisher.getAttributeValue("color");
1292
				String strFace_Publisher = elStyle_Publisher.getAttributeValue("face");
1293
				String strFont_Publisher = elStyle_Publisher.getAttributeValue("font");
1294
				String strSize_Publisher = elStyle_Publisher.getAttributeValue("size");
1295

    
1296
				String publisher = elStyle_Publisher.getTextNormalize();
1297
				String strName_reftype = elRef_type.getAttributeValue("name");
1298

    
1299
				if (strName_reftype.equals("Report")) {
1300
					map_report.put(publisher, report);
1301
					Reference give_report = map_report.get(publisher);
1302
					give_report.setPublisher(publisher);
1303
					reference=give_report;
1304
				}else if (strName_reftype.equals("Book")){
1305
					map_book.put(publisher, book);
1306
					Reference give_book = map_book.get(publisher);
1307
					give_book.setPublisher(publisher);
1308
					reference=give_book;
1309
				}else if (strName_reftype.equals("Book Section")){
1310
					if (publisher != null) {
1311
						bookSection.setInBook(book);
1312
						book.setPublisher(publisher);
1313
						reference= bookSection;
1314
					}
1315
				}else if (strName_reftype.equals("Thesis")){
1316
					map_thesis.put(publisher, thesis);
1317
					Reference give_thesis = map_thesis.get(publisher);
1318
					give_thesis.setPublisher(publisher);
1319
					reference=give_thesis;
1320
				}else if (strName_reftype.equalsIgnoreCase("Conference Proceedings")){
1321
					map_proceedings.put(publisher, proceedings);
1322
					Reference give_proceedings = map_proceedings.get(publisher);
1323
					give_proceedings.setPublisher(publisher);
1324
					reference=give_proceedings;
1325
				}else if (strName_reftype.equalsIgnoreCase("Database")){
1326
					map_database.put(publisher, database);
1327
					Reference give_database = map_database.get(publisher);
1328
					give_database.setPublisher(publisher);
1329
					reference=give_database;
1330
				}else if (strName_reftype.equalsIgnoreCase("CdDvd")){
1331
					map_cdDvd.put(publisher, cdDvd);
1332
					Reference give_cdDvd = map_cdDvd.get(publisher);
1333
					give_cdDvd.setPublisher(publisher);
1334
					reference=give_cdDvd;
1335
				}else if (strName_reftype.equalsIgnoreCase("Print Series")){
1336
					map_printSeries.put(publisher, printSeries);
1337
					Reference give_printSeries = map_printSeries.get(publisher);
1338
					give_printSeries.setPublisher(publisher);
1339
					reference=give_printSeries;
1340
				}else if (strName_reftype.equalsIgnoreCase("Journal")){
1341
					map_journal.put(publisher, journal);
1342
					Reference give_journal = map_journal.get(publisher);
1343
					give_journal.setPublisher(publisher);
1344
					reference=give_journal;
1345
				}else if (strName_reftype.equalsIgnoreCase("Journal Article")){
1346
					if (publisher != null) {
1347
						article.setInJournal(journal);
1348
						journal.setPublisher(publisher);
1349
						reference= article;
1350
					}
1351
				} else {
1352
					logger.warn("The type was not found...");
1353
					map_generic.put(publisher, generic);
1354
					Reference give_generic = map_generic.get(publisher);
1355
					give_generic.setPublisher(publisher);
1356
					reference=give_generic;
1357

    
1358
					success = false;
1359
				}
1360
			}
1361

    
1362
			/**
1363
			// It was not used in this Implementation
1364
			childName = "orig-pub"; // original grant number - the name in Endnote Programm
1365
			obligatory = false;
1366
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1367
			success &= doubleResult.getSecondResult();
1368
			Element elOrig_pub = doubleResult.getFirstResult();
1369
			if (elOrig_pub != null) {
1370

    
1371
				childName = "style";
1372
				obligatory = false;
1373
				doubleResult =  XmlHelp.getSingleChildElement(elOrig_pub, childName, tcsNamespace, obligatory);
1374
				success &= doubleResult.getSecondResult();
1375
				Element elStyle_Orig_pub = doubleResult.getFirstResult();
1376
				String strColor_Orig_pub = elStyle_Orig_pub.getAttributeValue("color");
1377
				String strFace_Orig_pub = elStyle_Orig_pub.getAttributeValue("face");
1378
				String strFont_Orig_pub = elStyle_Orig_pub.getAttributeValue("font");
1379
				String strSize_Orig_pub = elStyle_Orig_pub.getAttributeValue("size");
1380
			}
1381
			*/
1382

    
1383
			logger.info("start make ISBN/ISNN ...");
1384
			childName = "isbn";
1385
			obligatory = false;
1386
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1387
			success &= doubleResult.getSecondResult();
1388
			Element elIsbn = doubleResult.getFirstResult();
1389

    
1390
			if (elIsbn != null) {
1391

    
1392
				childName = "style";
1393
				obligatory = false;
1394
				doubleResult =  XmlHelp.getSingleChildElement(elIsbn, childName, tcsNamespace, obligatory);
1395
				success &= doubleResult.getSecondResult();
1396
				Element elStyle_Isbn = doubleResult.getFirstResult();
1397
				String strColor_Isbn = elStyle_Isbn.getAttributeValue("color");
1398
				String strFace_Isbn = elStyle_Isbn.getAttributeValue("face");
1399
				String strFont_Isbn = elStyle_Isbn.getAttributeValue("font");
1400
				String strSize_Isbn = elStyle_Isbn.getAttributeValue("size");
1401

    
1402
				String strName_reftype = elRef_type.getAttributeValue("name");
1403
				String page = elStyle_Isbn.getTextNormalize();
1404

    
1405
				if (strName_reftype.equals("Book")) {
1406
					map_book.put(page, book);
1407
					Reference give_book = map_book.get(page);
1408
					give_book.setIsbn(page);
1409
					reference=give_book;
1410
				}else if (strName_reftype.equals("Journal")){
1411
					map_journal.put(page, journal);
1412
					Reference give_journal = map_journal.get(page);
1413
					give_journal.setIssn(page);
1414
					reference=give_journal;
1415
				}else {
1416
					logger.warn("The type was not found...");
1417
					success = false;
1418
				}
1419
			}
1420

    
1421
			/**
1422
			// It was not used in this Implementation
1423
			childName = "accession-num";
1424
			obligatory = false;
1425
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1426
			success &= doubleResult.getSecondResult();
1427
			Element elAccession_num = doubleResult.getFirstResult();
1428
			if (elAccession_num != null) {
1429

    
1430
				childName = "style";
1431
				obligatory = false;
1432
				doubleResult =  XmlHelp.getSingleChildElement(elAccession_num, childName, tcsNamespace, obligatory);
1433
				success &= doubleResult.getSecondResult();
1434
				Element elStyle_Accession_num = doubleResult.getFirstResult();
1435
				String strColor_Accession_num = elStyle_Accession_num.getAttributeValue("color");
1436
				String strFace_Accession_num = elStyle_Accession_num.getAttributeValue("face");
1437
				String strFont_Accession_num = elStyle_Accession_num.getAttributeValue("font");
1438
				String strSize_Accession_num = elStyle_Accession_num.getAttributeValue("size");
1439
			}
1440

    
1441
			// It was not used in this Implementation
1442
			childName = "call-num";
1443
			obligatory = false;
1444
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1445
			success &= doubleResult.getSecondResult();
1446
			Element elCall_num = doubleResult.getFirstResult();
1447
			if (elCall_num != null) {
1448

    
1449
				childName = "style";
1450
				obligatory = false;
1451
				doubleResult =  XmlHelp.getSingleChildElement(elCall_num, childName, tcsNamespace, obligatory);
1452
				success &= doubleResult.getSecondResult();
1453
				Element elStyle_Call_num = doubleResult.getFirstResult();
1454
				String strColor_Call_num = elStyle_Call_num.getAttributeValue("color");
1455
				String strFace_Call_num = elStyle_Call_num.getAttributeValue("face");
1456
				String strFont_Call_num = elStyle_Call_num.getAttributeValue("font");
1457
				String strSize_Call_num = elStyle_Call_num.getAttributeValue("size");
1458
			}
1459
			*/
1460

    
1461
			logger.info("start make electronic-resource-num ...");
1462
			childName = "electronic-resource-num";  //DOI - the name in Endnote Programm
1463
			obligatory = false;
1464
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1465
			success &= doubleResult.getSecondResult();
1466
			Element elElectronic_resource_num = doubleResult.getFirstResult();
1467
			if (elElectronic_resource_num != null) {
1468

    
1469
				childName = "style";
1470
				obligatory = false;
1471
				doubleResult =  XmlHelp.getSingleChildElement(elElectronic_resource_num, childName, tcsNamespace, obligatory);
1472
				success &= doubleResult.getSecondResult();
1473
				Element elStyle_Electronic_resource_num = doubleResult.getFirstResult();
1474
				String strColor_Electronic_resource_num = elStyle_Electronic_resource_num.getAttributeValue("color");
1475
				String strFace_Electronic_resource_num = elStyle_Electronic_resource_num.getAttributeValue("face");
1476
				String strFont_Electronic_resource_num = elStyle_Electronic_resource_num.getAttributeValue("font");
1477
				String strSize_Electronic_resource_num = elStyle_Electronic_resource_num.getAttributeValue("size");
1478

    
1479
				String dOI = elStyle_Electronic_resource_num.getTextNormalize();
1480
				reference.addExtension(dOI, ExtensionType.DOI());
1481
			}
1482

    
1483
			logger.info("start make abstract ...");
1484
			childName = "abstract";
1485
			obligatory = false;
1486
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1487
			success &= doubleResult.getSecondResult();
1488
			Element elAbstract = doubleResult.getFirstResult();
1489
			if (elAbstract != null) {
1490

    
1491
				childName = "style";
1492
				obligatory = false;
1493
				doubleResult =  XmlHelp.getSingleChildElement(elAbstract, childName, tcsNamespace, obligatory);
1494
				success &= doubleResult.getSecondResult();
1495
				Element elStyle_Abstract = doubleResult.getFirstResult();
1496
				String strColor_Abstract = elStyle_Abstract.getAttributeValue("color");
1497
				String strFace_Abstract = elStyle_Abstract.getAttributeValue("face");
1498
				String strFont_Abstract = elStyle_Abstract.getAttributeValue("font");
1499
				String strSize_Abstract = elStyle_Abstract.getAttributeValue("size");
1500

    
1501
				String annote = elStyle_Abstract.getTextNormalize();
1502
				Annotation annotation = Annotation.NewInstance(annote, Language.DEFAULT());
1503
				if (annote!= null) {
1504
					reference.addAnnotation(annotation);
1505
				}
1506
				else {
1507
					logger.warn("The type was not found...");
1508
					success = false;
1509
				}
1510
			}
1511

    
1512
			/**
1513
			// It was not used in this Implementation
1514
			childName = "label";
1515
			obligatory = false;
1516
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1517
			success &= doubleResult.getSecondResult();
1518
			Element elLabel = doubleResult.getFirstResult();
1519
			if (elLabel != null) {
1520

    
1521
				childName = "style";
1522
				obligatory = false;
1523
				doubleResult =  XmlHelp.getSingleChildElement(elLabel, childName, tcsNamespace, obligatory);
1524
				success &= doubleResult.getSecondResult();
1525
				Element elStyle_Label = doubleResult.getFirstResult();
1526
				String strColor_Label = elStyle_Label.getAttributeValue("color");
1527
				String strFace_Label = elStyle_Label.getAttributeValue("face");
1528
				String strFont_Label = elStyle_Label.getAttributeValue("font");
1529
				String strSize_Label = elStyle_Label.getAttributeValue("size");
1530
			}
1531

    
1532

    
1533
			// It was not used in this Implementation
1534
	     	logger.info("start make image ...");
1535
			childName = "image"; //Figure - the name in Endnote Programm
1536
			obligatory = false;
1537
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1538
			success &= doubleResult.getSecondResult();
1539
			Element elImage = doubleResult.getFirstResult();
1540

    
1541
			Media media = Media.NewInstance();
1542
			if (elImage != null){
1543
				String strFile = elImage.getAttributeValue("file");
1544
				String strImage_name = elImage.getAttributeValue("name");
1545
				reference.getMedia();
1546
			}
1547

    
1548

    
1549
			/**
1550
			//It was not used in this Implementation
1551
			childName = "caption";
1552
			obligatory = false;
1553
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1554
			success &= doubleResult.getSecondResult();
1555
			Element elCaption = doubleResult.getFirstResult();
1556
			if(elCaption != null) {
1557

    
1558
				childName = "style";
1559
				obligatory = false;
1560
				doubleResult =  XmlHelp.getSingleChildElement(elCaption, childName, tcsNamespace, obligatory);
1561
				success &= doubleResult.getSecondResult();
1562
				Element elStyle_Caption = doubleResult.getFirstResult();
1563
				String strColor_Caption = elStyle_Caption.getAttributeValue("color");
1564
				String strFace_Caption = elStyle_Caption.getAttributeValue("face");
1565
				String strFont_Caption = elStyle_Caption.getAttributeValue("font");
1566
				String strSize_Caption = elStyle_Caption.getAttributeValue("size");
1567
			}
1568

    
1569
			//It was not used in this Implementation
1570
			childName = "notes";
1571
			obligatory = false;
1572
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1573
			success &= doubleResult.getSecondResult();
1574
			Element elNotes = doubleResult.getFirstResult();
1575
			if (elNotes != null) {
1576

    
1577
				childName = "style";
1578
				obligatory = false;
1579
				doubleResult =  XmlHelp.getSingleChildElement(elNotes, childName, tcsNamespace, obligatory);
1580
				success &= doubleResult.getSecondResult();
1581
				Element elStyle_Notes = doubleResult.getFirstResult();
1582
				String strColor_Notes = elStyle_Notes.getAttributeValue("color");
1583
				String strFace_Notes = elStyle_Notes.getAttributeValue("face");
1584
				String strFont_Notes = elStyle_Notes.getAttributeValue("font");
1585
				String strSize_Notes = elStyle_Notes.getAttributeValue("size");
1586

    
1587
				//Annotation annotation = null;
1588
				//reference.addAnnotation(annotation);
1589
				//referenceMap.put(elStyle_Notes, reference);
1590
			}
1591

    
1592
			//It was not used in this Implementation
1593
			childName = "research-notes";
1594
			obligatory = false;
1595
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1596
			success &= doubleResult.getSecondResult();
1597
			Element elResearch_notes = doubleResult.getFirstResult();
1598
			if (elResearch_notes != null) {
1599

    
1600
				childName = "style";
1601
				obligatory = false;
1602
				doubleResult =  XmlHelp.getSingleChildElement(elResearch_notes, childName, tcsNamespace, obligatory);
1603
				success &= doubleResult.getSecondResult();
1604
				Element elStyle_Research_notes = doubleResult.getFirstResult();
1605
				String strColor_Research_notes = elStyle_Research_notes.getAttributeValue("color");
1606
				String strFace_Research_notes = elStyle_Research_notes.getAttributeValue("face");
1607
				String strFont_Research_notes = elStyle_Research_notes.getAttributeValue("font");
1608
				String strSize_Research_notes = elStyle_Research_notes.getAttributeValue("size");
1609
			}
1610
			*/
1611

    
1612
			/**It was not used in this Implementation
1613
			childName = "work-type"; // thesis type
1614
			obligatory = false;
1615
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1616
			success &= doubleResult.getSecondResult();
1617
			Element elWork_type = doubleResult.getFirstResult();
1618
			if (elWork_type!= null) {
1619

    
1620
				childName = "style";
1621
				obligatory = false;
1622
				doubleResult =  XmlHelp.getSingleChildElement(elWork_type, childName, tcsNamespace, obligatory);
1623
				success &= doubleResult.getSecondResult();
1624
				Element elStyle_Work_type = doubleResult.getFirstResult();
1625
				String strColor_Work_type = elStyle_Work_type.getAttributeValue("color");
1626
				String strFace_Work_type = elStyle_Work_type.getAttributeValue("face");
1627
				String strFont_Work_type = elStyle_Work_type.getAttributeValue("font");
1628
				String strSize_Work_type = elStyle_Work_type.getAttributeValue("size");
1629

    
1630
				String thesis_style =  elStyle_Work_type.getTextNormalize();
1631
				String strName_reftype = elRef_type.getAttributeValue("name");
1632

    
1633
				Institution institution =Institution.NewInstance();
1634
				school.setName(thesis_style);
1635
				institution.setName(thesis_style);
1636

    
1637
				if (strName_reftype.equals("Thesis")) {
1638
					thesis.setSchool(institution);
1639
					reference= thesis;
1640
				}else if (strName_reftype.equals("Report")){
1641
					report.setInstitution(institution);
1642
					reference= report;
1643
				}else {
1644
					logger.warn("The type was not found...");
1645
					success = false;
1646
					logger.info(reference);
1647
				}
1648
				logger.info(reference);
1649
			}
1650

    
1651
			/**
1652
			//It was not used in this Implementation
1653
			childName = "reviewed-item";
1654
			obligatory = false;
1655
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1656
			success &= doubleResult.getSecondResult();
1657
			Element elReviewed_item = doubleResult.getFirstResult();
1658
			if(elReviewed_item!=null) {
1659

    
1660
				childName = "style";
1661
				obligatory = false;
1662
				doubleResult =  XmlHelp.getSingleChildElement(elReviewed_item, childName, tcsNamespace, obligatory);
1663
				success &= doubleResult.getSecondResult();
1664
				Element elStyle_Reviewed_item = doubleResult.getFirstResult();
1665
				String strColor_Reviewed_item = elStyle_Reviewed_item.getAttributeValue("color");
1666
				String strFace_Reviewed_item = elStyle_Reviewed_item.getAttributeValue("face");
1667
				String strFont_Reviewed_item = elStyle_Reviewed_item.getAttributeValue("font");
1668
				String strSize_Reviewed_item = elStyle_Reviewed_item.getAttributeValue("size");
1669
			}
1670

    
1671
			//It was not used in this Implementation
1672
			childName = "remote-database-name"; //name of database - the name in endnote programm
1673
			obligatory = false;
1674
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1675
			success &= doubleResult.getSecondResult();
1676
			Element elRemote_database_name = doubleResult.getFirstResult();
1677
			if (elRemote_database_name != null) {
1678

    
1679
				childName = "style";
1680
				obligatory = false;
1681
				doubleResult =  XmlHelp.getSingleChildElement(elRemote_database_name, childName, tcsNamespace, obligatory);
1682
				success &= doubleResult.getSecondResult();
1683
				Element elStyle_Remote_database_name = doubleResult.getFirstResult();
1684
				String strColor_Remote_database_name = elStyle_Remote_database_name.getAttributeValue("color");
1685
				String strFace_Remote_database_name = elStyle_Remote_database_name.getAttributeValue("face");
1686
				String strFont_Remote_database_name = elStyle_Remote_database_name.getAttributeValue("font");
1687
				String strSize_Remote_database_name = elStyle_Remote_database_name.getAttributeValue("size");
1688
			}
1689

    
1690
			//It was not used in this Implementation
1691
			childName = "remote-database-provider"; // database provider - the name in endnote programm
1692
			obligatory = false;
1693
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1694
			success &= doubleResult.getSecondResult();
1695
			Element elRemote_database_provider = doubleResult.getFirstResult();
1696
			if (elRemote_database_provider != null) {
1697

    
1698
				childName = "style";
1699
				obligatory = false;
1700
				doubleResult =  XmlHelp.getSingleChildElement(elRemote_database_provider, childName, tcsNamespace, obligatory);
1701
				success &= doubleResult.getSecondResult();
1702
				Element elStyle_Remote_database_provider = doubleResult.getFirstResult();
1703
				String strColor_Remote_database_provider = elStyle_Remote_database_provider.getAttributeValue("color");
1704
				String strFace_Remote_database_provider = elStyle_Remote_database_provider.getAttributeValue("face");
1705
				String strFont_Remote_database_provider = elStyle_Remote_database_provider.getAttributeValue("font");
1706
				String strSize_Remote_database_provider = elStyle_Remote_database_provider.getAttributeValue("size");
1707
			}
1708
			*/
1709

    
1710
			childName = "language";
1711
			obligatory = false;
1712
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1713
			success &= doubleResult.getSecondResult();
1714
			Element elLanguage = doubleResult.getFirstResult();
1715
			if (elLanguage != null) {
1716

    
1717
				childName = "style";
1718
				obligatory = false;
1719
				doubleResult =  XmlHelp.getSingleChildElement(elLanguage, childName, tcsNamespace, obligatory);
1720
				success &= doubleResult.getSecondResult();
1721
				Element elStyle_Language = doubleResult.getFirstResult();
1722
				String strColor_Language = elStyle_Language.getAttributeValue("color");
1723
				String strFace_Language = elStyle_Language.getAttributeValue("face");
1724
				String strFont_Language = elStyle_Language.getAttributeValue("font");
1725
				String strSize_Language = elStyle_Language.getAttributeValue("size");
1726
				String label =  elStyle_Language.getTextNormalize();
1727

    
1728
				Language language =  Language.NewInstance();
1729
				language.setLabel(label);
1730
			}
1731

    
1732

    
1733
			logger.info("start make urls ...");
1734
			childName = "urls";
1735
			obligatory = false;
1736
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1737
			success &= doubleResult.getSecondResult();
1738
			Element elUrls = doubleResult.getFirstResult();
1739
			if (elUrls != null) {
1740
				childName = "web-urls";
1741
				obligatory = false;
1742
				doubleResult =  XmlHelp.getSingleChildElement(elUrls, childName, tcsNamespace, obligatory);
1743
				success &= doubleResult.getSecondResult();
1744
				Element elWeb_urls = doubleResult.getFirstResult();
1745

    
1746
				childName = "url";
1747
				obligatory = false;
1748
				doubleResult =  XmlHelp.getSingleChildElement(elWeb_urls, childName, tcsNamespace, obligatory);
1749
				success &= doubleResult.getSecondResult();
1750
				Element elUrl = doubleResult.getFirstResult();
1751
				if (elUrl != null) {
1752
					String strHas_ut = elUrl.getAttributeValue("has-ut");
1753
					String strPpv_app = elUrl.getAttributeValue("ppv-app");
1754
					String strPpv_ref = elUrl.getAttributeValue("ppv-ref");
1755
					String strPpv_ut = elUrl.getAttributeValue("ppv-ut");
1756

    
1757
					childName = "style";
1758
					obligatory = false;
1759
					doubleResult =  XmlHelp.getSingleChildElement(elUrl, childName, tcsNamespace, obligatory);
1760
					success &= doubleResult.getSecondResult();
1761
					Element elStyle_Url = doubleResult.getFirstResult();
1762
					String strColor_Url = elStyle_Url.getAttributeValue("color");
1763
					String strFace_Url = elStyle_Url.getAttributeValue("face");
1764
					String strFont_Url = elStyle_Url.getAttributeValue("font");
1765
					String strSize_Url = elStyle_Url.getAttributeValue("size");
1766
					try {
1767
						reference.setUri(new URI(elStyle_Url.getTextNormalize()));
1768
					} catch (URISyntaxException e) {
1769
						logger.warn("Unvalid URL:" + elStyle_Url.getText());
1770
						success = false;
1771
					}
1772
				}
1773

    
1774
				childName = "pdf-urls";
1775
				obligatory = false;
1776
				doubleResult =  XmlHelp.getSingleChildElement(elUrls, childName, tcsNamespace, obligatory);
1777
				success &= doubleResult.getSecondResult();
1778
				Element elPdf_urls = doubleResult.getFirstResult();
1779

    
1780
				childName = "url";
1781
				obligatory = false;
1782
				doubleResult =  XmlHelp.getSingleChildElement(elPdf_urls, childName, tcsNamespace, obligatory);
1783
				success &= doubleResult.getSecondResult();
1784
				Element elPdfUrl = doubleResult.getFirstResult();
1785
				if (elPdfUrl !=null) {
1786
					String strHas_ut_pdf = elPdfUrl.getAttributeValue("has-ut");
1787
					String strPpv_app_pdf = elPdfUrl.getAttributeValue("ppv-app");
1788
					String strPpv_ref_pdf = elPdfUrl.getAttributeValue("ppv-ref");
1789
					String strPpv_ut_pdf = elPdfUrl.getAttributeValue("ppv-ut");
1790

    
1791
					childName = "style";
1792
					obligatory = false;
1793
					doubleResult =  XmlHelp.getSingleChildElement(elPdfUrl, childName, tcsNamespace, obligatory);
1794
					success &= doubleResult.getSecondResult();
1795
					Element elStyle_PdfUrl = doubleResult.getFirstResult();
1796
					String strColor_PdfUrl = elStyle_PdfUrl.getAttributeValue("color");
1797
					String strFace_PdfUrl = elStyle_PdfUrl.getAttributeValue("face");
1798
					String strFont_PdfUrl = elStyle_PdfUrl.getAttributeValue("font");
1799
					String strSize_PdfUrl = elStyle_PdfUrl.getAttributeValue("size");
1800
					try {
1801
						reference.setUri(new URI(elStyle_PdfUrl.getText()));
1802
					} catch (URISyntaxException e) {
1803
						logger.warn("Unvalid URL:" + elStyle_PdfUrl.getText());
1804
						success = false;
1805
					}
1806
				}
1807

    
1808
				childName = "text-urls";
1809
				obligatory = false;
1810
				doubleResult =  XmlHelp.getSingleChildElement(elUrls, childName, tcsNamespace, obligatory);
1811
				success &= doubleResult.getSecondResult();
1812
				Element elText_urls = doubleResult.getFirstResult();
1813

    
1814
				childName = "url";
1815
				obligatory = false;
1816
				doubleResult =  XmlHelp.getSingleChildElement(elText_urls, childName, tcsNamespace, obligatory);
1817
				success &= doubleResult.getSecondResult();
1818
				Element elTextUrl = doubleResult.getFirstResult();
1819
				if (elTextUrl != null) {
1820
					String strHas_ut_text = elTextUrl.getAttributeValue("has-ut");
1821
					String strPpv_app_text = elTextUrl.getAttributeValue("ppv-app");
1822
					String strPpv_ref_text = elTextUrl.getAttributeValue("ppv-ref");
1823
					String strPpv_ut_text = elTextUrl.getAttributeValue("ppv-ut");
1824

    
1825
					childName = "style";
1826
					obligatory = false;
1827
					doubleResult =  XmlHelp.getSingleChildElement(elTextUrl, childName, tcsNamespace, obligatory);
1828
					success &= doubleResult.getSecondResult();
1829
					Element elStyle_TextUrl = doubleResult.getFirstResult();
1830
					String strColor_TextUrl = elStyle_TextUrl.getAttributeValue("color");
1831
					String strFace_TextUrl = elStyle_TextUrl.getAttributeValue("face");
1832
					String strFont_TextUrl = elStyle_TextUrl.getAttributeValue("font");
1833
					String strSize_TextUrl = elStyle_TextUrl.getAttributeValue("size");
1834
					try {
1835
						reference.setUri(new URI(elStyle_TextUrl.getText()));
1836
					} catch (URISyntaxException e) {
1837
						logger.warn("Unvalid URL:" + elStyle_TextUrl.getText());
1838
						success = false;
1839
					}
1840
				}
1841

    
1842
				childName = "related-urls";
1843
				obligatory = false;
1844
				doubleResult =  XmlHelp.getSingleChildElement(elUrls, childName, tcsNamespace, obligatory);
1845
				success &= doubleResult.getSecondResult();
1846
				Element elRelated_urls = doubleResult.getFirstResult();
1847

    
1848
				childName = "url";
1849
				obligatory = false;
1850
				doubleResult =  XmlHelp.getSingleChildElement(elRelated_urls, childName, tcsNamespace, obligatory);
1851
				success &= doubleResult.getSecondResult();
1852
				Element elRelatedUrl = doubleResult.getFirstResult();
1853
				if (elRelatedUrl != null) {
1854

    
1855
					String strHas_ut_related = elRelatedUrl.getAttributeValue("has-ut");
1856
					String strPpv_app_related = elRelatedUrl.getAttributeValue("ppv-app");
1857
					String strPpv_ref_related = elRelatedUrl.getAttributeValue("ppv-ref");
1858
					String strPpv_ut_related = elRelatedUrl.getAttributeValue("ppv-ut");
1859

    
1860
					childName = "style";
1861
					obligatory = false;
1862
					doubleResult =  XmlHelp.getSingleChildElement(elRelatedUrl, childName, tcsNamespace, obligatory);
1863
					success &= doubleResult.getSecondResult();
1864
					Element elStyle_RelatedUrl = doubleResult.getFirstResult();
1865
					String strColor_RelatedUrl = elStyle_RelatedUrl.getAttributeValue("color");
1866
					String strFace_RelatedUrl = elStyle_RelatedUrl.getAttributeValue("face");
1867
					String strFont_RelatedUrl = elStyle_RelatedUrl.getAttributeValue("font");
1868
					String strSize_RelatedUrl = elStyle_RelatedUrl.getAttributeValue("size");
1869
					try {
1870
						reference.setUri(new URI(elStyle_RelatedUrl.getText()));
1871
					} catch (URISyntaxException e) {
1872
						logger.warn("Unvalid URL:" + elStyle_RelatedUrl.getText());
1873
						success = false;
1874
					}
1875
				}
1876

    
1877
				childName = "image-urls";
1878
				obligatory = false;
1879
				doubleResult =  XmlHelp.getSingleChildElement(elUrls, childName, tcsNamespace, obligatory);
1880
				success &= doubleResult.getSecondResult();
1881
				Element elImage_urls = doubleResult.getFirstResult();
1882

    
1883
				childName = "url";
1884
				obligatory = false;
1885
				doubleResult =  XmlHelp.getSingleChildElement(elImage_urls, childName, tcsNamespace, obligatory);
1886
				success &= doubleResult.getSecondResult();
1887
				Element elImageUrl = doubleResult.getFirstResult();
1888
				if (elImageUrl != null) {
1889

    
1890
					String strHas_ut_image = elImageUrl.getAttributeValue("has-ut");
1891
					String strPpv_app_image = elImageUrl.getAttributeValue("ppv-app");
1892
					String strPpv_ref_image = elImageUrl.getAttributeValue("ppv-ref");
1893
					String strPpv_ut_image = elImageUrl.getAttributeValue("ppv-ut");
1894

    
1895
					childName = "style";
1896
					obligatory = false;
1897
					doubleResult =  XmlHelp.getSingleChildElement(elImageUrl, childName, tcsNamespace, obligatory);
1898
					success &= doubleResult.getSecondResult();
1899
					Element elStyle_ImageUrl = doubleResult.getFirstResult();
1900
					String strColor_ImageUrl = elStyle_ImageUrl.getAttributeValue("color");
1901
					String strFace_ImageUrl = elStyle_ImageUrl.getAttributeValue("face");
1902
					String strFont_ImageUrl = elStyle_ImageUrl.getAttributeValue("font");
1903
					String strSize_ImageUrl = elStyle_ImageUrl.getAttributeValue("size");
1904
					try {
1905
						reference.setUri(new URI(elStyle_ImageUrl.getText()));
1906
					} catch (URISyntaxException e) {
1907
						logger.warn("Unvalid URL:" + elStyle_ImageUrl.getText());
1908
						success = false;
1909
					}
1910
				}
1911
			}
1912

    
1913
			/** It was not used in this Implementation
1914
			childName = "access-date";
1915
			obligatory = false;
1916
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1917
			success &= doubleResult.getSecondResult();
1918
			Element elAccess_date = doubleResult.getFirstResult();
1919
			if (elAccess_date != null) {
1920

    
1921
				childName = "style";
1922
				obligatory = false;
1923
				doubleResult =  XmlHelp.getSingleChildElement(elAccess_date, childName, tcsNamespace, obligatory);
1924
				success &= doubleResult.getSecondResult();
1925
				Element elStyle_Access_date = doubleResult.getFirstResult();
1926
				String strColor_Access_date = elStyle_Access_date.getAttributeValue("color");
1927
				String strFace_Access_date = elStyle_Access_date.getAttributeValue("face");
1928
				String strFont_Access_date = elStyle_Access_date.getAttributeValue("font");
1929
				String strSize_Access_date = elStyle_Access_date.getAttributeValue("size");
1930
			}
1931

    
1932

    
1933
			//It was not used in this Implementation
1934
			logger.info("start make modified-date ...");
1935
			childName = "modified-date"; //custom 8 - name in endnote programm
1936
			obligatory = false;
1937
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1938
			success &= doubleResult.getSecondResult();
1939
			Element elModified_date = doubleResult.getFirstResult();
1940
			if (elModified_date != null) {
1941

    
1942
				childName = "style";
1943
				obligatory = false;
1944
				doubleResult =  XmlHelp.getSingleChildElement(elModified_date, childName, tcsNamespace, obligatory);
1945
				success &= doubleResult.getSecondResult();
1946
				Element elStyle_Modified_date = doubleResult.getFirstResult();
1947
				String strColor_Modified_date = elStyle_Modified_date.getAttributeValue("color");
1948
				String strFace_Modified_date = elStyle_Modified_date.getAttributeValue("face");
1949
				String strFont_Modified_date = elStyle_Modified_date.getAttributeValue("font");
1950
				String strSize_Modified_date = elStyle_Modified_date.getAttributeValue("size");
1951
			}
1952

    
1953
			/**It was not used in this Implementation
1954
			childName = "custom1";
1955
			obligatory = false;
1956
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1957
			success &= doubleResult.getSecondResult();
1958
			Element elCustom1 = doubleResult.getFirstResult();
1959
			if (elCustom1 != null) {
1960

    
1961
				childName = "style";
1962
				obligatory = false;
1963
				doubleResult =  XmlHelp.getSingleChildElement(elCustom1, childName, tcsNamespace, obligatory);
1964
				success &= doubleResult.getSecondResult();
1965
				Element elStyle_Custom1 = doubleResult.getFirstResult();
1966
				String strColor_Custom1 = elStyle_Custom1.getAttributeValue("color");
1967
				String strFace_Custom1 = elStyle_Custom1.getAttributeValue("face");
1968
				String strFont_Custom1 = elStyle_Custom1.getAttributeValue("font");
1969
				String strSize_Custom1 = elStyle_Custom1.getAttributeValue("size");
1970
			}
1971

    
1972
			childName = "custom2";
1973
			obligatory = false;
1974
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1975
			success &= doubleResult.getSecondResult();
1976
			Element elCustom2 = doubleResult.getFirstResult();
1977
			if (elCustom2 != null) {
1978

    
1979
				childName = "style";
1980
				obligatory = false;
1981
				doubleResult =  XmlHelp.getSingleChildElement(elCustom2, childName, tcsNamespace, obligatory);
1982
				success &= doubleResult.getSecondResult();
1983
				Element elStyle_Custom2 = doubleResult.getFirstResult();
1984
				String strColor_Custom2 = elStyle_Custom2.getAttributeValue("color");
1985
				String strFace_Custom2 = elStyle_Custom2.getAttributeValue("face");
1986
				String strFont_Custom2 = elStyle_Custom2.getAttributeValue("font");
1987
				String strSize_Custom2 = elStyle_Custom2.getAttributeValue("size");
1988
			}
1989

    
1990
			childName = "custom3";
1991
			obligatory = false;
1992
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
1993
			success &= doubleResult.getSecondResult();
1994
			Element elCustom3 = doubleResult.getFirstResult();
1995
			if (elCustom3 != null) {
1996

    
1997
				childName = "style";
1998
				obligatory = false;
1999
				doubleResult =  XmlHelp.getSingleChildElement(elCustom3, childName, tcsNamespace, obligatory);
2000
				success &= doubleResult.getSecondResult();
2001
				Element elStyle_Custom3 = doubleResult.getFirstResult();
2002
				String strColor_Custom3 = elStyle_Custom3.getAttributeValue("color");
2003
				String strFace_Custom3 = elStyle_Custom3.getAttributeValue("face");
2004
				String strFont_Custom3 = elStyle_Custom3.getAttributeValue("font");
2005
				String strSize_Custom3 = elStyle_Custom3.getAttributeValue("size");
2006
			}
2007

    
2008
			childName = "custom4";
2009
			obligatory = false;
2010
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
2011
			success &= doubleResult.getSecondResult();
2012
			Element elCustom4 = doubleResult.getFirstResult();
2013
			if (elCustom4 != null) {
2014

    
2015
				childName = "style";
2016
				obligatory = false;
2017
				doubleResult =  XmlHelp.getSingleChildElement(elCustom4, childName, tcsNamespace, obligatory);
2018
				success &= doubleResult.getSecondResult();
2019
				Element elStyle_Custom4 = doubleResult.getFirstResult();
2020
				String strColor_Custom4 = elStyle_Custom4.getAttributeValue("color");
2021
				String strFace_Custom4 = elStyle_Custom4.getAttributeValue("face");
2022
				String strFont_Custom4 = elStyle_Custom4.getAttributeValue("font");
2023
				String strSize_Custom4 = elStyle_Custom4.getAttributeValue("size");
2024
			}
2025

    
2026
			childName = "custom5";
2027
			obligatory = false;
2028
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
2029
			success &= doubleResult.getSecondResult();
2030
			Element elCustom5 = doubleResult.getFirstResult();
2031
			if (elCustom5 != null) {
2032

    
2033
				childName = "style";
2034
				obligatory = false;
2035
				doubleResult =  XmlHelp.getSingleChildElement(elCustom5, childName, tcsNamespace, obligatory);
2036
				success &= doubleResult.getSecondResult();
2037
				Element elStyle_Custom5 = doubleResult.getFirstResult();
2038
				String strColor_Custom5 = elStyle_Custom5.getAttributeValue("color");
2039
				String strFace_Custom5 = elStyle_Custom5.getAttributeValue("face");
2040
				String strFont_Custom5 = elStyle_Custom5.getAttributeValue("font");
2041
				String strSize_Custom5 = elStyle_Custom5.getAttributeValue("size");
2042
			}
2043

    
2044
			childName = "custom6";
2045
			obligatory = false;
2046
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
2047
			success &= doubleResult.getSecondResult();
2048
			Element elCustom6 = doubleResult.getFirstResult();
2049
			if (elCustom6 != null) {
2050

    
2051
				childName = "style";
2052
				obligatory = false;
2053
				doubleResult =  XmlHelp.getSingleChildElement(elCustom6, childName, tcsNamespace, obligatory);
2054
				success &= doubleResult.getSecondResult();
2055
				Element elStyle_Custom6 = doubleResult.getFirstResult();
2056
				String strColor_Custom6 = elStyle_Custom6.getAttributeValue("color");
2057
				String strFace_Custom6 = elStyle_Custom6.getAttributeValue("face");
2058
				String strFont_Custom6 = elStyle_Custom6.getAttributeValue("font");
2059
				String strSize_Custom6 = elStyle_Custom6.getAttributeValue("size");
2060
			}
2061

    
2062
			childName = "custom7";
2063
			obligatory = false;
2064
			doubleResult =  XmlHelp.getSingleChildElement(elRecord, childName, tcsNamespace, obligatory);
2065
			success &= doubleResult.getSecondResult();
2066
			Element elCustom7 = doubleResult.getFirstResult();
2067
			if (elCustom7 != null) {
2068

    
2069
				childName = "style";
2070
				obligatory = false;
2071
				doubleResult =  XmlHelp.getSingleChildElement(elCustom7, childName, tcsNamespace, obligatory);
2072
				success &= doubleResult.getSecondResult();
2073
				Element elStyle_Custom7 = doubleResult.getFirstResult();
2074
				String strColor_Custom7 = elStyle_Custom7.getAttributeValue("color");
2075
				String strFace_Custom7 = elStyle_Custom7.getAttributeValue("face");
2076
				String strFont_Custom7 = elStyle_Custom7.getAttributeValue("font");
2077
				String strSize_Custom7 = elStyle_Custom7.getAttributeValue("size");
2078
			}
2079
		 */
2080
			authorMap.put(elRec_number, (Team) author);
2081
			referenceMap.put(elRec_number, reference);
2082
		}
2083

    
2084
		logger.info(i + " Records handled. Saving ...");
2085
		referenceService.save(referenceMap.objects());
2086
		logger.info("end make Records ...");
2087
		if (!success){
2088
			state.setUnsuccessfull();
2089
		}
2090
		return;
2091
	}
2092

    
2093
	/* (non-Javadoc)
2094
	 * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)
2095
	 */
2096
	@Override
2097
    protected boolean isIgnore(EndnoteImportState state){
2098
		EndnoteImportConfigurator tcsConfig = state.getConfig();
2099
		return (! tcsConfig.isDoRecords());
2100
	}
2101
}
(4-4/5)