1
2
3
4
5
6
7
8
9
10 package eu.etaxonomy.cdm.io.erms;
11
12 import java.lang.reflect.Method;
13
14 import org.apache.log4j.Logger;
15
16 import eu.etaxonomy.cdm.database.ICdmDataSource;
17 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
18 import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;
19 import eu.etaxonomy.cdm.io.common.ImportStateBase;
20 import eu.etaxonomy.cdm.io.common.Source;
21 import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
22 import eu.etaxonomy.cdm.io.erms.validation.ErmsGeneralImportValidator;
23 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
24 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
25 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
26
27
28
29
30
31
32
33 public class ErmsImportConfigurator extends ImportConfiguratorBase<ErmsImportState> implements IImportConfigurator{
34 @SuppressWarnings("unused")
35 private static Logger logger = Logger.getLogger(ErmsImportConfigurator.class);
36
37 public static ErmsImportConfigurator NewInstance(Source ermsSource, ICdmDataSource destination){
38 return new ErmsImportConfigurator(ermsSource, destination);
39 }
40
41
42 private int recordsPerTransaction = 1000;
43
44
45 private Method userTransformationMethod;
46
47 private boolean doVernaculars = true;
48 private boolean doLinks = true;
49 private boolean doNotes = true;
50 private boolean doImages = true;
51
52 private static IInputTransformer defaultTransformer = new ErmsTransformer();
53
54 protected void makeIoClassList(){
55 ioClassList = new Class[]{
56 ErmsGeneralImportValidator.class
57 , ErmsImportRankMap.class
58 , ErmsReferenceImport.class
59 , ErmsTaxonImport.class
60 , ErmsTaxonRelationImport.class
61 , ErmsVernacularImport.class
62 , ErmsNotesImport.class
63 , ErmsVernacularSourcesImport.class
64 , ErmsNotesSourcesImport.class
65
66 , ErmsAreaImport.class
67 , ErmsDrImport.class
68 , ErmsSourceUsesImport.class
69 , ErmsLinkImport.class
70 , ErmsImageImport.class
71 };
72 }
73
74
75
76
77
78 public ImportStateBase getNewState() {
79 return new ErmsImportState(this);
80 }
81
82
83
84
85
86
87
88
89 private ErmsImportConfigurator(Source ermsSource, ICdmDataSource destination) {
90 super(defaultTransformer);
91 setNomenclaturalCode(NomenclaturalCode.ICZN);
92 setSource(ermsSource);
93 setDestination(destination);
94 }
95
96
97 public Source getSource() {
98 return (Source)super.getSource();
99 }
100 public void setSource(Source berlinModelSource) {
101 super.setSource(berlinModelSource);
102 }
103
104
105
106
107 public ReferenceBase getSourceReference() {
108 ReferenceFactory refFactory = ReferenceFactory.newInstance();
109 if (sourceReference == null){
110 sourceReference = refFactory.newDatabase();
111 if (getSource() != null){
112 sourceReference.setTitleCache(getSource().getDatabase(), true);
113 }
114 }
115 return sourceReference;
116 }
117
118
119
120
121
122 public String getSourceNameString() {
123 if (this.getSource() == null){
124 return null;
125 }else{
126 return this.getSource().getDatabase();
127 }
128 }
129
130
131
132
133 public Method getUserTransformationMethod() {
134 return userTransformationMethod;
135 }
136
137
138
139
140 public void setUserTransformationMethod(Method userTransformationMethod) {
141 this.userTransformationMethod = userTransformationMethod;
142 }
143
144
145
146
147
148 public int getRecordsPerTransaction() {
149 return recordsPerTransaction;
150 }
151
152
153
154
155 public void setRecordsPerTransaction(int recordsPerTransaction) {
156 this.recordsPerTransaction = recordsPerTransaction;
157 }
158
159
160
161
162 public void setDoVernaculars(boolean doVernaculars) {
163 this.doVernaculars = doVernaculars;
164 }
165
166
167
168
169 public boolean isDoVernaculars() {
170 return doVernaculars;
171 }
172
173
174
175
176
177
178 public void setDoLinks(boolean doLinks) {
179 this.doLinks = doLinks;
180 }
181
182
183
184
185
186
187 public boolean isDoLinks() {
188 return doLinks;
189 }
190
191
192
193
194
195
196 public void setDoNotes(boolean doNotes) {
197 this.doNotes = doNotes;
198 }
199
200
201
202
203
204
205 public boolean isDoNotes() {
206 return doNotes;
207 }
208
209
210
211
212
213
214 public void setDoImages(boolean doImages) {
215 this.doImages = doImages;
216 }
217
218
219
220
221
222
223 public boolean isDoImages() {
224 return doImages;
225 }
226
227
228
229 }