import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
import eu.etaxonomy.cdm.format.CdmFormatterFactory;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
import eu.etaxonomy.cdm.format.CdmFormatterFactory;
import eu.etaxonomy.cdm.format.ICdmFormatter.FormatKey;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.format.ICdmFormatter.FormatKey;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
private static Set<SingleRead> multiLinkSingleReads;
private static Map<DerivedUnit, Collection<SpecimenTypeDesignation>> typeDesignations;
private static Set<SingleRead> multiLinkSingleReads;
private static Map<DerivedUnit, Collection<SpecimenTypeDesignation>> typeDesignations;
FormatKey.GATHERING_COUNTRY, FormatKey.SPACE,
FormatKey.GATHERING_LOCALITY_TEXT, FormatKey.SPACE,
FormatKey.GATHERING_DATE, FormatKey.SPACE,
FormatKey.GATHERING_COUNTRY, FormatKey.SPACE,
FormatKey.GATHERING_LOCALITY_TEXT, FormatKey.SPACE,
FormatKey.GATHERING_DATE, FormatKey.SPACE,
FormatKey.AMPLIFICATION_LABEL, FormatKey.SPACE,
FormatKey.MEDIA_TITLE, FormatKey.SPACE,
FormatKey.MEDIA_ARTIST, FormatKey.SPACE
FormatKey.AMPLIFICATION_LABEL, FormatKey.SPACE,
FormatKey.MEDIA_TITLE, FormatKey.SPACE,
FormatKey.MEDIA_ARTIST, FormatKey.SPACE
+ };
+ ICdmFormatter formatter = formatterMap.get(element.getClass());
+ if(formatter==null){
+ formatter = CdmFormatterFactory.getFormatter(element, formatKeys);
+ formatterMap.put(element.getClass(), formatter);
+ }
+ return formatter.format(element);
- DerivateLabelProvider.multiLinkSingleReads = new HashSet<SingleRead>();
- DerivateLabelProvider.typeDesignations = new HashMap<DerivedUnit, Collection<SpecimenTypeDesignation>>();
+ multiLinkSingleReads = new HashSet<SingleRead>();
+ typeDesignations = new HashMap<DerivedUnit, Collection<SpecimenTypeDesignation>>();
for(Entry<SingleRead, Collection<Sequence>> entry:CdmStore.getService(ISequenceService.class).getSingleReadSequencesMap().entrySet()){
if(entry.getValue().size()>1){
multiLinkSingleReads.add(entry.getKey());
for(Entry<SingleRead, Collection<Sequence>> entry:CdmStore.getService(ISequenceService.class).getSingleReadSequencesMap().entrySet()){
if(entry.getValue().size()>1){
multiLinkSingleReads.add(entry.getKey());