1
2
3
4
5
6
7
8
9
10 package eu.etaxonomy.cdm.io.jaxb;
11
12 import org.apache.log4j.Logger;
13
14 import eu.etaxonomy.cdm.database.DbSchemaValidation;
15 import eu.etaxonomy.cdm.database.ICdmDataSource;
16 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
17 import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;
18 import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;
19 import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
20 import eu.etaxonomy.cdm.model.reference.IDatabase;
21 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
22 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
23
24
25
26
27
28 public class JaxbImportConfigurator extends ImportConfiguratorBase implements IImportConfigurator {
29
30 private static final Logger logger = Logger.getLogger(JaxbImportConfigurator.class);
31
32 private int maxRows = 0;
33
34
35 private static IInputTransformer defaultTransformer = null;
36
37
38 private boolean doUsers = true;
39 private boolean doAgentData = true;
40 private boolean doLanguageData = true;
41 private boolean doFeatureData = true;
42 private boolean doDescriptions = true;
43 private boolean doMedia = true;
44
45
46 private boolean doReferencedEntities = true;
47
48 private boolean doSynonyms = true;
49
50
51 private boolean doTerms = true;
52 private boolean doTermVocabularies = true;
53 private boolean doHomotypicalGroups = true;
54
55 private boolean doTypeDesignations = true;
56 private boolean doTaxonomicTreeData = true;
57
58
59
60
61
62
63
64
65 public JaxbImportState getNewState() {
66 return new JaxbImportState(this);
67 }
68
69 public int getMaxRows() {
70 return maxRows;
71 }
72
73 public void setMaxRows(int maxRows) {
74 this.maxRows = maxRows;
75 }
76
77
78
79 public boolean isDoAgentData() {
80 return doAgentData;
81 }
82
83 public void setDoAgentData(boolean doAgentData) {
84 this.doAgentData = doAgentData;
85 }
86
87 public boolean isDoLanguageData() {
88 return doLanguageData;
89 }
90
91 public void setDoLanguageData(boolean doLanguageData) {
92 this.doLanguageData = doLanguageData;
93 }
94
95 public boolean isDoFeatureData() {
96 return doFeatureData;
97 }
98
99 public void setDoFeatureData(boolean doFeatureData) {
100 this.doFeatureData = doFeatureData;
101 }
102
103 public boolean isDoDescriptions() {
104 return doDescriptions;
105 }
106
107 public void setDoDescriptions(boolean doDescriptions) {
108 this.doDescriptions = doDescriptions;
109 }
110
111 public boolean isDoMedia() {
112 return doMedia;
113 }
114
115 public void setDoMedia(boolean doMedia) {
116 this.doMedia = doMedia;
117 }
118
119
120 public boolean isDoReferencedEntities() {
121 return doReferencedEntities;
122 }
123
124 public void setDoReferencedEntities(boolean doReferencedEntities) {
125 this.doReferencedEntities = doReferencedEntities;
126 }
127
128
129 public boolean isDoSynonyms() {
130 return doSynonyms;
131 }
132
133 public void setDoSynonyms(boolean doSynonyms) {
134 this.doSynonyms = doSynonyms;
135 }
136
137
138 public boolean isDoTerms() {
139 return doTerms;
140 }
141
142 public void setDoTerms(boolean doTerms) {
143 this.doTerms = doTerms;
144 }
145
146 public boolean isDoTermVocabularies() {
147 return doTermVocabularies;
148 }
149
150 public void setDoTermVocabularies(boolean doTermVocabularies) {
151 this.doTermVocabularies = doTermVocabularies;
152 }
153
154 public boolean isDoHomotypicalGroups() {
155 return doHomotypicalGroups;
156 }
157
158 public void setDoHomotypicalGroups(boolean doHomotypicalGroups) {
159 this.doHomotypicalGroups = doHomotypicalGroups;
160 }
161
162
163 protected void makeIoClassList() {
164 ioClassList = new Class[] {
165 JaxbImport.class,
166 };
167 };
168
169 public static JaxbImportConfigurator NewInstance(String url,
170 ICdmDataSource destination){
171 return new JaxbImportConfigurator(url, destination);
172 }
173
174
175
176
177
178
179 private JaxbImportConfigurator(String url, ICdmDataSource destination) {
180 super(defaultTransformer);
181 setSource(url);
182 setDestination(destination);
183 setDbSchemaValidation(DbSchemaValidation.CREATE);
184 }
185
186
187
188
189
190 public Object getSource() {
191
192 return (String)super.getSource();
193 }
194
195
196
197
198
199 public void setSource(String fileName) {
200 super.setSource(fileName);
201 }
202
203
204
205
206
207 @Override
208 public ReferenceBase getSourceReference() {
209
210 if (this.sourceReference == null){
211 ReferenceFactory refFactory = ReferenceFactory.newInstance();
212 logger.warn("getSource Reference not yet fully implemented");
213 sourceReference = refFactory.newDatabase();
214 sourceReference.setTitleCache("Jaxb import", true);
215 }
216 return sourceReference;
217 }
218
219
220
221
222
223 public String getSourceNameString() {
224 if (this.getSource() == null){
225 return null;
226 }else{
227 return (String)this.getSource();
228 }
229 }
230
231 public boolean isDoTypeDesignations() {
232 return doTypeDesignations;
233 }
234
235 public void setDoTypeDesignations(boolean doTypeDesignations) {
236 this.doTypeDesignations = doTypeDesignations;
237 }
238
239 public boolean isDoTaxonomicTreeData() {
240 return this.doTaxonomicTreeData;
241 }
242 }
243
244