3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.cdm
.io
.common
.mapping
;
13 import java
.sql
.SQLException
;
14 import java
.util
.UUID
;
16 import org
.apache
.log4j
.Logger
;
18 import com
.ibm
.lsid
.MalformedLSIDException
;
20 import eu
.etaxonomy
.cdm
.io
.common
.DbImportStateBase
;
21 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
22 import eu
.etaxonomy
.cdm
.model
.common
.LSID
;
29 public class DbImportLsidMapper
extends DbSingleAttributeImportMapperBase
<DbImportStateBase
<?
,?
>, CdmBase
>{
31 @SuppressWarnings("unused")
32 private static final Logger logger
= Logger
.getLogger(DbImportLsidMapper
.class);
35 * @param dbAttributString
36 * @param cdmAttributeString
39 public static DbImportLsidMapper
NewInstance (String dbAttributeString
, String cdmAttributeString
) {
40 boolean obligatory
= false;
41 Object defaultValue
= null;
42 return DbImportLsidMapper
.NewInstance(dbAttributeString
, cdmAttributeString
, defaultValue
, obligatory
);
47 * @param cdmAttributeString
48 * @param dbAttributString
51 public static DbImportLsidMapper
NewInstance (String dbAttributString
, String cdmAttributeString
, Object defaultValue
) {
52 boolean obligatory
= false;
53 return new DbImportLsidMapper(dbAttributString
, cdmAttributeString
, defaultValue
, obligatory
);
57 * @param cdmAttributeString
58 * @param dbAttributString
61 public static DbImportLsidMapper
NewInstance (String dbAttributeString
, String cdmAttributeString
, Object defaultValue
, boolean obligatory
) {
62 return new DbImportLsidMapper(dbAttributeString
, cdmAttributeString
, defaultValue
, obligatory
);
68 * @param cdmAttributeString
69 * @param dbAttributString
72 protected DbImportLsidMapper(String dbAttributeString
, String cdmAttributeString
, Object defaultValue
, boolean obligatory
) {
73 super(dbAttributeString
, cdmAttributeString
, defaultValue
, obligatory
);
77 * @see eu.etaxonomy.cdm.io.common.mapping.DbSingleAttributeImportMapperBase#doInvoke(eu.etaxonomy.cdm.model.common.CdmBase)
80 protected CdmBase
doInvoke(CdmBase cdmBase
, Object value
) throws SQLException
{
81 if (value
!= null && ! (value
instanceof LSID
) ){
83 value
= new LSID(String
.valueOf(value
));
84 } catch (MalformedLSIDException e
) {
85 throw new RuntimeException(String
.format("LSID %s is malformed", value
), e
);
88 return super.doInvoke(cdmBase
, value
);
93 * @see eu.etaxonomy.cdm.io.common.CdmSingleAttributeMapperBase#getTypeClass()
96 public Class
getTypeClass() {