* Returns the <code>OccurrenceStatusCache</code> attribute.\r
* @param entity An {@link AnnotatableEntity AnnotatableEntity}.\r
* @return The <code>OccurrenceStatusCache</code> attribute.\r
+ * @throws UndefinedTransformerMethodException \r
* @throws UnknownCdmTypeException \r
* @see MethodMapper\r
*/\r
@SuppressWarnings("unused")\r
- private static String getOccurrenceStatusCache(AnnotatableEntity entity) {\r
+ private static String getOccurrenceStatusCache(AnnotatableEntity entity, PesiExportState state) throws UndefinedTransformerMethodException {\r
String result = null;\r
if (getDistribution() != null) {\r
- result = PesiTransformer.presenceAbsenceTerm2OccurrenceStatusCache(getDistribution().getStatus());\r
+ result = state.getTransformer().getCacheByPresenceAbsenceTerm(getDistribution().getStatus());\r
}\r
return result;\r
}\r
mapping.addMapper(MethodMapper.NewInstance("TaxonFullNameCache", this));\r
mapping.addMapper(MethodMapper.NewInstance("AreaNameCache", this));\r
mapping.addMapper(MethodMapper.NewInstance("OccurrenceStatusFk", this));\r
- mapping.addMapper(MethodMapper.NewInstance("OccurrenceStatusCache", this));\r
+ mapping.addMapper(MethodMapper.NewInstance("OccurrenceStatusCache", this, AnnotatableEntity.class, PesiExportState.class));\r
mapping.addMapper(MethodMapper.NewInstance("SourceFk", this.getClass(), "getSourceFk", standardMethodParameter, PesiExportState.class));\r
mapping.addMapper(MethodMapper.NewInstance("SourceCache", this));\r
mapping.addMapper(MethodMapper.NewInstance("Notes", this));\r
public static int REF_JOURNAL = 9;\r
public static int REF_UNRESOLVED = 10;\r
public static int REF_PUBLICATION = 11;\r
-\r
-// public static String REF_STR_ARTICLE_IN_PERIODICAL = "Article in periodical";\r
-// public static String REF_STR_PART_OF_OTHER = "Part of other";\r
-// public static String REF_STR_BOOK = "Book";\r
-// public static String REF_STR_DATABASE = "Database";\r
-// public static String REF_STR_INFORMAL = "Informal";\r
-// public static String REF_STR_NOT_APPLICABLE = "Not applicable";\r
-// public static String REF_STR_WEBSITE = "Website";\r
-// public static String REF_STR_PUBLISHED = "Published";\r
-// public static String REF_STR_JOURNAL = "Journal";\r
-// public static String REF_STR_UNRESOLVED = "Unresolved";\r
-// public static String REF_STR_PUBLICATION = "Publication";\r
\r
// NameStatus\r
public static int NAME_ST_NOM_INVAL = 1;\r
public static int STATUS_MANAGED = 7;\r
public static int STATUS_DOUBTFUL = 8;\r
\r
- public static String STR_STATUS_PRESENT = "Present";\r
- public static String STR_STATUS_ABSENT = "Absent";\r
- public static String STR_STATUS_NATIVE = "Native";\r
- public static String STR_STATUS_INTRODUCED = "Introduced";\r
- public static String STR_STATUS_NATURALISED = "Naturalised";\r
- public static String STR_STATUS_INVASIVE = "Invasive";\r
- public static String STR_STATUS_MANAGED = "Managed";\r
- public static String STR_STATUS_DOUBTFUL = "Doubtful";\r
-\r
private Map<String, Integer> tdwgKeyMap = new HashMap<String, Integer>();\r
private Map<Integer, String> areaCacheMap = new HashMap<Integer, String>();\r
private Map<Integer, String> languageCacheMap = new HashMap<Integer, String>();\r
private Map<Integer, String> fossilStatusCacheMap = new HashMap<Integer, String>();\r
private Map<Integer, String> typeDesigStatusCacheMap = new HashMap<Integer, String>();\r
private Map<Integer, String> sourceCategoryCacheMap = new HashMap<Integer, String>();\r
+ private Map<Integer, String> occurrenceStatusCacheMap = new HashMap<Integer, String>();\r
+ \r
\r
private Source destination;\r
\r
\r
//fossil status\r
fillSingleMap(typeDesigStatusCacheMap,"FossilStatus");\r
+\r
+ //fossil status\r
+ fillSingleMap(occurrenceStatusCacheMap,"OccurrenceStatus");\r
\r
//source category\r
fillSingleMap(sourceCategoryCacheMap,"SourceCategory", "Category", "SourceCategoryId");\r
}\r
return result;\r
}\r
- \r
- /**\r
- * Returns the OccurrenceStatusId for a given PresenceAbsenceTerm.\r
- * @param term\r
- * @return\r
- * @throws UnknownCdmTypeException \r
- */\r
- public static String presenceAbsenceTerm2OccurrenceStatusCache(PresenceAbsenceTermBase<?> term) {\r
- String result = null;\r
- if (term == null){\r
- return null;\r
- //present\r
- }else if (term.isInstanceOf(PresenceTerm.class)) {\r
- PresenceTerm presenceTerm = CdmBase.deproxy(term, PresenceTerm.class);\r
- if (presenceTerm.equals(PresenceTerm.PRESENT()) || \r
- presenceTerm.equals(PresenceTerm.INTRODUCED_DOUBTFULLY_INTRODUCED()) || \r
- presenceTerm.equals(PresenceTerm.NATIVE_DOUBTFULLY_NATIVE())) {\r
- result = STR_STATUS_PRESENT;\r
- } else if (presenceTerm.equals(PresenceTerm.NATIVE())) {\r
- result = STR_STATUS_NATIVE;\r
- } else if (presenceTerm.equals(PresenceTerm.INTRODUCED()) || \r
- presenceTerm.equals(PresenceTerm.INTRODUCED_ADVENTITIOUS()) ||\r
- presenceTerm.equals(PresenceTerm.INTRODUCED_UNCERTAIN_DEGREE_OF_NATURALISATION())) {\r
- result = STR_STATUS_INTRODUCED;\r
- } else if (presenceTerm.equals(PresenceTerm.NATURALISED()) \r
- || presenceTerm.equals(PresenceTerm.INTRODUCED_NATURALIZED())) {\r
- result = STR_STATUS_NATURALISED;\r
- } else if (presenceTerm.equals(PresenceTerm.INVASIVE())) {\r
- result = STR_STATUS_INVASIVE;\r
- } else if (presenceTerm.equals(PresenceTerm.CULTIVATED())) {\r
- result = STR_STATUS_MANAGED;\r
- } else if (presenceTerm.equals(PresenceTerm.PRESENT_DOUBTFULLY())||\r
- presenceTerm.equals(PresenceTerm.INTRODUCED_PRESENCE_QUESTIONABLE()) ||\r
- presenceTerm.equals(PresenceTerm.NATIVE_PRESENCE_QUESTIONABLE() )) {\r
- result = STR_STATUS_DOUBTFUL;\r
- } else {\r
- logger.error("PresenceTerm could not be translated to datawarehouse occurrence status id: " + presenceTerm.getLabel());\r
- }\r
- //absent \r
- } else if (term.isInstanceOf(AbsenceTerm.class)) {\r
- AbsenceTerm absenceTerm = CdmBase.deproxy(term, AbsenceTerm.class);\r
- if (absenceTerm.equals(AbsenceTerm.ABSENT()) || absenceTerm.equals(AbsenceTerm.NATIVE_FORMERLY_NATIVE()) ||\r
- absenceTerm.equals(AbsenceTerm.CULTIVATED_REPORTED_IN_ERROR()) || absenceTerm.equals(AbsenceTerm.INTRODUCED_REPORTED_IN_ERROR()) ||\r
- absenceTerm.equals(AbsenceTerm.INTRODUCED_FORMERLY_INTRODUCED()) || absenceTerm.equals(AbsenceTerm.NATIVE_REPORTED_IN_ERROR() ) ) {\r
- result = STR_STATUS_ABSENT;\r
- } else {\r
- logger.error("AbsenceTerm could not be translated to datawarehouse occurrence status id: " + absenceTerm.getLabel());\r
- }\r
- }\r
- return result;\r
- }\r
+\r
\r
/**\r
* Returns the OccurrenceStatusId for a given PresenceAbsenceTerm.\r
\r
@Override\r
public String getCacheByPresenceAbsenceTerm(PresenceAbsenceTermBase status) throws UndefinedTransformerMethodException {\r
- return presenceAbsenceTerm2OccurrenceStatusCache(status);\r
+ if (status == null){\r
+ return null;\r
+ }else{\r
+ return this.occurrenceStatusCacheMap.get(getKeyByPresenceAbsenceTerm(status)); \r
+ }\r
}\r
\r
@Override\r