Project

General

Profile

Download (5.68 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 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

    
10
package eu.etaxonomy.cdm.io.dwca.in;
11

    
12

    
13
import org.apache.log4j.Logger;
14

    
15
import eu.etaxonomy.cdm.common.URI;
16
import eu.etaxonomy.cdm.database.ICdmDataSource;
17
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
18
import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
19
import eu.etaxonomy.cdm.io.stream.StreamImportConfiguratorBase;
20

    
21
/**
22
 * @author a.mueller
23
 * @since 04.06.2013
24
 */
25
public abstract class DwcaDataImportConfiguratorBase<STATE extends DwcaDataImportStateBase>
26
        extends StreamImportConfiguratorBase<STATE, URI> implements IImportConfigurator {
27

    
28
    private static final long serialVersionUID = 7091818889753715572L;
29

    
30
    @SuppressWarnings("unused")
31
	private static final Logger logger = Logger.getLogger(DwcaDataImportConfiguratorBase.class);
32

    
33
	private boolean doSplitRelationshipImport = false;
34
	private boolean doSynonymRelationships = true;
35
	private boolean doHigherRankRelationships = true;
36
	private boolean doLowerRankRelationships = true;
37

    
38
	//taxon
39
	private boolean deduplicateNamePublishedIn = true;
40
	private boolean scientificNameIdAsOriginalSourceId = false;
41
	private DatasetUse datasetUse = DatasetUse.CLASSIFICATION;
42
	private boolean useSourceReferenceAsSec = false;
43
	private boolean useParentAsAcceptedIfAcceptedNotExists = true;
44

    
45
	//distribution
46
	//if set to true the dwc locality is not considered during distribution import
47
	private boolean excludeLocality = false;
48

    
49
	//reference
50
	private boolean guessNomenclaturalReferences = false;
51
	private boolean handleAllRefsAsCitation = false;
52

    
53
	//validation
54
	private boolean validateRankConsistency = true;
55

    
56
	public enum DatasetUse{
57
		CLASSIFICATION,
58
		SECUNDUM,
59
		ORIGINAL_SOURCE
60
	}
61

    
62
    public enum ModifiedUse{
63
        UPDATED,
64
        MARKER
65
    }
66

    
67
	protected DwcaDataImportConfiguratorBase(URI uri, ICdmDataSource destination, IInputTransformer defaultTransformer) {
68
		super(defaultTransformer);
69
		this.setSource(uri);
70
		this.setDestination(destination);
71
	}
72

    
73
//************************** GETTER / SETTER **********************************/
74

    
75
	public boolean isDeduplicateNamePublishedIn() {
76
		return deduplicateNamePublishedIn;
77
	}
78
	public void setDeduplicateNamePublishedIn(boolean deduplicateNamePublishedIn) {
79
		this.deduplicateNamePublishedIn = deduplicateNamePublishedIn;
80
	}
81

    
82
	public void setScientificNameIdAsOriginalSourceId(
83
			boolean scientificNameIdAsOriginalSourceId) {
84
		this.scientificNameIdAsOriginalSourceId = scientificNameIdAsOriginalSourceId;
85
	}
86
	public boolean isScientificNameIdAsOriginalSourceId() {
87
		return scientificNameIdAsOriginalSourceId;
88
	}
89

    
90
	public boolean isDatasetsAsClassifications() {
91
		return this.datasetUse.equals(DatasetUse.CLASSIFICATION);
92
	}
93

    
94
	//exclude Locality
95
	/**
96
	 * Should the locality attribute in distributions be excluded from creating
97
	 * named areas used in distributions?
98
	 */
99
	public boolean isExcludeLocality() {
100
		return excludeLocality;
101
	}
102
	/**
103
	 * @see #isExcludeLocality()
104
	 */
105
	public void setExcludeLocality(boolean excludeLocality) {
106
		this.excludeLocality = excludeLocality;
107
	}
108

    
109
	public boolean isValidateRankConsistency() {
110
		return validateRankConsistency;
111
	}
112
	public void setValidateRankConsistency(boolean validateRankConsistency) {
113
		this.validateRankConsistency = validateRankConsistency;
114
	}
115

    
116
	public boolean isDatasetsAsSecundumReference() {
117
		return this.datasetUse.equals(DatasetUse.SECUNDUM);
118
	}
119
	public boolean isDatasetsAsOriginalSource() {
120
		return this.datasetUse.equals(DatasetUse.ORIGINAL_SOURCE);
121
	}
122

    
123
	public void setDatasetUse(DatasetUse datasetUse) {
124
		this.datasetUse = datasetUse;
125
	}
126

    
127
	public boolean isGuessNomenclaturalReferences() {
128
		return guessNomenclaturalReferences;
129
	}
130
	public void setGuessNomenclaturalReferences(boolean guessNomenclaturalReferences) {
131
		this.guessNomenclaturalReferences = guessNomenclaturalReferences;
132
	}
133

    
134
	public boolean isHandleAllRefsAsCitation() {
135
		return handleAllRefsAsCitation;
136
	}
137
	public void setHandleAllRefsAsCitation(boolean handleAllRefsAsCitation) {
138
		this.handleAllRefsAsCitation = handleAllRefsAsCitation;
139
	}
140

    
141
	public boolean isUseSourceReferenceAsSec() {
142
		return useSourceReferenceAsSec;
143
	}
144
	public void setUseSourceReferenceAsSec(boolean useSourceReferenceAsSec) {
145
		this.useSourceReferenceAsSec = useSourceReferenceAsSec;
146
	}
147

    
148
	public boolean isUseParentAsAcceptedIfAcceptedNotExists() {
149
		return useParentAsAcceptedIfAcceptedNotExists;
150
	}
151
	public void setUseParentAsAcceptedIfAcceptedNotExists(boolean useParentAsAcceptedIfAcceptedNotExists) {
152
		this.useParentAsAcceptedIfAcceptedNotExists = useParentAsAcceptedIfAcceptedNotExists;
153
	}
154

    
155
    public boolean isDoSplitRelationshipImport() {
156
        return doSplitRelationshipImport;
157
    }
158
    public void setDoSplitRelationshipImport(boolean doSplitRelationshipImport) {
159
        this.doSplitRelationshipImport = doSplitRelationshipImport;
160
    }
161

    
162
    public boolean isDoSynonymRelationships() {
163
        return doSynonymRelationships;
164
    }
165
    public void setDoSynonymRelationships(boolean doSynonymRelationships) {
166
        this.doSynonymRelationships = doSynonymRelationships;
167
    }
168

    
169
    public boolean isDoHigherRankRelationships() {
170
        return doHigherRankRelationships;
171
    }
172
    public void setDoHigherRankRelationships(boolean doHigherRankRelationships) {
173
        this.doHigherRankRelationships = doHigherRankRelationships;
174
    }
175

    
176
    public boolean isDoLowerRankRelationships() {
177
        return doLowerRankRelationships;
178
    }
179
    public void setDoLowerRankRelationships(boolean doLowerRankRelationships) {
180
        this.doLowerRankRelationships = doLowerRankRelationships;
181
    }
182
}
(4-4/17)