1
2
3
4
5
6
7
8
9
10 package eu.etaxonomy.cdm.io.taxonx;
11
12 import java.io.InputStream;
13 import java.net.MalformedURLException;
14 import java.net.URL;
15
16 import org.apache.log4j.Logger;
17 import org.jdom.Element;
18
19 import eu.etaxonomy.cdm.common.XmlHelp;
20 import eu.etaxonomy.cdm.database.ICdmDataSource;
21 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
22 import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;
23 import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
24 import eu.etaxonomy.cdm.model.reference.IDatabase;
25 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
26 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
27
28
29
30
31
32
33
34 public class TaxonXImportConfigurator extends ImportConfiguratorBase<TaxonXImportState> implements IImportConfigurator {
35 private static final Logger logger = Logger.getLogger(TaxonXImportConfigurator.class);
36
37
38 private boolean doMods = true;
39
40
41 private static IInputTransformer defaultTransformer = null;
42
43
44
45 private boolean isPublishReferences = true;
46
47
48 private boolean findTaxonByName = false;
49 private String originalSourceTaxonNamespace = "TaxonConcept";
50 private String originalSourceId;
51
52 protected void makeIoClassList(){
53 ioClassList = new Class[]{
54 TaxonXModsImport.class,
55 TaxonXDescriptionImport.class
56 , TaxonXNomenclatureImport.class
57
58
59 };
60 }
61
62
63
64
65
66
67 public static TaxonXImportConfigurator NewInstance(String url, ICdmDataSource destination){
68 return new TaxonXImportConfigurator(url, destination);
69 }
70
71
72
73
74
75
76 private TaxonXImportConfigurator(String url, ICdmDataSource destination) {
77 super(defaultTransformer);
78 setSource(url);
79 setDestination(destination);
80 }
81
82
83
84
85
86
87 public TaxonXImportState getNewState() {
88 return new TaxonXImportState(this);
89 }
90
91
92
93
94 public String getSource() {
95 return (String)super.getSource();
96 }
97
98
99
100
101 public void setSource(String file) {
102 super.setSource(file);
103 }
104
105 public Element getSourceRoot(){
106 String source = getSource();
107 try {
108 URL url;
109 url = new URL(source);
110 Object o = url.getContent();
111 InputStream is = (InputStream)o;
112 Element root = XmlHelp.getRoot(is);
113 return root;
114 } catch (Exception e) {
115 logger.error("The source '" + source + "' has errors.", e);
116 }
117 return null;
118 }
119
120
121
122
123
124 @Override
125 public ReferenceBase getSourceReference() {
126
127 logger.warn("getSource Reference not yet implemented");
128 ReferenceFactory refFactory = ReferenceFactory.newInstance();
129 ReferenceBase result = refFactory.newDatabase();
130 result.setTitleCache("XXX", true);
131 return result;
132 }
133
134
135
136
137
138 public String getSourceNameString() {
139 if (this.getSource() == null){
140 return null;
141 }else{
142 return this.getSource();
143 }
144 }
145
146 public String getOriginalSourceTaxonNamespace() {
147 return originalSourceTaxonNamespace;
148 }
149
150 public void setOriginalSourceTaxonNamespace(String originalSourceTaxonNamespace) {
151 this.originalSourceTaxonNamespace = originalSourceTaxonNamespace;
152 }
153
154 public String getOriginalSourceId() {
155 return originalSourceId;
156 }
157
158 public void setOriginalSourceId(String originalSourceId) {
159 this.originalSourceId = originalSourceId;
160 }
161
162
163
164
165
166 public boolean isDoMods() {
167 return doMods;
168 }
169
170
171
172
173 public void setDoMods(boolean doMods) {
174 this.doMods = doMods;
175 }
176
177
178
179
180 public boolean isPublishReferences() {
181 return isPublishReferences;
182 }
183
184
185
186
187 public void setPublishReferences(boolean isPublishReferences) {
188 this.isPublishReferences = isPublishReferences;
189 }
190
191 }