import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
-import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
private static DefinedTerm photoTerm = null;
private static DefinedTerm drawingTerm = null;
private static DefinedTerm specimenScanTerm = null;
+ private static DefinedTerm detailImageTerm = null;
private static void initializeTerms() {
List<DefinedTerm> preferredTerms = CdmStore.getTermManager().getPreferredTerms(DefinedTerm.class);
for (DefinedTerm definedTerm : preferredTerms) {
- if(definedTerm.getUuid().equals(UUID.fromString("04673952-dab1-42ff-b47a-5e847c350eaf"))){//photo
+ if(definedTerm.getUuid().equals(UUID.fromString("c5c59c42-f254-471e-96c6-09f459f7c903"))){
photoTerm = definedTerm;
}
- else if(definedTerm.getUuid().equals(UUID.fromString("76204a15-098f-4afe-9e8f-fa344ee3fdbb"))){//drawing
+ else if(definedTerm.getUuid().equals(UUID.fromString("669b0409-4aa4-4695-aae4-a95ed27bad4c"))){
drawingTerm = definedTerm;
}
- else if(definedTerm.getUuid().equals(UUID.fromString("c0b127d6-c849-48f9-bbc3-29e3337c1d03"))){//cover TODO temporary until new term is created
+ else if(definedTerm.getUuid().equals(UUID.fromString("acda15be-c0e2-4ea8-8783-b9b0c4ad7f03"))){
specimenScanTerm = definedTerm;
}
+ else if(definedTerm.getUuid().equals(UUID.fromString("31eb8d02-bf5d-437c-bcc6-87a626445f34"))){
+ detailImageTerm = definedTerm;
+ }
}
}
return specimenScanTerm;
}
+ public static DefinedTerm getDetailImageTerm(){
+ if(detailImageTerm==null){
+ initializeTerms();
+ }
+ return detailImageTerm;
+ }
+
/** {@inheritDoc} */
@Override
* @return
*/
public static String getDerivateText(Object element){
+ TreeNode parentNode = null;
if(element instanceof TreeNode){
+ parentNode = ((TreeNode) element).getParent();
//unwrap specimen from TreeNode
element = ((TreeNode) element).getValue();
}
MediaSpecimen mediaSpecimen = (MediaSpecimen)element;
label += mediaSpecimen.getMediaSpecimen().getTitle()!=null?mediaSpecimen.getMediaSpecimen().getTitle().getText()+", ":"[no motif]";
label += mediaSpecimen.getMediaSpecimen().getArtist()!=null?mediaSpecimen.getMediaSpecimen().getArtist()+", ":"";
- label += mediaSpecimen.getAccessionNumber()!=null?mediaSpecimen.getAccessionNumber()+", ":"";
- Collection collection = mediaSpecimen.getCollection();
+ eu.etaxonomy.cdm.model.occurrence.Collection collection = mediaSpecimen.getCollection();
if(collection!=null){
label += collection.getName()!=null?collection.getName()+" ":"";
+ label += collection.getCode()!=null?"("+collection.getCode()+"), ":"";
}
+ label += mediaSpecimen.getAccessionNumber()!=null?mediaSpecimen.getAccessionNumber()+", ":"";
}
else if(element instanceof DnaSample
|| (element instanceof DerivedUnit
&& ((SpecimenOrObservationBase<?>) element).getRecordBasis()==SpecimenOrObservationType.DnaSample)){
- //TODO implement
- label += element.toString();
+ label += "[no sample designation]";
}
else if(element instanceof DerivedUnit){
if(fieldUnits!=null && !fieldUnits.isEmpty()){
FieldUnit fieldUnit = fieldUnits.iterator().next();
GatheringEvent gatheringEvent = fieldUnit.getGatheringEvent();
+// gatheringEvent = HibernateProxyHelper.deproxy(gatheringEvent, GatheringEvent.class);
if(gatheringEvent!=null){
label += gatheringEvent.getCollector()!=null?gatheringEvent.getCollector()+", ":"";
}
label += fieldUnit.getFieldNumber()!=null?fieldUnit.getFieldNumber()+", ":"";
}
- Collection collection = derivedUnit.getCollection();
+ eu.etaxonomy.cdm.model.occurrence.Collection collection = derivedUnit.getCollection();
if(collection!=null){
label += collection.getName()!=null?collection.getName()+" ":"";
label += collection.getCode()!=null?"("+collection.getCode()+"), ":"";
}
else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
//TODO: implement
-// kindofTissue + SampleDesignation
+ label += "kindofTissue? + [no sample designation]";
}
}
else if(element instanceof Sequence){
Sequence sequence = (Sequence)element;
- label += "SampleDesignation?"+", ";
+ label += "[no sample designation]"+", ";
label += sequence.getDnaMarker()!=null?sequence.getDnaMarker():"";
}
else if(element instanceof SingleRead){
SingleRead singleRead = (SingleRead)element;
+ label += "[no sample designation]"+", ";
label += singleRead.getPrimer()!=null?singleRead.getPrimer().getLabel()+", ":"";
- label += "Marker?";
+ if(parentNode!=null && parentNode.getValue() instanceof Sequence){
+ Sequence sequence = (Sequence) parentNode.getValue();
+ label += sequence.getDnaMarker()!=null?sequence.getDnaMarker():"";
+ }
}
else if(element instanceof SpecimenOrObservationBase){
SpecimenOrObservationBase<?> derivate = (SpecimenOrObservationBase<?>) element;
else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.StillImage){
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.Media){
if(derivedUnit.getKindOfUnit()!=null){
if(derivedUnit.getKindOfUnit().equals(getArtworkTerm())){
return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
else if(derivedUnit.getKindOfUnit().equals(getSpecimenScanTerm())){
return ImageResources.getImage(ImageResources.SPECIMEN_SCAN_DERIVATE);
}
+ else if(derivedUnit.getKindOfUnit().equals(getDetailImageTerm())){
+ return ImageResources.getImage(ImageResources.DETAIL_IMAGE_DERIVATE);
+ }
}
}
}