2 * Copyright (C) 2017 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.cdm
.io
.cdmLight
;
12 import java
.util
.Comparator
;
13 import java
.util
.UUID
;
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
;
26 * The configurator for the CDM light export.
31 public class CdmLightExportConfigurator
32 extends TaxonTreeExportConfiguratorBase
<CdmLightExportState
,CdmLightExportConfigurator
>
33 implements IFactExportConfigurator
{
35 private static final long serialVersionUID
= -1562074221435082060L;
37 private CsvIOConfigurator csvIOConfig
= CsvIOConfigurator
.NewInstance();
39 csvIOConfig
.setFieldsTerminatedBy(",");
42 private boolean isHighlightPrimaryCollector
= false;
44 private boolean createZipFile
= false;
46 private UUID statusTree
;
48 private boolean isFilterIntextReferences
= true;
49 private boolean isCreateCondensedDistributionString
= true;
50 private CondensedDistributionConfiguration condensedDistributionConfiguration
= CondensedDistributionConfiguration
.NewDefaultInstance();
51 private boolean isShowAllNameRelationsInHomotypicGroup
= false;
53 private boolean isShowInverseNameRelationsInHomotypicGroup
= false;
55 private boolean isAddHTML
= true;
57 private Comparator
<TaxonNodeDto
> taxonNodeComparator
;
60 private boolean isExcludeImportSources
= true;
61 private boolean doFactualData
= true;
62 private boolean includeUnpublishedFacts
= false;
65 private String description
;
66 private String creator
;
67 private String contributor
;
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
;
78 //************************* FACTORY ******************************/
80 public static CdmLightExportConfigurator
NewInstance(){
81 CdmLightExportConfigurator result
= new CdmLightExportConfigurator(null);
85 public static CdmLightExportConfigurator
NewInstance(ICdmDataSource source
, File destination
){
86 CdmLightExportConfigurator result
= new CdmLightExportConfigurator(null);
87 result
.setSource(source
);
88 result
.setDestination(destination
);
92 //************************ CONSTRUCTOR *******************************/
94 //TODO AM: do we need the transformer parameter here?
95 private CdmLightExportConfigurator(IExportTransformer transformer
) {
97 this.resultType
= ExportResultType
.MAP_BYTE_ARRAY
;
98 this.setTarget(TARGET
.EXPORT_DATA
);
99 setUserFriendlyIOName("Cdm Light Export");
104 @SuppressWarnings("unchecked")
105 protected void makeIoClassList() {
106 ioClassList
= new Class
[] {
107 CdmLightClassificationExport
.class
112 public CdmLightExportState
getNewState() {
113 return new CdmLightExportState(this);
117 public String
getDestinationNameString() {
118 // TODO Auto-generated method stub
122 //******************** GETTER / SETTER *******************************/
124 public boolean isShowAllNameRelationsInHomotypicGroup() {
125 return isShowAllNameRelationsInHomotypicGroup
;
127 public void setShowAllNameRelationsInHomotypicGroup(boolean isShowAllNameRelationsInHomotypicGroup
) {
128 this.isShowAllNameRelationsInHomotypicGroup
= isShowAllNameRelationsInHomotypicGroup
;
131 public boolean isShowInverseNameRelationsInHomotypicGroup() {
132 return isShowInverseNameRelationsInHomotypicGroup
;
134 public void setShowInverseNameRelationsInHomotypicGroup(boolean isShowInverseNameRelationsInHomotypicGroup
) {
135 this.isShowInverseNameRelationsInHomotypicGroup
= isShowInverseNameRelationsInHomotypicGroup
;
138 public String
getEncoding() {
139 return csvIOConfig
.getEncoding();
141 public void setEncoding(String encoding
) {
142 this.csvIOConfig
.setEncoding(encoding
);
145 public String
getLinesTerminatedBy() {
146 return csvIOConfig
.getLinesTerminatedBy();
148 public void setLinesTerminatedBy(String linesTerminatedBy
) {
149 this.csvIOConfig
.setLinesTerminatedBy(linesTerminatedBy
);
152 public String
getFieldsEnclosedBy() {
153 return csvIOConfig
.getFieldsEnclosedBy();
155 public void setFieldsEnclosedBy(String fieldsEnclosedBy
) {
156 this.csvIOConfig
.setFieldsEnclosedBy(fieldsEnclosedBy
);
159 public boolean isIncludeHeaderLines() {
160 return csvIOConfig
.isIncludeHeaderLines();
162 public void setIncludeHeaderLines(boolean hasHeaderLines
) {
163 this.csvIOConfig
.setIncludeHeaderLines(hasHeaderLines
);
166 public String
getFieldsTerminatedBy() {
167 return csvIOConfig
.getFieldsTerminatedBy();
169 public void setFieldsTerminatedBy(String fieldsTerminatedBy
) {
170 this.csvIOConfig
.setFieldsTerminatedBy(fieldsTerminatedBy
);
173 public String
getDescription() {
176 public void setDescription(String description
) {
177 this.description
= description
;
180 public String
getCreator() {
183 public void setCreator(String creator
) {
184 this.creator
= creator
;
187 public String
getContributor() {
190 public void setContributor(String contributor
) {
191 this.contributor
= contributor
;
194 public String
getTitle() {
197 public void setTitle(String title
) {
201 public Language
getLanguage() {
204 public void setLanguage(Language language
) {
205 this.language
= language
;
208 public String
getDataSet_landing_page() {
209 return dataSet_landing_page
;
211 public void setDataSet_landing_page(String dataSet_landing_page
) {
212 this.dataSet_landing_page
= dataSet_landing_page
;
215 public String
getDataset_download_link() {
216 return dataset_download_link
;
218 public void setDataset_download_link(String dataset_download_link
) {
219 this.dataset_download_link
= dataset_download_link
;
222 public String
getBase_url() {
225 public void setBase_url(String base_url
) {
226 this.base_url
= base_url
;
229 public String
getRecommended_citation() {
230 return recommended_citation
;
232 public void setRecommended_citation(String recommended_citation
) {
233 this.recommended_citation
= recommended_citation
;
236 public String
getLocation() {
239 public void setLocation(String location
) {
240 this.location
= location
;
243 public String
getKeywords() {
246 public void setKeywords(String keywords
) {
247 this.keywords
= keywords
;
250 public String
getLicence() {
253 public void setLicence(String licence
) {
254 this.licence
= licence
;
257 public boolean isHighLightPrimaryCollector() {
258 return isHighlightPrimaryCollector
;
261 public boolean isCreateZipFile() {
262 return createZipFile
;
264 public void setCreateZipFile(boolean createZipFile
) {
265 this.createZipFile
= createZipFile
;
268 public boolean isFilterIntextReferences() {
269 return isFilterIntextReferences
;
271 public void setRemoveIntextReferences(boolean isRemoveIntextReferences
) {
272 this.isFilterIntextReferences
= isRemoveIntextReferences
;
275 public Comparator
<TaxonNodeDto
> getTaxonNodeComparator() {
276 return taxonNodeComparator
;
278 public void setTaxonNodeComparator(Comparator
<TaxonNodeDto
> taxonNodeComparator
) {
279 this.taxonNodeComparator
= taxonNodeComparator
;
282 public boolean isExcludeImportSources() {
283 return isExcludeImportSources
;
285 public void setExcludeImportSources(boolean isFilterImportSources
) {
286 this.isExcludeImportSources
= isFilterImportSources
;
289 public boolean isAddHTML() {
292 public void setAddHTML(boolean isAddHTML
) {
293 this.isAddHTML
= isAddHTML
;
296 public boolean isCreateCondensedDistributionString() {
297 return this.isCreateCondensedDistributionString
;
299 public void setCreateCondensedDistributionString(boolean isCreateCondensedDistributionString
) {
300 this.isCreateCondensedDistributionString
= isCreateCondensedDistributionString
;
303 public CondensedDistributionConfiguration
getCondensedDistributionConfiguration() {
304 return this.condensedDistributionConfiguration
;
306 public void setCondensedDistributionConfiguration(CondensedDistributionConfiguration condensedDistributionConfiguration
) {
307 this.condensedDistributionConfiguration
= condensedDistributionConfiguration
;
311 public boolean isDoFactualData() {
312 return doFactualData
;
315 public void setDoFactualData(boolean doFactualData
) {
316 this.doFactualData
= doFactualData
;
320 public boolean isIncludeUnpublishedFacts() {
321 return includeUnpublishedFacts
;
324 public void setIncludeUnpublishedFacts(boolean includeUnpublishedFacts
) {
325 this.includeUnpublishedFacts
= includeUnpublishedFacts
;
328 public UUID
getStatusTree() {
331 public void setStatusTree(UUID statusTree
) {
332 this.statusTree
= statusTree
;