(no commit message)
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / berlinModel / BerlinModelAuthorIO.java
1 /**
2 *
3 */
4 package eu.etaxonomy.cdm.io.berlinModel;
5
6 import java.sql.ResultSet;
7 import java.sql.SQLException;
8
9 import org.apache.log4j.Logger;
10
11 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
12 import eu.etaxonomy.cdm.api.service.IAgentService;
13 import eu.etaxonomy.cdm.io.source.Source;
14 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
15 import eu.etaxonomy.cdm.model.agent.Team;
16
17
18 /**
19 * @author a.mueller
20 *
21 */
22 public class BerlinModelAuthorIO {
23 private static final Logger logger = Logger.getLogger(BerlinModelAuthorIO.class);
24
25 private static int modCount = 1000;
26
27 public static boolean invoke(BerlinModelImportConfigurator bmiConfig, CdmApplicationController cdmApp,
28 MapWrapper<Team> teamMap){
29
30 Source source = bmiConfig.getSource();
31 String dbAttrName;
32 String cdmAttrName;
33
34 logger.info("start makeAuthors ...");
35 boolean success = true ;
36
37 IAgentService agentService = cdmApp.getAgentService();
38
39 //get data from database
40 String strQuery =
41 " SELECT * " +
42 " FROM AuthorTeam " ;
43 ResultSet rs = source.getResultSet(strQuery) ;
44
45 int i = 0;
46 //for each reference
47 try{
48 while (rs.next()){
49
50 if ((i++ % modCount) == 0){ logger.info("Authors handled: " + (i-1));}
51
52 //create TaxonName element
53 int teamId = rs.getInt("AuthorTeamId");
54 //int rankId = rs.getInt("rankFk");
55 //Object nomRefFk = rs.getObject("NomRefFk");
56
57 Team team = new Team();
58
59 dbAttrName = "AuthorTeamCache";
60 cdmAttrName = "titleCache";
61 success &= ImportHelper.addStringValue(rs, team, dbAttrName, cdmAttrName);
62
63
64 //TODO
65 //FullAuthorTeamCache
66 //preliminaryFlag
67 //created
68 //notes
69
70 //authorTeamId
71 ImportHelper.setOriginalSource(team, bmiConfig.getSourceReference(), teamId);
72
73 teamMap.put(teamId, team);
74 } //while rs.hasNext()
75 } catch (SQLException e) {
76 logger.error("SQLException:" + e);
77 return false;
78 }
79
80
81 logger.info(i + " authors handled");
82 agentService.saveAgentAll(teamMap.objects());
83
84 // makeNameSpecificData(nameMap);
85
86 logger.info("end makeTaxonNames ...");
87 return success;
88 }
89 }