import org.springframework.stereotype.Component;\r
import org.springframework.transaction.TransactionStatus;\r
\r
+import eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer;\r
import eu.etaxonomy.cdm.io.common.DbExportStateBase;\r
import eu.etaxonomy.cdm.io.common.Source;\r
import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;\r
import eu.etaxonomy.cdm.model.description.TaxonInteraction;\r
import eu.etaxonomy.cdm.model.description.TextData;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.TdwgArea;\r
import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
\r
\r
private boolean isPesiDistribution(PesiExportState state, Distribution distribution) {\r
Integer key;\r
+ //area filter\r
+ NamedArea area = distribution.getArea();\r
+ if (area == null){\r
+ logger.warn("Area is null for distribution " + distribution.getUuid());\r
+ return false;\r
+ }else if (area.getUuid().equals(BerlinModelTransformer.euroMedUuid)){\r
+ //E+M area only holds endemic status information and therefore is not exported to PESI\r
+ return false;\r
+ }else if (area.equals(TdwgArea.getAreaByTdwgAbbreviation("1"))){\r
+ //Europe area never holds status information (may probably deleted in E+M)\r
+ return false;\r
+ }else if (area.equals(TdwgArea.getAreaByTdwgAbbreviation("21"))){\r
+ //Macaronesia records should not be exported to PESI\r
+ return false;\r
+ } else\r
+ try {\r
+ if (state.getTransformer().getKeyByNamedArea(area) == null){\r
+ logger.warn("Area not available in PESI transformer " + area.getTitleCache() + ", " + area.getRepresentation(Language.ENGLISH()).getAbbreviatedLabel());\r
+ return false;\r
+ }\r
+ } catch (UndefinedTransformerMethodException e1) {\r
+ logger.warn("Area not available in PESI transformer " + area.getTitleCache());\r
+ return false;\r
+ }\r
+ \r
+ //status\r
PresenceAbsenceTermBase<?> status = distribution.getStatus();\r
if (status == null){\r
logger.warn("No status for distribution: " + distribution.getUuid());\r
if (key != null){\r
return true;\r
}else{\r
+ logger.warn("PresenceAbsenceTerm " + status.getTitleCache() + "not handled in transformer");\r
return false;\r
}\r
} catch (UndefinedTransformerMethodException e) {\r