import java.util.Collection;\r
import java.util.HashMap;\r
import java.util.HashSet;\r
+import java.util.LinkedHashSet;\r
import java.util.List;\r
import java.util.Map;\r
import java.util.Map.Entry;\r
import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;\r
import eu.etaxonomy.cdm.model.molecular.DnaSample;\r
import eu.etaxonomy.cdm.model.molecular.Sequence;\r
+import eu.etaxonomy.cdm.model.molecular.SingleRead;\r
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;\r
import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;\r
dto.addTypes(typeStatus, currentAccessionNumber);\r
}\r
//assemble molecular data\r
- if(derivedUnit instanceof DnaSample){//.getRecordBasis()==SpecimenOrObservationType.DnaSample){\r
- dto.setHasDna(true);\r
-\r
- DnaSample dna = (DnaSample)derivedUnit;\r
- for(Sequence sequence:dna.getSequences()){\r
- final URI boldUri = sequence.getBoldUri();\r
- final DefinedTerm dnaMarker = sequence.getDnaMarker();\r
- dto.addMolecularData(boldUri!=null?boldUri.toString():"", dnaMarker!=null?dnaMarker.getLabel():"[no marker]");\r
+ if(derivedUnit instanceof DnaSample){\r
+ if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){\r
+ //TODO implement TissueSample assembly for web service\r
+ }\r
+ if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){\r
+ dto.setHasDna(true);\r
+\r
+ DnaSample dna = (DnaSample)derivedUnit;\r
+ for(Sequence sequence:dna.getSequences()){\r
+ final URI boldUri = sequence.getBoldUri();\r
+ final DefinedTerm dnaMarker = sequence.getDnaMarker();\r
+ dto.addMolecularData(boldUri!=null?boldUri.toString():"", dnaMarker!=null?dnaMarker.getLabel():"[no marker]");\r
+ }\r
}\r
}\r
//assemble media data\r
MediaSpecimen media = (MediaSpecimen)derivedUnit;\r
String mediaUriString = getMediaUriString(media);\r
if(media.getKindOfUnit()!=null){\r
+ //specimen scan\r
if(media.getKindOfUnit().getUuid().equals(UUID.fromString("acda15be-c0e2-4ea8-8783-b9b0c4ad7f03"))){\r
dto.setHasSpecimenScan(true);\r
- if(mediaUriString!=null){\r
final String imageLinkText = currentHerbarium+" "+currentAccessionNumber;\r
- dto.addSpecimenScan(mediaUriString, !imageLinkText.equals(" ")?imageLinkText:"[no accession]");\r
- }\r
+ dto.addSpecimenScan(mediaUriString==null?"":mediaUriString, !imageLinkText.equals(" ")?imageLinkText:"[no accession]");\r
}\r
+ //detail image\r
else if(media.getKindOfUnit().getUuid().equals(UUID.fromString("31eb8d02-bf5d-437c-bcc6-87a626445f34"))){\r
dto.setHasDetailImage(true);\r
- if(mediaUriString!=null){\r
- String motif = "";\r
- if(media.getMediaSpecimen()!=null && media.getMediaSpecimen().getTitle()!=null){\r
- motif = media.getMediaSpecimen().getTitle().getText();\r
- }\r
- dto.addDetailImage(mediaUriString, motif!=null?motif:"[no motif]");\r
+ String motif = "";\r
+ if(media.getMediaSpecimen()!=null && media.getMediaSpecimen().getTitle()!=null){\r
+ motif = media.getMediaSpecimen().getTitle().getText();\r
}\r
+ dto.addDetailImage(mediaUriString==null?"":mediaUriString, motif!=null?motif:"[no motif]");\r
}\r
}\r
}\r