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
.wfo
.out
;
13 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
14 import eu
.etaxonomy
.cdm
.io
.common
.CsvIOConfigurator
;
15 import eu
.etaxonomy
.cdm
.io
.common
.ExportResultType
;
16 import eu
.etaxonomy
.cdm
.io
.common
.mapping
.out
.IExportTransformer
;
17 import eu
.etaxonomy
.cdm
.io
.out
.TaxonTreeExportConfiguratorBase
;
20 * Configurator for WFO Backbone export.
22 * @see https://dev.e-taxonomy.eu/redmine/issues/10446
27 public class WfoBackboneExportConfigurator
28 extends TaxonTreeExportConfiguratorBase
<WfoBackboneExportState
,WfoBackboneExportConfigurator
> {
30 private static final long serialVersionUID
= -6543105949709811075L;
32 private CsvIOConfigurator csvIOConfig
= CsvIOConfigurator
.NewInstance();
34 csvIOConfig
.setFieldsTerminatedBy(",");
37 private boolean createZipFile
= true;
39 private String familyStr
= null;
41 private String sourceLinkBaseUrl
= null;
43 private static final WfoBackboneExportTransformer transformer
= new WfoBackboneExportTransformer();
45 //************************* FACTORY ******************************/
47 public static WfoBackboneExportConfigurator
NewInstance(){
48 WfoBackboneExportConfigurator result
= new WfoBackboneExportConfigurator(transformer
);
52 public static WfoBackboneExportConfigurator
NewInstance(ICdmDataSource source
, File destination
){
53 WfoBackboneExportConfigurator result
= new WfoBackboneExportConfigurator(transformer
);
54 result
.setSource(source
);
55 result
.setDestination(destination
);
59 //************************ CONSTRUCTOR *******************************/
61 private WfoBackboneExportConfigurator(IExportTransformer transformer
) {
63 this.resultType
= ExportResultType
.MAP_BYTE_ARRAY
;
64 this.setTarget(TARGET
.EXPORT_DATA
);
65 setUserFriendlyIOName("WFO Classification Export");
69 @SuppressWarnings("unchecked")
70 protected void makeIoClassList() {
71 ioClassList
= new Class
[] {
72 WfoBackboneExport
.class
77 public WfoBackboneExportState
getNewState() {
78 return new WfoBackboneExportState(this);
82 public String
getDestinationNameString() {
83 // TODO Auto-generated method stub
87 //******************** GETTER / SETTER *******************************/
89 public String
getEncoding() {
90 return csvIOConfig
.getEncoding();
92 public void setEncoding(String encoding
) {
93 this.csvIOConfig
.setEncoding(encoding
);
96 public String
getLinesTerminatedBy() {
97 return csvIOConfig
.getLinesTerminatedBy();
99 public void setLinesTerminatedBy(String linesTerminatedBy
) {
100 this.csvIOConfig
.setLinesTerminatedBy(linesTerminatedBy
);
103 public String
getFieldsEnclosedBy() {
104 return csvIOConfig
.getFieldsEnclosedBy();
106 public void setFieldsEnclosedBy(String fieldsEnclosedBy
) {
107 this.csvIOConfig
.setFieldsEnclosedBy(fieldsEnclosedBy
);
110 public boolean isIncludeHeaderLines() {
111 return csvIOConfig
.isIncludeHeaderLines();
113 public void setIncludeHeaderLines(boolean hasHeaderLines
) {
114 this.csvIOConfig
.setIncludeHeaderLines(hasHeaderLines
);
117 public String
getFieldsTerminatedBy() {
118 return csvIOConfig
.getFieldsTerminatedBy();
120 public void setFieldsTerminatedBy(String fieldsTerminatedBy
) {
121 this.csvIOConfig
.setFieldsTerminatedBy(fieldsTerminatedBy
);
124 public boolean isCreateZipFile() {
125 return createZipFile
;
127 public void setCreateZipFile(boolean createZipFile
) {
128 this.createZipFile
= createZipFile
;
132 public String
getFamilyStr() {
135 public void setFamilyStr(String familyStr
) {
136 this.familyStr
= familyStr
;
141 * The base url without /cdm_dataportal/taxon/{uuid}
142 * e.g. https://portal.cybertaxonomy.org/salvador
144 public String
getSourceLinkBaseUrl() {
145 return sourceLinkBaseUrl
;
147 public void setSourceLinkBaseUrl(String sourceLinkBaseUrl
) {
148 this.sourceLinkBaseUrl
= sourceLinkBaseUrl
;