eu.etaxonomy.cdm.api.service,
eu.etaxonomy.cdm.api.service.config,
eu.etaxonomy.cdm.api.service.description,
+ eu.etaxonomy.cdm.api.service.dto,
eu.etaxonomy.cdm.api.service.exception,
eu.etaxonomy.cdm.api.service.lsid,
eu.etaxonomy.cdm.api.service.lsid.impl,
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
+import eu.etaxonomy.cdm.api.service.dto.DerivateHierarchyDTO;
import eu.etaxonomy.cdm.api.service.pager.Pager;
import eu.etaxonomy.cdm.api.service.search.SearchResult;
import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
@Override
public List<String> isDeletable(SpecimenOrObservationBase object,
DeleteConfiguratorBase config) {
- // TODO Auto-generated method stub
- return null;
+ return defaultService.isDeletable(object, config);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listFieldUnitsByAssociatedTaxon(java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Collection<FieldUnit> listFieldUnitsByAssociatedTaxon(Set<TaxonRelationshipEdge> includeRelationships,
+ Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
+ List<String> propertyPaths) {
+ return defaultService.listFieldUnitsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivateHierarchyDTOsByAssociatedTaxon(java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Collection<DerivateHierarchyDTO> listDerivateHierarchyDTOsByAssociatedTaxon(
+ Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize,
+ Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return listDerivateHierarchyDTOsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
}
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.dnd.DragSourceAdapter;
import org.eclipse.swt.dnd.DragSourceEvent;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
/**
* @author pplitzner
*/
public class DerivateDragListener extends DragSourceAdapter{
- private final Viewer viewer;
+ private final DerivateView derivateView;
/**
- * @param viewer
+ * @param derivateView
*/
- public DerivateDragListener(Viewer viewer) {
- this.viewer = viewer;
+ public DerivateDragListener(DerivateView derivateView) {
+ this.derivateView = derivateView;
}
/* (non-Javadoc)
@Override
public void dragSetData(DragSourceEvent event) {
if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) {
- LocalSelectionTransfer.getTransfer().setSelection(viewer.getSelection());
+ LocalSelectionTransfer.getTransfer().setSelection(derivateView.getViewer().getSelection());
}
}
*/
@Override
public void dragStart(DragSourceEvent event) {
- ISelection selection = viewer.getSelection();
+ if(derivateView.isDirty()){
+ event.doit = false;
+ AbstractUtility.warningDialog("View has unsaved changes", this, "You need to save before performing this action");
+ return;
+ }
+ ISelection selection = derivateView.getViewer().getSelection();
if(EditorUtil.getTreeNodeOfSelection(selection)!=null){
event.doit = true;
}
* @param value
* @return
*/
- private boolean moveTreeNode(TreeNode from, TreeNode to) {
- Object fromValue = from.getValue();
- Object toValue = to.getValue();
- TreeNode fromParentNode = from.getParent();
+ private boolean moveTreeNode(TreeNode draggedNode, TreeNode targetNode) {
+ Object draggedNodeValue = draggedNode.getValue();
+ Object targetNodeValue = targetNode.getValue();
+ TreeNode fromParentNode = draggedNode.getParent();
Object fromParentSpecimen = fromParentNode.getValue();
// drag'n'drop for SpecimenOrObservationBase
- if(fromValue instanceof DerivedUnit && toValue instanceof SpecimenOrObservationBase<?>){
- DerivedUnit draggedSpecimen = (DerivedUnit) fromValue;
- SpecimenOrObservationBase<?> targetSpecimen = (SpecimenOrObservationBase<?>) toValue;
+ if(draggedNodeValue instanceof DerivedUnit && targetNodeValue instanceof SpecimenOrObservationBase<?>){
+ DerivedUnit draggedSpecimen = (DerivedUnit) draggedNodeValue;
+ SpecimenOrObservationBase<?> targetSpecimen = (SpecimenOrObservationBase<?>) targetNodeValue;
//check if type is a sub derivate type
- if(!fromParentNode.equals(to)//don't drag on direct parent node
+ if(!fromParentNode.equals(targetNode)//don't drag on direct parent node
&& fromParentSpecimen instanceof SpecimenOrObservationBase<?>){
CdmStore.getService(IOccurrenceService.class).moveDerivate((SpecimenOrObservationBase<?>)fromParentSpecimen, targetSpecimen, draggedSpecimen);
return true;
}
// drag'n'drop for SingleRead
- else if(fromValue instanceof SingleRead && toValue instanceof Sequence){
- SingleRead singleRead = (SingleRead) fromValue;
+ else if(draggedNodeValue instanceof SingleRead && targetNodeValue instanceof Sequence){
+ SingleRead singleRead = (SingleRead) draggedNodeValue;
if(fromParentSpecimen instanceof Sequence){
- CdmStore.getService(ISequenceService.class).moveSingleRead((Sequence)fromParentSpecimen, (Sequence)toValue, singleRead);
+ CdmStore.getService(ISequenceService.class).moveSingleRead((Sequence)fromParentSpecimen, (Sequence)targetNodeValue, singleRead);
}
return true;
}
// drag'n'drop for Sequence
- else if(fromValue instanceof Sequence && toValue instanceof DnaSample ){
- Sequence sequence = (Sequence)fromValue;
+ else if(draggedNodeValue instanceof Sequence && targetNodeValue instanceof DnaSample ){
+ Sequence sequence = (Sequence)draggedNodeValue;
if(fromParentSpecimen instanceof DnaSample){
- CdmStore.getService(IOccurrenceService.class).moveSequence((DnaSample)fromParentSpecimen, (DnaSample)toValue, sequence);
+ CdmStore.getService(IOccurrenceService.class).moveSequence((DnaSample)fromParentSpecimen, (DnaSample)targetNodeValue, sequence);
return true;
}
}
//add drag'n'drop support
Transfer[] transfers = new Transfer[] {LocalSelectionTransfer.getTransfer(),};
- viewer.addDragSupport(dndOperations, transfers, new DerivateDragListener(viewer));
+ viewer.addDragSupport(dndOperations, transfers, new DerivateDragListener(this));
viewer.addDropSupport(dndOperations, transfers, new DerivateDropListener(this));
}