2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.io
.pesi
.erms
;
12 import java
.util
.HashMap
;
16 import org
.apache
.log4j
.Logger
;
18 import eu
.etaxonomy
.cdm
.io
.common
.DbImportStateBase
;
19 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
20 import eu
.etaxonomy
.cdm
.model
.name
.Rank
;
21 import eu
.etaxonomy
.cdm
.model
.permission
.User
;
22 import eu
.etaxonomy
.cdm
.model
.term
.DefinedTermBase
;
28 public class ErmsImportState
29 extends DbImportStateBase
<ErmsImportConfigurator
, ErmsImportState
>{
31 @SuppressWarnings("unused")
32 private static final Logger logger
= Logger
.getLogger(ErmsImportState
.class);
34 private Map
<String
, DefinedTermBase
> dbCdmDefTermMap
= new HashMap
<>();
36 private Map
<String
, User
> usernameMap
= new HashMap
<>();
38 private Map
<Integer
, Map
<Integer
,Rank
>> rankMap
;
40 private Set
<Integer
> acceptedTaxaKeys
;
42 private String unacceptReason
;
45 public void initialize(ErmsImportConfigurator config
) {
47 String tableName
= "WebMarkerCategory_";
49 dbCdmDefTermMap
.put(tableName
+ 1, MarkerType
.COMPLETE());
52 public ErmsImportState(ErmsImportConfigurator config
) {
56 public Map
<String
, DefinedTermBase
> getDbCdmDefinedTermMap(){
57 return this.dbCdmDefTermMap
;
60 public void putDefinedTermToMap(String tableName
, String id
, DefinedTermBase term
){
61 this.dbCdmDefTermMap
.put(tableName
+ "_" + id
, term
);
64 public void putDefinedTermToMap(String tableName
, int id
, DefinedTermBase term
){
65 putDefinedTermToMap(tableName
, String
.valueOf(id
), term
);
69 public User
getUser(String username
){
70 return usernameMap
.get(username
);
74 public void putUser(String username
, User user
){
75 usernameMap
.put(username
, user
);
78 public void setRankMap(Map
<Integer
, Map
<Integer
,Rank
>> rankMap
) {
79 this.rankMap
= rankMap
;
83 * Returns the CDM rank depending on the ERMS rankId and the ERMS kingdomId. Returns <code>
84 * null</code> if the rank does not exist.
85 * Throws a RuntimeException if the rank map has not been initialized before.
89 * @throws RuntimeException
91 public Rank
getRank (int rankId
, int kingdomId
){
93 if (this.rankMap
== null){
94 throw new RuntimeException("rank map not initialized");
96 if (kingdomId
== 147415 && rankId
== 10){
97 result
= Rank
.KINGDOM();
98 }else if (kingdomId
==1 && rankId
== 0 ){
99 return Rank
.DOMAIN(); //maybe should be Superdomain
101 Map
<Integer
, Rank
> kingdomMap
= rankMap
.get(rankId
);
102 if (kingdomMap
!= null){
103 result
= kingdomMap
.get(kingdomId
);
109 public Set
<Integer
> getAcceptedTaxaKeys() {
110 return acceptedTaxaKeys
;
112 public void setAcceptedTaxaKeys(Set
<Integer
> acceptedTaxaKeys
) {
113 this.acceptedTaxaKeys
= acceptedTaxaKeys
;
116 public String
getUnhandledUnacceptReason() {
117 return this.unacceptReason
;
119 public void setUnhandledUnacceptReason(String unacceptReason
) {
120 this.unacceptReason
= unacceptReason
;