import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.location.Country;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.media.Rights;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
return defaultService.delete(specimen, config);
}
-
/* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listAssociatedTaxa(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listIndividualsAssociations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Collection<TaxonBase<?>> listAssociatedTaxa(SpecimenOrObservationBase<?> specimen, Integer limit,
- Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listAssociatedTaxa(specimen, limit, start, orderHints, propertyPaths);
+ public Collection<IndividualsAssociation> listIndividualsAssociations(SpecimenOrObservationBase<?> specimen,
+ Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultService.listIndividualsAssociations(specimen, limit, start, orderHints, propertyPaths);
}
/* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listTypedTaxa(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listTypeDesignations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
*/
@Override
- public Collection<TaxonBase<?>> listTypedTaxa(SpecimenOrObservationBase<?> specimen, Integer limit, Integer start,
- List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultService.listTypedTaxa(specimen, limit, start, orderHints, propertyPaths);
+ public Collection<SpecimenTypeDesignation> listTypeDesignations(SpecimenOrObservationBase<?> specimen,
+ Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultService.listTypeDesignations(specimen, limit, start, orderHints, propertyPaths);
}
}
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionException;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
associationsViewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
associationsViewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
associationsViewer.setContentProvider(new ArrayContentProvider());
- Collection<TaxonBase<?>> associatedTaxa = CdmStore.getService(IOccurrenceService.class).listAssociatedTaxa(entity.innerDerivedUnit(), null, null, null, null);
+ Collection<IndividualsAssociation> individualsAssociations = CdmStore.getService(IOccurrenceService.class).listIndividualsAssociations(entity.innerDerivedUnit(), null, null, null, null);
+ //TODO implement service method for this which is just used in the label provider
+ Collection<TaxonBase<?>> associatedTaxa = new HashSet<TaxonBase<?>>();
+ for (IndividualsAssociation individualsAssociation : individualsAssociations) {
+ if(individualsAssociation.getInDescription() instanceof TaxonDescription){
+ TaxonDescription taxonDescription = (TaxonDescription)individualsAssociation.getInDescription();
+ associatedTaxa.add(taxonDescription.getTaxon());
+ }
+ }
associationsViewer.setInput(associatedTaxa);
associationsViewer.addDoubleClickListener(this);
typeDesignationViewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
typeDesignationViewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
typeDesignationViewer.setContentProvider(new ArrayContentProvider());
- Collection<TaxonBase<?>> typedTaxa = CdmStore.getService(IOccurrenceService.class).listTypedTaxa(entity.innerDerivedUnit(), null, null, null, null);
+ Collection<SpecimenTypeDesignation> typeDesignations = CdmStore.getService(IOccurrenceService.class).listTypeDesignations(entity.innerDerivedUnit(), null, null, null, null);
+ //TODO implement service method for this which is just used in the label provider
+ Collection<TaxonBase<?>> typedTaxa = new HashSet<TaxonBase<?>>();
+ for (SpecimenTypeDesignation specimenTypeDesignation : typeDesignations) {
+ for (TaxonNameBase taxonNameBase : specimenTypeDesignation.getTypifiedNames()) {
+ Set taxa = taxonNameBase.getTaxa();
+ for (Object taxon : taxa) {
+ if(taxon instanceof TaxonBase<?>){
+ typedTaxa.add((TaxonBase<?>) taxon);
+ }
+ }
+ }
+ }
typeDesignationViewer.setInput(typedTaxa);
typeDesignationViewer.addDoubleClickListener(this);
}