From 0b0a892810de54ffe36acc62f5d6e049a3f30963 Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Tue, 1 Dec 2015 14:30:10 +0100 Subject: [PATCH] Implement FormatKeys for all currently used occurrences parameters --- .../etaxonomy/cdm/format/ICdmFormatter.java | 30 ++++++++++++-- .../occurrences/DerivedUnitFormatter.java | 21 +++++++++- .../occurrences/FieldUnitFormatter.java | 8 +++- .../IdentifiableEntityFormatter.java | 41 +++++++++++++++++++ .../occurrences/MediaSpecimenFormatter.java | 41 +++++++++++++++++++ .../format/occurrences/SequenceFormatter.java | 34 +++++++++++++++ .../occurrences/SingleReadFormatter.java | 38 +++++++++++++++++ .../SpecimenOrObservationBaseFormatter.java | 33 +++++++++++++++ 8 files changed, 240 insertions(+), 6 deletions(-) create mode 100644 cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/IdentifiableEntityFormatter.java create mode 100644 cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/MediaSpecimenFormatter.java create mode 100644 cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SequenceFormatter.java create mode 100644 cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SingleReadFormatter.java create mode 100644 cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SpecimenOrObservationBaseFormatter.java diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/ICdmFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/ICdmFormatter.java index a51c3d28fd..60e3d2b33a 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/ICdmFormatter.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/ICdmFormatter.java @@ -24,9 +24,33 @@ public interface ICdmFormatter { OPEN_BRACKET, CLOSE_BRACKET, SPACE, - /*occurrences*/ - LOCALITY_TEXT, - ACCESSION_NUMBER + /*identifiable entity*/ + SAMPLE_DESIGNATION, + /*specimenOrObservationBase*/ + RECORD_BASIS, + KIND_OF_UNIT, + /*field unit*/ + FIELD_NUMBER, + /*gathering event*/ + GATHERING_COUNTRY, + GATHERING_LOCALITY_TEXT, + GATHERING_DATE, + GATHERING_COLLECTOR, + /*derived unit*/ + COLLECTION_CODE, + COLLECTION_NAME, + MOST_SIGNIFICANT_IDENTIFIER, + ACCESSION_NUMBER, + BARCODE, + CATALOG_NUMBER, + /*media specimen*/ + MEDIA_TITLE, + MEDIA_ARTIST, + /*sequence*/ + SEQUENCE_DNA_MARKER, + /*single read*/ + SINGLE_READ_PRIMER, + AMPLIFICATION_LABEL, } public String format(Object object, FormatKey... formatKeys); diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/DerivedUnitFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/DerivedUnitFormatter.java index 17fc89f096..eec79b2747 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/DerivedUnitFormatter.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/DerivedUnitFormatter.java @@ -17,7 +17,7 @@ import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; * @date Nov 30, 2015 * */ -public class DerivedUnitFormatter extends AbstractCdmFormatter{ +public class DerivedUnitFormatter extends SpecimenOrObservationBaseFormatter{ public DerivedUnitFormatter(Object object, FormatKey[] formatKeys) { super(object, formatKeys); @@ -32,6 +32,25 @@ public class DerivedUnitFormatter extends AbstractCdmFormatter{ case ACCESSION_NUMBER: formatKeyMap.put(FormatKey.ACCESSION_NUMBER, derivedUnit.getAccessionNumber()); break; + case BARCODE: + formatKeyMap.put(FormatKey.BARCODE, derivedUnit.getBarcode()); + break; + case CATALOG_NUMBER: + formatKeyMap.put(FormatKey.CATALOG_NUMBER, derivedUnit.getCatalogNumber()); + break; + case MOST_SIGNIFICANT_IDENTIFIER: + formatKeyMap.put(FormatKey.MOST_SIGNIFICANT_IDENTIFIER, derivedUnit.getMostSignificantIdentifier()); + break; + case COLLECTION_CODE: + if(derivedUnit.getCollection()!=null){ + formatKeyMap.put(FormatKey.COLLECTION_CODE, derivedUnit.getCollection().getCode()); + } + break; + case COLLECTION_NAME: + if(derivedUnit.getCollection()!=null){ + formatKeyMap.put(FormatKey.COLLECTION_NAME, derivedUnit.getCollection().getName()); + } + break; default: break; diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/FieldUnitFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/FieldUnitFormatter.java index d23e7d2d56..7bef4dd717 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/FieldUnitFormatter.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/FieldUnitFormatter.java @@ -16,7 +16,7 @@ import eu.etaxonomy.cdm.model.occurrence.FieldUnit; * @date Nov 30, 2015 * */ -public class FieldUnitFormatter extends AbstractCdmFormatter { +public class FieldUnitFormatter extends SpecimenOrObservationBaseFormatter { public FieldUnitFormatter(Object object, FormatKey[] formatKeys) { super(object, formatKeys); @@ -27,8 +27,12 @@ public class FieldUnitFormatter extends AbstractCdmFormatter { super.initFormatKeys(object); FieldUnit fieldUnit = (FieldUnit)object; if(fieldUnit.getGatheringEvent()!=null){ - formatKeyMap.put(FormatKey.LOCALITY_TEXT, fieldUnit.getGatheringEvent().getLocality().getText()); + formatKeyMap.put(FormatKey.GATHERING_LOCALITY_TEXT, fieldUnit.getGatheringEvent().getLocality().getText()); + formatKeyMap.put(FormatKey.GATHERING_COLLECTOR, fieldUnit.getGatheringEvent().getCollector().toString()); + formatKeyMap.put(FormatKey.GATHERING_COUNTRY, fieldUnit.getGatheringEvent().getCountry().getLabel()); + formatKeyMap.put(FormatKey.GATHERING_DATE, fieldUnit.getGatheringEvent().getGatheringDate().toString()); } + formatKeyMap.put(FormatKey.FIELD_NUMBER, fieldUnit.getFieldNumber()); } } diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/IdentifiableEntityFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/IdentifiableEntityFormatter.java new file mode 100644 index 0000000000..134c8f3867 --- /dev/null +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/IdentifiableEntityFormatter.java @@ -0,0 +1,41 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.format.occurrences; + + +/** + * @author pplitzner + * @date Nov 30, 2015 + * + */ +public class IdentifiableEntityFormatter extends AbstractCdmFormatter { + + public IdentifiableEntityFormatter(Object object, FormatKey[] formatKeys) { + super(object, formatKeys); + } + + @Override + protected void initFormatKeys(Object object, FormatKey... formatKeys) { + super.initFormatKeys(object); +// IdentifiableEntity identifiableEntity = (IdentifiableEntity)object; +// List identifiers = identifiableEntity.getIdentifiers(); +// String identifierString = null; +// for (Identifier identifier : identifiers) { +// if(identifier.getType()!=null && identifier.getType().equals(DerivateLabelProvider.getSampleDesignationTerm())){ +// //first sample designation is the current +// identifierString = identifier.toString(); +// } +// } +// if(identifierString!=null){ +// formatKeyMap.put(FormatKey.FIELD_NUMBER, identifierString); +// } + } + +} diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/MediaSpecimenFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/MediaSpecimenFormatter.java new file mode 100644 index 0000000000..06a1d20b9d --- /dev/null +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/MediaSpecimenFormatter.java @@ -0,0 +1,41 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.format.occurrences; + +import eu.etaxonomy.cdm.model.media.Media; +import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen; + +/** + * @author pplitzner + * @date Nov 30, 2015 + * + */ +public class MediaSpecimenFormatter extends DerivedUnitFormatter { + + public MediaSpecimenFormatter(Object object, FormatKey[] formatKeys) { + super(object, formatKeys); + } + + @Override + protected void initFormatKeys(Object object, FormatKey... formatKeys) { + super.initFormatKeys(object); + MediaSpecimen mediaSpecimen = (MediaSpecimen)object; + Media media = mediaSpecimen.getMediaSpecimen(); + if(media!=null){ + if(media.getArtist()!=null){ + formatKeyMap.put(FormatKey.MEDIA_ARTIST, media.getArtist().toString()); + } + if(media.getTitle()!=null){ + formatKeyMap.put(FormatKey.MEDIA_TITLE, media.getTitle().getText()); + } + } + } + +} diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SequenceFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SequenceFormatter.java new file mode 100644 index 0000000000..4235d3b073 --- /dev/null +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SequenceFormatter.java @@ -0,0 +1,34 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.format.occurrences; + +import eu.etaxonomy.cdm.model.molecular.Sequence; + +/** + * @author pplitzner + * @date Nov 30, 2015 + * + */ +public class SequenceFormatter extends AbstractCdmFormatter { + + public SequenceFormatter(Object object, FormatKey[] formatKeys) { + super(object, formatKeys); + } + + @Override + protected void initFormatKeys(Object object, FormatKey... formatKeys) { + super.initFormatKeys(object); + Sequence sequence = (Sequence)object; + if(sequence.getDnaMarker()!=null){ + formatKeyMap.put(FormatKey.SEQUENCE_DNA_MARKER, sequence.getDnaMarker().getLabel()); + } + } + +} diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SingleReadFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SingleReadFormatter.java new file mode 100644 index 0000000000..9a60bdf9fd --- /dev/null +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SingleReadFormatter.java @@ -0,0 +1,38 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.format.occurrences; + +import eu.etaxonomy.cdm.model.molecular.SingleRead; + +/** + * @author pplitzner + * @date Nov 30, 2015 + * + */ +public class SingleReadFormatter extends AbstractCdmFormatter { + + public SingleReadFormatter(Object object, FormatKey[] formatKeys) { + super(object, formatKeys); + } + + @Override + protected void initFormatKeys(Object object, FormatKey... formatKeys) { + super.initFormatKeys(object); + SingleRead singleRead = (SingleRead)object; + if(singleRead.getPrimer()!=null){ + formatKeyMap.put(FormatKey.SINGLE_READ_PRIMER, singleRead.getPrimer().getLabel()); + } + if(singleRead.getAmplificationResult()!=null && + singleRead.getAmplificationResult().getAmplification()!=null){ + formatKeyMap.put(FormatKey.AMPLIFICATION_LABEL, singleRead.getAmplificationResult().getAmplification().getLabelCache()); + } + } + +} diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SpecimenOrObservationBaseFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SpecimenOrObservationBaseFormatter.java new file mode 100644 index 0000000000..d1409ef4c0 --- /dev/null +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/occurrences/SpecimenOrObservationBaseFormatter.java @@ -0,0 +1,33 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.format.occurrences; + +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; + +/** + * @author pplitzner + * @date Nov 30, 2015 + * + */ +public class SpecimenOrObservationBaseFormatter extends IdentifiableEntityFormatter { + + public SpecimenOrObservationBaseFormatter(Object object, FormatKey[] formatKeys) { + super(object, formatKeys); + } + + @Override + protected void initFormatKeys(Object object, FormatKey... formatKeys) { + super.initFormatKeys(object); + SpecimenOrObservationBase specimenOrObservationBase = (SpecimenOrObservationBase)object; + formatKeyMap.put(FormatKey.RECORD_BASIS, specimenOrObservationBase.getRecordBasis().toString()); + formatKeyMap.put(FormatKey.KIND_OF_UNIT, specimenOrObservationBase.getKindOfUnit().toString()); + } + +} -- 2.34.1