2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.io
.tcsxml
;
12 import org
.apache
.log4j
.Logger
;
13 import org
.jdom
.Element
;
14 import org
.jdom
.Namespace
;
16 import eu
.etaxonomy
.cdm
.common
.ResultWrapper
;
17 import eu
.etaxonomy
.cdm
.io
.tcsxml
.in
.TcsXmlImportConfigurator
;
18 import eu
.etaxonomy
.cdm
.model
.common
.TimePeriod
;
19 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
20 import eu
.etaxonomy
.cdm
.strategy
.parser
.TimePeriodParser
;
27 public class DefaultTcsXmlPlaceholders
implements ITcsXmlPlaceholderClass
{
28 private static final Logger logger
= Logger
.getLogger(DefaultTcsXmlPlaceholders
.class);
31 * @see tcsxml.ITcsXmlPlaceholderClass#makeMetaDataDetailed(tcsxml.TcsXmlImportConfigurator, org.jdom.Element)
33 public boolean makeMetaDataDetailed(TcsXmlImportConfigurator tcsConfig
, Element elMetaDataDetailed
){
34 if (tcsConfig
== null){
37 if (elMetaDataDetailed
== null){
42 //TODO implement EDIT TcsMetaData extension
43 logger
.info("MetaDataElement found: " + elMetaDataDetailed
.getName());
48 * @see tcsxml.ITcsXmlPlaceholderClass#makePublicationDetailed(tcsxml.TcsXmlImportConfigurator, org.jdom.Element, eu.etaxonomy.cdm.model.reference.Reference)
50 public boolean makePublicationDetailed(TcsXmlImportConfigurator config
, Element elPublicationDetailed
, Reference publication
){
51 ResultWrapper
<Boolean
> success
= ResultWrapper
.NewInstance(true);
55 if (elPublicationDetailed
== null){
58 publication
.setProtectedTitleCache(false);
62 Namespace tcsNs
= config
.getTcsXmlNamespace();
63 for (Object o
: elPublicationDetailed
.getChildren()){
64 Element element
= (Element
)o
;
65 String value
= element
.getTextNormalize();
68 if (element
.getName().equalsIgnoreCase(childName
) && element
.getNamespace().equals(tcsNs
)){
69 publication
.setTitle(value
);
73 childName
= "DatePublished";
74 if (element
.getName().equalsIgnoreCase(childName
) && element
.getNamespace().equals(tcsNs
)){
75 TimePeriod datePublished
= TimePeriodParser
.parseString(value
);
76 publication
.setDatePublished(datePublished
);
80 logger
.warn("Unhandled Publication Detailed child element: " + element
.getName());
83 // String childName = "Title";
84 // boolean obligatory = false;
85 // Element elTitle = XmlHelp.getSingleChildElement(success, elPublicationDetailed, childName, ns, obligatory);
86 // if (elTitle != null){
87 // String strTitle = elTitle.getTextNormalize();
88 // publication.setTitle(strTitle);
91 // childName = "DatePublished";
92 // obligatory = false;
93 // ns = config.getTcsXmlNamespace();
94 // Element elDatePublished = XmlHelp.getSingleChildElement(success, elPublicationDetailed, childName, ns, obligatory);
95 // if (elDatePublished != null){
96 // String strDatePublished = elDatePublished.getTextNormalize();
97 // TimePeriod datePublished = TimePeriodParser.parseString(strDatePublished);
98 // publication.setDatePublished(datePublished);
102 //TODO implement EDIT TcsMetaData extension
103 if (logger
.isDebugEnabled()){logger
.debug("PublicationDetailed element found: " + elPublicationDetailed
.getName());}
104 return success
.getValue();