ref #10206 add publish flag to CdmLight and ColDP export in cdmlib
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / cdmLight / CdmLightExportConfigurator.java
1 /**
2 * Copyright (C) 2017 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
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.
8 */
9 package eu.etaxonomy.cdm.io.cdmLight;
10
11 import java.io.File;
12 import java.util.Comparator;
13 import java.util.UUID;
14
15 import eu.etaxonomy.cdm.database.ICdmDataSource;
16 import eu.etaxonomy.cdm.format.description.distribution.CondensedDistributionConfiguration;
17 import eu.etaxonomy.cdm.io.common.CsvIOConfigurator;
18 import eu.etaxonomy.cdm.io.common.ExportResultType;
19 import eu.etaxonomy.cdm.io.common.mapping.out.IExportTransformer;
20 import eu.etaxonomy.cdm.io.out.IFactExportConfigurator;
21 import eu.etaxonomy.cdm.io.out.TaxonTreeExportConfiguratorBase;
22 import eu.etaxonomy.cdm.model.common.Language;
23 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
24
25 /**
26 * The configurator for the CDM light export.
27 *
28 * @author k.luther
29 * @since 15.03.2017
30 */
31 public class CdmLightExportConfigurator
32 extends TaxonTreeExportConfiguratorBase<CdmLightExportState,CdmLightExportConfigurator>
33 implements IFactExportConfigurator {
34
35 private static final long serialVersionUID = -1562074221435082060L;
36
37 private CsvIOConfigurator csvIOConfig = CsvIOConfigurator.NewInstance();
38 {
39 csvIOConfig.setFieldsTerminatedBy(",");
40 }
41
42 private boolean isHighlightPrimaryCollector = false;
43
44 private boolean createZipFile = false;
45
46 private UUID statusTree;
47
48 private boolean isFilterIntextReferences = true;
49 private boolean isCreateCondensedDistributionString = true;
50 private CondensedDistributionConfiguration condensedDistributionConfiguration = CondensedDistributionConfiguration.NewDefaultInstance();
51 private boolean isShowAllNameRelationsInHomotypicGroup = false;
52
53 private boolean isShowInverseNameRelationsInHomotypicGroup = false;
54
55 private boolean isAddHTML = true;
56
57 private Comparator<TaxonNodeDto> taxonNodeComparator;
58
59 //filter
60 private boolean isExcludeImportSources = true;
61 private boolean doFactualData = true;
62 private boolean includeUnpublishedFacts = false;
63
64 //metadata /gfbio
65 private String description;
66 private String creator;
67 private String contributor;
68 private String title;
69 private Language language;
70 private String dataSet_landing_page;
71 private String dataset_download_link;
72 private String base_url;
73 private String recommended_citation;
74 private String location;
75 private String keywords;
76 private String licence;
77
78 //************************* FACTORY ******************************/
79
80 public static CdmLightExportConfigurator NewInstance(){
81 CdmLightExportConfigurator result = new CdmLightExportConfigurator(null);
82 return result;
83 }
84
85 public static CdmLightExportConfigurator NewInstance(ICdmDataSource source, File destination){
86 CdmLightExportConfigurator result = new CdmLightExportConfigurator(null);
87 result.setSource(source);
88 result.setDestination(destination);
89 return result;
90 }
91
92 //************************ CONSTRUCTOR *******************************/
93
94 //TODO AM: do we need the transformer parameter here?
95 private CdmLightExportConfigurator(IExportTransformer transformer) {
96 super(transformer);
97 this.resultType = ExportResultType.MAP_BYTE_ARRAY;
98 this.setTarget(TARGET.EXPORT_DATA);
99 setUserFriendlyIOName("Cdm Light Export");
100 }
101
102
103 @Override
104 @SuppressWarnings("unchecked")
105 protected void makeIoClassList() {
106 ioClassList = new Class[] {
107 CdmLightClassificationExport.class
108 };
109 }
110
111 @Override
112 public CdmLightExportState getNewState() {
113 return new CdmLightExportState(this);
114 }
115
116 @Override
117 public String getDestinationNameString() {
118 // TODO Auto-generated method stub
119 return null;
120 }
121
122 //******************** GETTER / SETTER *******************************/
123
124 public boolean isShowAllNameRelationsInHomotypicGroup() {
125 return isShowAllNameRelationsInHomotypicGroup;
126 }
127 public void setShowAllNameRelationsInHomotypicGroup(boolean isShowAllNameRelationsInHomotypicGroup) {
128 this.isShowAllNameRelationsInHomotypicGroup = isShowAllNameRelationsInHomotypicGroup;
129 }
130
131 public boolean isShowInverseNameRelationsInHomotypicGroup() {
132 return isShowInverseNameRelationsInHomotypicGroup;
133 }
134 public void setShowInverseNameRelationsInHomotypicGroup(boolean isShowInverseNameRelationsInHomotypicGroup) {
135 this.isShowInverseNameRelationsInHomotypicGroup = isShowInverseNameRelationsInHomotypicGroup;
136 }
137
138 public String getEncoding() {
139 return csvIOConfig.getEncoding();
140 }
141 public void setEncoding(String encoding) {
142 this.csvIOConfig.setEncoding(encoding);
143 }
144
145 public String getLinesTerminatedBy() {
146 return csvIOConfig.getLinesTerminatedBy();
147 }
148 public void setLinesTerminatedBy(String linesTerminatedBy) {
149 this.csvIOConfig.setLinesTerminatedBy(linesTerminatedBy);
150 }
151
152 public String getFieldsEnclosedBy() {
153 return csvIOConfig.getFieldsEnclosedBy();
154 }
155 public void setFieldsEnclosedBy(String fieldsEnclosedBy) {
156 this.csvIOConfig.setFieldsEnclosedBy(fieldsEnclosedBy);
157 }
158
159 public boolean isIncludeHeaderLines() {
160 return csvIOConfig.isIncludeHeaderLines();
161 }
162 public void setIncludeHeaderLines(boolean hasHeaderLines) {
163 this.csvIOConfig.setIncludeHeaderLines(hasHeaderLines);
164 }
165
166 public String getFieldsTerminatedBy() {
167 return csvIOConfig.getFieldsTerminatedBy();
168 }
169 public void setFieldsTerminatedBy(String fieldsTerminatedBy) {
170 this.csvIOConfig.setFieldsTerminatedBy(fieldsTerminatedBy);
171 }
172
173 public String getDescription() {
174 return description;
175 }
176 public void setDescription(String description) {
177 this.description = description;
178 }
179
180 public String getCreator() {
181 return creator;
182 }
183 public void setCreator(String creator) {
184 this.creator = creator;
185 }
186
187 public String getContributor() {
188 return contributor;
189 }
190 public void setContributor(String contributor) {
191 this.contributor = contributor;
192 }
193
194 public String getTitle() {
195 return title;
196 }
197 public void setTitle(String title) {
198 this.title = title;
199 }
200
201 public Language getLanguage() {
202 return language;
203 }
204 public void setLanguage(Language language) {
205 this.language = language;
206 }
207
208 public String getDataSet_landing_page() {
209 return dataSet_landing_page;
210 }
211 public void setDataSet_landing_page(String dataSet_landing_page) {
212 this.dataSet_landing_page = dataSet_landing_page;
213 }
214
215 public String getDataset_download_link() {
216 return dataset_download_link;
217 }
218 public void setDataset_download_link(String dataset_download_link) {
219 this.dataset_download_link = dataset_download_link;
220 }
221
222 public String getBase_url() {
223 return base_url;
224 }
225 public void setBase_url(String base_url) {
226 this.base_url = base_url;
227 }
228
229 public String getRecommended_citation() {
230 return recommended_citation;
231 }
232 public void setRecommended_citation(String recommended_citation) {
233 this.recommended_citation = recommended_citation;
234 }
235
236 public String getLocation() {
237 return location;
238 }
239 public void setLocation(String location) {
240 this.location = location;
241 }
242
243 public String getKeywords() {
244 return keywords;
245 }
246 public void setKeywords(String keywords) {
247 this.keywords = keywords;
248 }
249
250 public String getLicence() {
251 return licence;
252 }
253 public void setLicence(String licence) {
254 this.licence = licence;
255 }
256
257 public boolean isHighLightPrimaryCollector() {
258 return isHighlightPrimaryCollector;
259 }
260
261 public boolean isCreateZipFile() {
262 return createZipFile;
263 }
264 public void setCreateZipFile(boolean createZipFile) {
265 this.createZipFile = createZipFile;
266 }
267
268 public boolean isFilterIntextReferences() {
269 return isFilterIntextReferences;
270 }
271 public void setRemoveIntextReferences(boolean isRemoveIntextReferences) {
272 this.isFilterIntextReferences = isRemoveIntextReferences;
273 }
274
275 public Comparator<TaxonNodeDto> getTaxonNodeComparator() {
276 return taxonNodeComparator;
277 }
278 public void setTaxonNodeComparator(Comparator<TaxonNodeDto> taxonNodeComparator) {
279 this.taxonNodeComparator = taxonNodeComparator;
280 }
281
282 public boolean isExcludeImportSources() {
283 return isExcludeImportSources;
284 }
285 public void setExcludeImportSources(boolean isFilterImportSources) {
286 this.isExcludeImportSources = isFilterImportSources;
287 }
288
289 public boolean isAddHTML() {
290 return isAddHTML;
291 }
292 public void setAddHTML(boolean isAddHTML) {
293 this.isAddHTML = isAddHTML;
294 }
295
296 public boolean isCreateCondensedDistributionString() {
297 return this.isCreateCondensedDistributionString;
298 }
299 public void setCreateCondensedDistributionString(boolean isCreateCondensedDistributionString) {
300 this.isCreateCondensedDistributionString = isCreateCondensedDistributionString;
301 }
302
303 public CondensedDistributionConfiguration getCondensedDistributionConfiguration() {
304 return this.condensedDistributionConfiguration;
305 }
306 public void setCondensedDistributionConfiguration(CondensedDistributionConfiguration condensedDistributionConfiguration) {
307 this.condensedDistributionConfiguration = condensedDistributionConfiguration;
308 }
309
310 @Override
311 public boolean isDoFactualData() {
312 return doFactualData;
313 }
314 @Override
315 public void setDoFactualData(boolean doFactualData) {
316 this.doFactualData = doFactualData;
317 }
318
319 @Override
320 public boolean isIncludeUnpublishedFacts() {
321 return includeUnpublishedFacts;
322 }
323 @Override
324 public void setIncludeUnpublishedFacts(boolean includeUnpublishedFacts) {
325 this.includeUnpublishedFacts = includeUnpublishedFacts;
326 }
327
328 public UUID getStatusTree() {
329 return statusTree;
330 }
331 public void setStatusTree(UUID statusTree) {
332 this.statusTree = statusTree;
333 }
334
335 }