Project

General

Profile

« Previous | Next » 

Revision ab4cc1fb

Added by Andreas Müller about 14 years ago

some refactoring in the IO classes

View differences:

cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/erms/ErmsNotesSourcesImport.java
18 18
import java.util.Set;
19 19

  
20 20
import org.apache.log4j.Logger;
21
import org.springframework.stereotype.Component;
21 22

  
22 23
import eu.etaxonomy.cdm.io.common.IOValidator;
23
import eu.etaxonomy.cdm.io.common.ResultSetPartitioner;
24 24
import eu.etaxonomy.cdm.io.common.mapping.DbImportDescriptionElementSourceCreationMapper;
25 25
import eu.etaxonomy.cdm.io.common.mapping.DbImportMapping;
26 26
import eu.etaxonomy.cdm.io.erms.validation.ErmsVernacularSourceImportValidator;
27 27
import eu.etaxonomy.cdm.model.common.CdmBase;
28
import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
28 29
import eu.etaxonomy.cdm.model.description.CommonTaxonName;
29 30
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
30
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
31 31

  
32 32
/**
33 33
 * @author a.mueller
34 34
 * @created 12.03.2010
35 35
 * @version 1.0
36 36
 */
37
@Component
37 38
public class ErmsNotesSourcesImport extends ErmsImportBase<CommonTaxonName> {
38 39
	private static final Logger logger = Logger.getLogger(ErmsNotesSourcesImport.class);
39 40
	
......
42 43
	
43 44
	private static String pluralString = "note sources";
44 45
	private static String dbTableName = "notes_sources";
46
	private static final Class cdmTargetClass = DescriptionElementSource.class;
47

  
45 48
	private DbImportMapping mapping;
46
	private static Class cdmTargetClass = null;  //needed?
47 49

  
48 50
	
49 51
//******************************************* CONSTRUCTOR *******************************	
......
54 56
	 * @param dbTableName
55 57
	 */
56 58
	public ErmsNotesSourcesImport() {
57
		super(pluralString, dbTableName);
59
		super(pluralString, dbTableName, cdmTargetClass);
58 60
	}
59 61

  
60 62

  
......
83 85
		return strQuery;
84 86
	}
85 87
	
86
	/**
87
	 * @return
88
	/* (non-Javadoc)
89
	 * @see eu.etaxonomy.cdm.io.erms.ErmsImportBase#getMapping()
88 90
	 */
89
	private DbImportMapping getMapping() {
91
	protected DbImportMapping getMapping() {
90 92
		if (mapping == null){
91 93
			mapping = new DbImportMapping();
92 94
			String vernacularNamespace = ErmsVernacularImport.VERNACULAR_NAMESPACE;
......
96 98
		return mapping;
97 99
	}
98 100

  
99

  
100
	/* (non-Javadoc)
101
	 * @see eu.etaxonomy.cdm.io.common.IPartitionedIO#doPartition(eu.etaxonomy.cdm.io.common.ResultSetPartitioner, eu.etaxonomy.cdm.io.common.IPartitionedState)
102
	 */
103
	public boolean doPartition(ResultSetPartitioner partitioner, ErmsImportState state) {
104
		boolean success = true ;
105
		ErmsImportConfigurator config = state.getConfig();
106
		Set termsToSave = new HashSet<TaxonBase>();
107
		
108
 		DbImportMapping<?, ?> mapping = getMapping();
109
		mapping.initialize(state, cdmTargetClass);
110
		
111
		ResultSet rs = partitioner.getResultSet();
112
		try{
113
			while (rs.next()){
114
				success &= mapping.invoke(rs, termsToSave);
115
			}
116
		} catch (SQLException e) {
117
			logger.error("SQLException:" +  e);
118
			return false;
119
		}
120
	
121
		partitioner.startDoSave();
122
		getDescriptionService().save(termsToSave);
123
		return success;
124
	}
125

  
126

  
127

  
128

  
129

  
130

  
131

  
132 101
	/* (non-Javadoc)
133 102
	 * @see eu.etaxonomy.cdm.io.common.IPartitionedIO#getRelatedObjectsForPartition(java.sql.ResultSet)
134 103
	 */

Also available in: Unified diff