Project

General

Profile

Download (2.55 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.io.stream.excel;
2

    
3
import java.io.InputStream;
4
import eu.etaxonomy.cdm.common.URI;
5

    
6
import org.apache.log4j.Logger;
7

    
8
import eu.etaxonomy.cdm.database.DbSchemaValidation;
9
import eu.etaxonomy.cdm.database.ICdmDataSource;
10
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
11
import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
12
import eu.etaxonomy.cdm.io.dwca.in.DwcaDataImportConfiguratorBase;
13
import eu.etaxonomy.cdm.io.excel.stream.ExcelStreamImportState;
14
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
15
/**
16
 *
17
 * @author a.oppermann
18
 * @since 08.05.2013
19
 *
20
 */
21
public class ExcelStreamImportConfigurator extends DwcaDataImportConfiguratorBase<ExcelStreamImportState> implements IImportConfigurator {
22

    
23
    private static final long serialVersionUID = 5093164389086186710L;
24

    
25
    @SuppressWarnings("unused")
26
	private static final Logger logger = Logger.getLogger(ExcelStreamImportConfigurator.class);
27

    
28
	private static final String DEFAULT_REF_TITLE = "Excel Stream Import";
29

    
30
	private static IInputTransformer defaultTransformer = null;
31

    
32
	private InputStream stream = null;
33

    
34

    
35
	/**
36
	 * Factory method.
37
	 * @param uri
38
	 * @param destination
39
	 * @return
40
	 */
41
	public static ExcelStreamImportConfigurator NewInstance(URI uri, ICdmDataSource destination, NomenclaturalCode nomenclaturalCode, DbSchemaValidation dbSchemaValidation){
42
		return new ExcelStreamImportConfigurator(uri, destination, nomenclaturalCode, dbSchemaValidation);
43
	}
44

    
45
	/**
46
	 * Constructor.
47
	 * @param uri
48
	 * @param destination
49
	 */
50
	private ExcelStreamImportConfigurator(URI uri, ICdmDataSource destination, NomenclaturalCode nomenclaturalCode, DbSchemaValidation dbSchemaValidation) {
51
		super(uri, destination, defaultTransformer);
52
		setDbSchemaValidation(dbSchemaValidation);
53
		setNomenclaturalCode(nomenclaturalCode);
54
	}
55

    
56
	/**
57
     * Constructor.
58
     * @param uri
59
     * @param destination
60
     */
61
    private ExcelStreamImportConfigurator(InputStream stream, ICdmDataSource destination, NomenclaturalCode nomenclaturalCode, DbSchemaValidation dbSchemaValidation) {
62
        super(null, destination, defaultTransformer);
63
        setDbSchemaValidation(dbSchemaValidation);
64
        setNomenclaturalCode(nomenclaturalCode);
65
        this.stream = stream;
66
    }
67

    
68
	@Override
69
	public ExcelStreamImportState getNewState() {
70
		return new ExcelStreamImportState(this);
71
	}
72

    
73

    
74
	@SuppressWarnings("unchecked")
75
	@Override
76
	protected void makeIoClassList() {
77
		ioClassList = new Class[]{
78
				ExcelStreamImport.class
79
		};
80
	}
81

    
82
	@Override
83
	protected String getDefaultSourceReferenceTitle() {
84
		return DEFAULT_REF_TITLE;
85
	}
86

    
87
}
(3-3/3)