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.molecular.SingleRead;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
}
- /**
- * @param clazz
- * @param matchStrategy
- * @param mergeStrategy
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
- */
@Override
public int deduplicate(Class<? extends SpecimenOrObservationBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
}
- /**
- * @param clazz
- * @param queryString
- * @param pageSize
- * @param pageNumber
- * @param orderHints
- * @param matchMode
- * @return
- * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
- */
@Override
public Pager<SpecimenOrObservationBase> findTitleCache(Class<? extends SpecimenOrObservationBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
}
- /**
- * @return
- */
public Collection<SpecimenOrObservationBase<?>> getUnits() {
return units;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnits(java.util.UUID)
- */
@Override
public Collection<FieldUnit> getFieldUnits(UUID derivedUnitUuid) {
return defaultService.getFieldUnits(derivedUnitUuid);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#pageByAssociatedTaxon(java.lang.Class, java.util.Set, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
@Override
public <T extends SpecimenOrObservationBase> Pager<T> pageByAssociatedTaxon(Class<T> type,
Set<TaxonRelationshipEdge> includeRelationships, String taxonUUID, Integer maxDepth, Integer pageSize,
maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveDerivate(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
- */
@Override
public boolean moveDerivate(SpecimenOrObservationBase<?> from, SpecimenOrObservationBase<?> to, DerivedUnit derivate) {
return defaultService.moveDerivate(from, to, derivate);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveSequence(eu.etaxonomy.cdm.model.molecular.DnaSample, eu.etaxonomy.cdm.model.molecular.DnaSample, eu.etaxonomy.cdm.model.molecular.Sequence)
- */
@Override
public boolean moveSequence(DnaSample from, DnaSample to, Sequence sequence) {
return defaultService.moveSequence(from, to, sequence);
return defaultService.isDeletable(object, config);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#countDeterminations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.taxon.TaxonBase)
- */
@Override
public int countDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonbase) {
return defaultService.countDeterminations(occurence, taxonbase);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#assembleFieldUnitDTO(eu.etaxonomy.cdm.model.occurrence.FieldUnit, java.util.UUID)
- */
@Override
public FieldUnitDTO assembleFieldUnitDTO(FieldUnit fieldUnit, UUID associatedTaxonUuid) {
return defaultService.assembleFieldUnitDTO(fieldUnit, associatedTaxonUuid);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#assemblePreservedSpecimenDTO(eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
- */
@Override
public PreservedSpecimenDTO assemblePreservedSpecimenDTO(DerivedUnit derivedUnit) {
return defaultService.assemblePreservedSpecimenDTO(derivedUnit);
return defaultService.getNonCascadedAssociatedElements(specimen);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#deleteDerivateHierarchy(eu.etaxonomy.cdm.model.common.ICdmBase)
- */
@Override
public DeleteResult deleteDerivateHierarchy(CdmBase from, SpecimenDeleteConfigurator config) {
return defaultService.deleteDerivateHierarchy(from, config);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#delete(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator)
- */
@Override
public DeleteResult delete(SpecimenOrObservationBase<?> specimen, SpecimenDeleteConfigurator config) {
return defaultService.delete(specimen, config);
}
- /* (non-Javadoc)
- * @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<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#listTypeDesignations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
@Override
public Collection<SpecimenTypeDesignation> listTypeDesignations(SpecimenOrObservationBase<?> specimen,
Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
return defaultService.listTypeDesignations(specimen, limit, start, orderHints, propertyPaths);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDescriptionsWithDescriptionSpecimen(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
- */
@Override
public Collection<DescriptionBase<?>> listDescriptionsWithDescriptionSpecimen(
SpecimenOrObservationBase<?> specimen, Integer limit, Integer start, List<OrderHint> orderHints,
return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCharacterDataForSpecimen(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase)
- */
@Override
public Collection<DescriptionElementBase> getCharacterDataForSpecimen(SpecimenOrObservationBase<?> arg0) {
return defaultService.getCharacterDataForSpecimen(arg0);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCharacterDataForSpecimen(java.util.UUID)
- */
@Override
public Collection<DescriptionElementBase> getCharacterDataForSpecimen(UUID arg0) {
return getCharacterDataForSpecimen(arg0);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMostSignificantIdentifier(eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
- */
@Override
public String getMostSignificantIdentifier(DerivedUnit derivedUnit) {
return defaultService.getMostSignificantIdentifier(derivedUnit);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#countOccurrences(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
- */
@Override
public int countOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> config) {
return defaultService.countOccurrences(config);
return defaultService.delete(arg0);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
- */
@Override
public DeleteResult delete(Collection<UUID> arg0) {
return defaultService.delete(arg0);
}
+ @Override
+ public DeleteResult deleteSingleRead(SingleRead singleRead, Sequence sequence){
+ return defaultService.deleteSingleRead(singleRead, sequence);
+ }
+
}
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.ui.ISaveablePart;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.cdm.model.molecular.SingleRead;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
public class DeleteDerivateOperation extends AbstractPostOperation<CdmBase> {
private final SpecimenDeleteConfigurator deleteConfigurator;
+ private final TreeNode treeNode;
- public DeleteDerivateOperation(String label, IUndoContext undoContext, CdmBase element,
+ public DeleteDerivateOperation(String label, IUndoContext undoContext, CdmBase element, TreeNode treeNode,
IPostOperationEnabled postOperationEnabled) {
- this(label, undoContext, element, postOperationEnabled, new SpecimenDeleteConfigurator());
+ this(label, undoContext, element, treeNode, postOperationEnabled, new SpecimenDeleteConfigurator());
}
- public DeleteDerivateOperation(String label, IUndoContext undoContext, CdmBase element,
+ public DeleteDerivateOperation(String label, IUndoContext undoContext, CdmBase element, TreeNode treeNode,
IPostOperationEnabled postOperationEnabled, SpecimenDeleteConfigurator config) {
super(label, undoContext, element, postOperationEnabled);
this.deleteConfigurator = config;
+ this.treeNode = treeNode;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse
- * .core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
/** {@inheritDoc} */
@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
return Status.CANCEL_STATUS;
}
}
- DeleteResult deleteResult = CdmStore.getService(IOccurrenceService.class).deleteDerivateHierarchy(element, deleteConfigurator);
+ DeleteResult deleteResult;
+ if(element instanceof SingleRead && treeNode!=null
+ && treeNode.getValue().equals(element)
+ && treeNode.getParent()!=null
+ && treeNode.getParent().getValue() instanceof Sequence){
+ deleteResult = CdmStore.getService(IOccurrenceService.class).deleteSingleRead((SingleRead)element, (Sequence) treeNode.getParent().getValue());
+ }
+ else{
+ deleteResult = CdmStore.getService(IOccurrenceService.class).deleteDerivateHierarchy(element, deleteConfigurator);
+ }
if(deleteResult.isOk()){
if(getPostOperationEnabled() instanceof DerivateView){
DerivateView derivateView = (DerivateView) getPostOperationEnabled();
return Status.OK_STATUS;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse
- * .core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
/** {@inheritDoc} */
@Override
public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
return Status.CANCEL_STATUS ;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse
- * .core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
/** {@inheritDoc} */
@Override
public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {