Revision ab4cc1fb
Added by Andreas Müller about 14 years ago
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
some refactoring in the IO classes