2 * Copyright (C) 2019 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
.cdm2cdm
;
11 import java
.util
.Collection
;
12 import java
.util
.HashSet
;
13 import java
.util
.UUID
;
15 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
16 import eu
.etaxonomy
.cdm
.database
.ICdmImportSource
;
17 import eu
.etaxonomy
.cdm
.filter
.TaxonNodeFilter
;
18 import eu
.etaxonomy
.cdm
.filter
.VocabularyFilter
;
19 import eu
.etaxonomy
.cdm
.io
.common
.ITaxonNodeOutStreamPartitioner
;
20 import eu
.etaxonomy
.cdm
.io
.common
.ImportConfiguratorBase
;
21 import eu
.etaxonomy
.cdm
.io
.common
.mapping
.IInputTransformer
;
22 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
25 * Configuration base class for Cdm2Cdm migration.
30 public class Cdm2CdmImportConfigurator
31 extends ImportConfiguratorBase
<Cdm2CdmImportState
, ICdmImportSource
>{
33 private static final long serialVersionUID
= 5454400624983256935L;
35 private static IInputTransformer myTransformer
= null;
37 private TaxonNodeFilter taxonNodeFilter
= TaxonNodeFilter
.NewInstance();
39 private VocabularyFilter vocabularyFilter
= VocabularyFilter
.NewInstance();
40 private Collection
<UUID
> graphFilter
= new HashSet
<>();
41 private boolean partialVocabulariesForGraphs
= true;
43 private ITaxonNodeOutStreamPartitioner partitioner
;
44 private boolean concurrent
= false; //
46 private boolean doTaxa
= false;
47 private boolean doDescriptions
= false;
48 private boolean doVocabularies
= false;
50 private boolean addSources
= true;
51 private boolean removeImportSources
= false;
53 private UserImportMode createdByMode
= UserImportMode
.NONE
;
54 private UserImportMode updatedByMode
= UserImportMode
.NONE
;
56 //***************************** NewInstance ************************/
58 public static Cdm2CdmImportConfigurator
NewInstace(ICdmImportSource source
, ICdmDataSource destination
){
59 return new Cdm2CdmImportConfigurator(source
, destination
);
62 // ***************************** CONSTRUCTOR **********************/
64 public Cdm2CdmImportConfigurator(ICdmImportSource source
, ICdmDataSource destination
) {
66 this.setSource(source
);
67 this.setDestination(destination
);
70 // ****************************** METHODS *********************/
72 @SuppressWarnings("unchecked")
74 public Cdm2CdmImportState
getNewState() {
75 return new Cdm2CdmImportState(this);
78 @SuppressWarnings("unchecked")
80 protected void makeIoClassList() {
81 ioClassList
= new Class
[]{
82 Cdm2CdmVocabularyImport
.class,
83 Cdm2CdmTaxonNodeImport
.class ,
84 Cdm2CdmDescriptionImport
.class ,
90 public Reference
getSourceReference() {
91 return sourceReference
;
94 // ******************* GETTER / SETTER ***************************/
96 public TaxonNodeFilter
getTaxonNodeFilter() {
97 return taxonNodeFilter
;
99 public void setTaxonNodeFilter(TaxonNodeFilter taxonNodeFilter
) {
100 this.taxonNodeFilter
= taxonNodeFilter
;
103 public ITaxonNodeOutStreamPartitioner
getPartitioner() {
106 public void setPartitioner(ITaxonNodeOutStreamPartitioner partitioner
) {
107 this.partitioner
= partitioner
;
110 public boolean isConcurrent() {
113 public void setConcurrent(boolean concurrent
) {
114 this.concurrent
= concurrent
;
117 public boolean isDoDescriptions() {
118 return doDescriptions
;
120 public void setDoDescriptions(boolean doDescriptions
) {
121 this.doDescriptions
= doDescriptions
;
124 public boolean isDoTaxa() {
127 public void setDoTaxa(boolean doTaxa
) {
128 this.doTaxa
= doTaxa
;
131 public boolean isAddSources() {
134 public void setAddSources(boolean addSources
) {
135 this.addSources
= addSources
;
138 public boolean isRemoveImportSources() {
139 return removeImportSources
;
141 public void setRemoveImportSources(boolean removeImportSources
) {
142 this.removeImportSources
= removeImportSources
;
145 public boolean isDoVocabularies() {
146 return doVocabularies
;
149 public void setDoVocabularies(boolean doVocabularies
) {
150 this.doVocabularies
= doVocabularies
;
153 public VocabularyFilter
getVocabularyFilter() {
154 return vocabularyFilter
;
156 public void setVocabularyFilter(VocabularyFilter vocabularyFilter
) {
157 this.vocabularyFilter
= vocabularyFilter
;
160 public Collection
<UUID
> getGraphFilter() {
163 public void setGraphFilter(Collection
<UUID
> graphFilter
) {
164 this.graphFilter
= graphFilter
;
167 public UserImportMode
getCreatedByMode() {
168 return createdByMode
;
170 public void setCreatedByMode(UserImportMode createdByMode
) {
171 this.createdByMode
= createdByMode
;
174 public UserImportMode
getUpdatedByMode() {
175 return updatedByMode
;
177 public void setUpdatedByMode(UserImportMode updatedByMode
) {
178 this.updatedByMode
= updatedByMode
;
181 public boolean isPartialVocabulariesForGraphs() {
182 return partialVocabulariesForGraphs
;
185 public void setPartialVocabulariesForGraphs(boolean partialVocabulariesForGraphs
) {
186 this.partialVocabulariesForGraphs
= partialVocabulariesForGraphs
;