View Javadoc

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.specimen.excel.in;
11  
12  
13  import org.apache.log4j.Logger;
14  
15  import eu.etaxonomy.cdm.database.ICdmDataSource;
16  import eu.etaxonomy.cdm.io.common.IImportConfigurator;
17  import eu.etaxonomy.cdm.io.common.ImportConfiguratorBase;
18  import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
19  import eu.etaxonomy.cdm.model.reference.ReferenceBase;
20  import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
21  
22  /**
23   * @author p.kelbert
24   * @created 29.10.2008
25   * @version 1.0
26   */
27  public class SpecimenExcelImportConfigurator extends ImportConfiguratorBase<SpecimenExcelImportState> implements IImportConfigurator {
28  	private static final Logger logger = Logger.getLogger(SpecimenExcelImportConfigurator.class);
29  	private boolean doParsing = false;
30  	private boolean reuseMetadata = false;
31  	private boolean reuseTaxon = false;
32  	private String taxonReference = null;
33  	
34  	
35  	//TODO
36  	private static IInputTransformer defaultTransformer = null;
37  
38  	
39  	@SuppressWarnings("unchecked")
40  	protected void makeIoClassList(){
41  		ioClassList = new Class[]{
42  			SpecimenExcelImport.class,
43  		};
44  	};
45  	
46  	public static SpecimenExcelImportConfigurator NewInstance(String url,
47  			ICdmDataSource destination){
48  		return new SpecimenExcelImportConfigurator(url, destination);
49  	}
50  	
51  	
52  	/**
53  	 * @param berlinModelSource
54  	 * @param sourceReference
55  	 * @param destination
56  	 */
57  	private SpecimenExcelImportConfigurator(String url, ICdmDataSource destination) {
58  		super(defaultTransformer);
59  		setSource(url);
60  		setDestination(destination);
61  	}
62  	
63  	
64  	
65  	/* (non-Javadoc)
66  	 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getNewState()
67  	 */
68  	public SpecimenExcelImportState getNewState() {
69  		return new SpecimenExcelImportState(this);
70  	}
71  
72  	/* (non-Javadoc)
73  	 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSource()
74  	 */
75  	public String getSource() {
76  		return (String)super.getSource();
77  	}
78  	
79  	/**
80  	 * @param file
81  	 */
82  	public void setSource(String file) {
83  		super.setSource(file);
84  	}
85  	
86  
87  
88  	/* (non-Javadoc)
89  	 * @see eu.etaxonomy.cdm.io.common.ImportConfiguratorBase#getSourceReference()
90  	 */
91  	@Override
92  	public ReferenceBase getSourceReference() {
93  		//TODO
94  		if (this.sourceReference == null){
95  			logger.warn("getSource Reference not yet fully implemented");
96  			ReferenceFactory refFactory = ReferenceFactory.newInstance();
97  			sourceReference = refFactory.newDatabase();
98  			sourceReference.setTitleCache("SYNTHESYS specimen import", true);
99  		}
100 		return sourceReference;
101 	}
102 	
103 	public void setTaxonReference(String taxonReference) {
104 		this.taxonReference = taxonReference;
105 	}
106 	
107 	public ReferenceBase getTaxonReference() {
108 		//TODO
109 		if (this.taxonReference == null){
110 			logger.info("getTaxonReference not yet fully implemented");
111 		}
112 		return sourceReference;
113 	}
114 
115 
116 	/* (non-Javadoc)
117 	 * @see eu.etaxonomy.cdm.io.common.IImportConfigurator#getSourceNameString()
118 	 */
119 	public String getSourceNameString() {
120 		if (this.getSource() == null){
121 			return null;
122 		}else{
123 			return this.getSource();
124 		}
125 	}
126 	
127 	public void setDoAutomaticParsing(boolean doParsing){
128 		this.doParsing=doParsing;
129 	}
130 	
131 	public boolean getDoAutomaticParsing(){
132 		return this.doParsing;
133 	}
134 	
135 	public void setReUseExistingMetadata(boolean reuseMetadata){
136 		this.reuseMetadata = reuseMetadata;
137 	}
138 	
139 	public boolean getReUseExistingMetadata(){
140 		return this.reuseMetadata;
141 	}
142 	
143 	public void setReUseTaxon(boolean reuseTaxon){
144 		this.reuseTaxon = reuseTaxon;
145 	}
146 	
147 	public boolean getDoReUseTaxon(){
148 		return this.reuseTaxon;
149 	}
150 	
151 	
152 	
153 }