2 * Copyright (C) 2009 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.
10 package eu
.etaxonomy
.cdm
.io
.markup
;
13 import java
.util
.UUID
;
15 import org
.apache
.log4j
.Logger
;
16 import org
.springframework
.stereotype
.Component
;
18 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
19 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
;
20 import eu
.etaxonomy
.cdm
.io
.common
.XmlImportConfiguratorBase
;
21 import eu
.etaxonomy
.cdm
.io
.common
.mapping
.IInputTransformer
;
22 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
23 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
26 public class MarkupImportConfigurator
extends XmlImportConfiguratorBase
<MarkupImportState
> implements IImportConfigurator
{
27 private static final Logger logger
= Logger
.getLogger(MarkupImportConfigurator
.class);
29 public static MarkupImportConfigurator
NewInstance(URI uri
, ICdmDataSource destination
){
30 return new MarkupImportConfigurator(uri
, destination
);
33 private boolean replaceStandardKeyTitles
= true;
35 private boolean doTaxa
= true;
39 private static IInputTransformer defaultTransformer
= null;
40 private String classificationTitle
= "E-Flora Import";
41 private String sourceReferenceTitle
= "E-Flora";
42 private UUID defaultLanguageUuid
;
44 //TODO move to state, but a state gets lost after each import.invoke, so I can't move this information
45 //from the one import to another import in case I run 2 imports in line
46 private UUID lastTaxonUuid
;
48 //if true, the keys will be printed after they have been created
49 private boolean doPrintKeys
= false;
53 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#makeIoClassList()
55 protected void makeIoClassList(){
56 ioClassList
= new Class
[]{
57 MarkupDocumentImport
.class
61 protected MarkupImportConfigurator() {
62 super(defaultTransformer
);
69 protected MarkupImportConfigurator(IInputTransformer transformer
) {
78 protected MarkupImportConfigurator(URI uri
, ICdmDataSource destination
) {
79 super(defaultTransformer
);
81 setDestination(destination
);
88 protected MarkupImportConfigurator(URI uri
, ICdmDataSource destination
, IInputTransformer transformer
) {
91 setDestination(destination
);
96 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getNewState()
98 public MarkupImportState
getNewState() {
99 return new MarkupImportState(this);
104 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSourceReference()
107 public Reference
getSourceReference() {
109 if (this.sourceReference
== null){
110 logger
.warn("getSource Reference not yet fully implemented");
111 sourceReference
= ReferenceFactory
.newGeneric();
112 sourceReference
.setTitleCache(sourceReferenceTitle
, true);
114 return sourceReference
;
119 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getSourceNameString()
121 public String
getSourceNameString() {
122 if (this.getSource() == null){
125 return this.getSource().toString();
129 public void setClassificationTitle(String classificationTitle
) {
130 this.classificationTitle
= classificationTitle
;
133 public String
getClassificationTitle() {
134 return classificationTitle
;
139 public UUID
getLastTaxonUuid() {
140 return lastTaxonUuid
;
143 public void setLastTaxonUuid(UUID lastTaxonUuid
) {
144 this.lastTaxonUuid
= lastTaxonUuid
;
147 public void setDoPrintKeys(boolean doPrintKeys
) {
148 this.doPrintKeys
= doPrintKeys
;
151 public boolean isDoPrintKeys() {
155 public UUID
getDefaultLanguageUuid() {
156 return this.defaultLanguageUuid
;
159 public void setDefaultLanguageUuid(UUID defaultLanguageUuid
) {
160 this.defaultLanguageUuid
= defaultLanguageUuid
;
163 public boolean isDoTaxa() {
166 public void setDoTaxa(boolean doTaxa
) {
167 this.doTaxa
= doTaxa
;
170 public void setReplaceStandardKeyTitles(boolean replaceStandardKeyTitles
) {
171 this.replaceStandardKeyTitles
= replaceStandardKeyTitles
;
174 public boolean isReplaceStandardKeyTitles() {
175 return replaceStandardKeyTitles
;