Project

General

Profile

Download (3.83 KB) Statistics
| Branch: | 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.eflora.centralAfrica.checklist;
11

    
12
import java.sql.ResultSet;
13
import java.sql.SQLException;
14
import java.util.HashMap;
15
import java.util.Map;
16

    
17
import org.apache.log4j.Logger;
18
import org.springframework.stereotype.Component;
19

    
20
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
21
import eu.etaxonomy.cdm.io.common.IOValidator;
22
import eu.etaxonomy.cdm.io.common.mapping.DbImportMapping;
23
import eu.etaxonomy.cdm.io.common.mapping.DbImportObjectCreationMapper;
24
import eu.etaxonomy.cdm.io.common.mapping.IMappingImport;
25
import eu.etaxonomy.cdm.io.eflora.centralAfrica.checklist.validation.CentralAfricaChecklistTaxonImportValidator;
26
import eu.etaxonomy.cdm.model.common.CdmBase;
27
import eu.etaxonomy.cdm.model.reference.Reference;
28
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
29
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
30

    
31

    
32
/**
33
 * @author a.mueller
34
 * @since 20.02.2010
35
 */
36
@Component
37
public class CentralAfricaChecklistReferenceImport  extends CentralAfricaChecklistImportBase<Reference> implements IMappingImport<Reference, CentralAfricaChecklistImportState>{
38
	private static final Logger logger = Logger.getLogger(CentralAfricaChecklistReferenceImport.class);
39

    
40
	private DbImportMapping<?,?> mapping;
41

    
42
//	private int modCount = 10000;
43
	private static final String pluralString = "references";
44
	private static final String dbTableName = "checklist";
45
	private static final Class<?> cdmTargetClass = TaxonBase.class;
46
	private static final String strOrderBy = " ORDER BY source ";
47

    
48
	public CentralAfricaChecklistReferenceImport(){
49
		super(pluralString, dbTableName, cdmTargetClass);
50
	}
51

    
52

    
53

    
54
	/* (non-Javadoc)
55
	 * @see eu.etaxonomy.cdm.io.erms.ErmsImportBase#getIdQuery()
56
	 */
57
	@Override
58
	protected String getIdQuery() {
59
		String strQuery = " SELECT DISTINCT source FROM " + dbTableName +
60
						strOrderBy;
61
		return strQuery;
62
	}
63

    
64
	@Override
65
	protected DbImportMapping<?,?> getMapping() {
66
		if (mapping == null){
67
			mapping = new DbImportMapping();
68
				mapping.addMapper(DbImportObjectCreationMapper.NewInstance(this, "source", REFERENCE_NAMESPACE));
69
		}
70

    
71
		return mapping;
72
	}
73

    
74
	@Override
75
	protected String getRecordQuery(CentralAfricaChecklistImportConfigurator config) {
76
		String strSelect = " SELECT DISTINCT source ";
77
		String strFrom = " FROM checklist";
78
		String strWhere = " WHERE ( source IN (" + ID_LIST_TOKEN + ") )";
79
		String strRecordQuery = strSelect + strFrom + strWhere + strOrderBy;
80
		return strRecordQuery;
81
	}
82

    
83

    
84
	@Override
85
	public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, CentralAfricaChecklistImportState state) {
86
		Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();
87
		return result;
88
	}
89

    
90
	@Override
91
	public Reference createObject(ResultSet rs, CentralAfricaChecklistImportState state) throws SQLException {
92
		Reference ref = ReferenceFactory.newGeneric();
93
		String sourceString = rs.getString("source");
94
		ref.setTitle(sourceString);
95
		return ref;
96
	}
97

    
98
	@Override
99
	protected boolean doCheck(CentralAfricaChecklistImportState state){
100
		IOValidator<CentralAfricaChecklistImportState> validator = new CentralAfricaChecklistTaxonImportValidator();
101
		return validator.validate(state);
102
	}
103

    
104

    
105
	/* (non-Javadoc)
106
	 * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)
107
	 */
108
	@Override
109
    protected boolean isIgnore(CentralAfricaChecklistImportState state){
110
		return state.getConfig().getDoReferences().equals(IImportConfigurator.DO_REFERENCES.NONE);
111
	}
112

    
113

    
114

    
115
}
(4-4/7)