5276a5821625c2466e667c43c672ff16bbc60735
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / wfo / out / WfoBackboneExportConfigurator.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.wfo.out;
10
11 import java.io.File;
12
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;
18
19 /**
20 * Configurator for WFO Backbone export.
21 *
22 * @see https://dev.e-taxonomy.eu/redmine/issues/10446
23 *
24 * @author a.mueller
25 * @since 2023-12-08
26 */
27 public class WfoBackboneExportConfigurator
28 extends TaxonTreeExportConfiguratorBase<WfoBackboneExportState,WfoBackboneExportConfigurator> {
29
30 private static final long serialVersionUID = -6543105949709811075L;
31
32 private CsvIOConfigurator csvIOConfig = CsvIOConfigurator.NewInstance();
33 {
34 csvIOConfig.setFieldsTerminatedBy(",");
35 }
36
37 private boolean createZipFile = true;
38
39 private String familyStr = null;
40
41 private String sourceLinkBaseUrl = null;
42
43 private static final WfoBackboneExportTransformer transformer = new WfoBackboneExportTransformer();
44
45 //************************* FACTORY ******************************/
46
47 public static WfoBackboneExportConfigurator NewInstance(){
48 WfoBackboneExportConfigurator result = new WfoBackboneExportConfigurator(transformer);
49 return result;
50 }
51
52 public static WfoBackboneExportConfigurator NewInstance(ICdmDataSource source, File destination){
53 WfoBackboneExportConfigurator result = new WfoBackboneExportConfigurator(transformer);
54 result.setSource(source);
55 result.setDestination(destination);
56 return result;
57 }
58
59 //************************ CONSTRUCTOR *******************************/
60
61 private WfoBackboneExportConfigurator(IExportTransformer transformer) {
62 super(transformer);
63 this.resultType = ExportResultType.MAP_BYTE_ARRAY;
64 this.setTarget(TARGET.EXPORT_DATA);
65 setUserFriendlyIOName("WFO Classification Export");
66 }
67
68 @Override
69 @SuppressWarnings("unchecked")
70 protected void makeIoClassList() {
71 ioClassList = new Class[] {
72 WfoBackboneExport.class
73 };
74 }
75
76 @Override
77 public WfoBackboneExportState getNewState() {
78 return new WfoBackboneExportState(this);
79 }
80
81 @Override
82 public String getDestinationNameString() {
83 // TODO Auto-generated method stub
84 return null;
85 }
86
87 //******************** GETTER / SETTER *******************************/
88
89 public String getEncoding() {
90 return csvIOConfig.getEncoding();
91 }
92 public void setEncoding(String encoding) {
93 this.csvIOConfig.setEncoding(encoding);
94 }
95
96 public String getLinesTerminatedBy() {
97 return csvIOConfig.getLinesTerminatedBy();
98 }
99 public void setLinesTerminatedBy(String linesTerminatedBy) {
100 this.csvIOConfig.setLinesTerminatedBy(linesTerminatedBy);
101 }
102
103 public String getFieldsEnclosedBy() {
104 return csvIOConfig.getFieldsEnclosedBy();
105 }
106 public void setFieldsEnclosedBy(String fieldsEnclosedBy) {
107 this.csvIOConfig.setFieldsEnclosedBy(fieldsEnclosedBy);
108 }
109
110 public boolean isIncludeHeaderLines() {
111 return csvIOConfig.isIncludeHeaderLines();
112 }
113 public void setIncludeHeaderLines(boolean hasHeaderLines) {
114 this.csvIOConfig.setIncludeHeaderLines(hasHeaderLines);
115 }
116
117 public String getFieldsTerminatedBy() {
118 return csvIOConfig.getFieldsTerminatedBy();
119 }
120 public void setFieldsTerminatedBy(String fieldsTerminatedBy) {
121 this.csvIOConfig.setFieldsTerminatedBy(fieldsTerminatedBy);
122 }
123
124 public boolean isCreateZipFile() {
125 return createZipFile;
126 }
127 public void setCreateZipFile(boolean createZipFile) {
128 this.createZipFile = createZipFile;
129 }
130
131 //familyStr
132 public String getFamilyStr() {
133 return familyStr;
134 }
135 public void setFamilyStr(String familyStr) {
136 this.familyStr = familyStr;
137 }
138
139 //sourceLinkBaseUrl
140 /**
141 * The base url without /cdm_dataportal/taxon/{uuid}
142 * e.g. https://portal.cybertaxonomy.org/salvador
143 */
144 public String getSourceLinkBaseUrl() {
145 return sourceLinkBaseUrl;
146 }
147 public void setSourceLinkBaseUrl(String sourceLinkBaseUrl) {
148 this.sourceLinkBaseUrl = sourceLinkBaseUrl;
149 }
150 }