1
2
3
4
5
6
7
8
9
10 package eu.etaxonomy.cdm.io.tcsxml.in;
11
12 import java.util.Map;
13
14 import org.apache.log4j.Logger;
15 import org.jdom.Element;
16 import org.jdom.Namespace;
17 import org.springframework.stereotype.Component;
18
19 import eu.etaxonomy.cdm.common.DoubleResult;
20 import eu.etaxonomy.cdm.common.XmlHelp;
21 import eu.etaxonomy.cdm.io.common.ICdmIO;
22 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
23 import eu.etaxonomy.cdm.io.common.MapWrapper;
24 import eu.etaxonomy.cdm.io.tcsrdf.TcsRdfImportState;
25 import eu.etaxonomy.cdm.model.common.CdmBase;
26
27
28
29
30
31 @Component
32 public class TcsXmlMetaDataImport extends TcsXmlImportBase implements ICdmIO<TcsXmlImportState> {
33 private static final Logger logger = Logger.getLogger(TcsXmlMetaDataImport.class);
34
35 private static int modCount = 1000;
36
37 public TcsXmlMetaDataImport(){
38 super();
39 }
40
41 @Override
42 public boolean doCheck(TcsXmlImportState state){
43 boolean result = true;
44
45
46
47 return result;
48 }
49
50
51
52 @Override
53 public boolean doInvoke(TcsXmlImportState state){
54 logger.info("start make MetaData ...");
55 boolean success = true;
56 String childName;
57 boolean obligatory;
58
59
60
61 TcsXmlImportConfigurator config = state.getConfig();
62 Element elDataSet = getDataSetElement(config);
63 Namespace tcsNamespace = config.getTcsXmlNamespace();
64
65 DoubleResult<Element, Boolean> doubleResult;
66 childName = "MetaData";
67 obligatory = false;
68 doubleResult = XmlHelp.getSingleChildElement(elDataSet, childName, tcsNamespace, obligatory);
69 success &= doubleResult.getSecondResult();
70 Element elMetaData = doubleResult.getFirstResult();
71
72 childName = "Simple";
73 obligatory = true;
74 doubleResult = XmlHelp.getSingleChildElement(elMetaData, childName, tcsNamespace, obligatory);
75 success &= doubleResult.getSecondResult();
76 Element elSimple = doubleResult.getFirstResult();
77
78
79 childName = "MetaDataDetailed";
80 obligatory = false;
81 doubleResult = XmlHelp.getSingleChildElement(elMetaData, childName, tcsNamespace, obligatory);
82 success &= doubleResult.getSecondResult();
83 Element elMetaDataDetailed = doubleResult.getFirstResult();
84
85 success &= config.getPlaceholderClass().makeMetaDataDetailed(config, elMetaDataDetailed);
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 logger.info("end make MetaData ...");
101 return success;
102 }
103
104
105
106
107
108 protected boolean isIgnore(TcsXmlImportState state){
109 TcsXmlImportConfigurator tcsConfig = state.getConfig();
110 return (! tcsConfig.isDoMetaData());
111 }
112
113 }