- added functionality to filter assigned specimens in the DerivateSearchView (fixes...
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / dataimport / transientServices / TransientOccurenceService.java
index 3b28f72960845230994b34dfc22401f108281db4..841f09810748fc95d914601bf2b20e56c284e557 100644 (file)
@@ -28,8 +28,8 @@ import org.hibernate.search.spatial.impl.Rectangle;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
 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.pager.Pager;
 import eu.etaxonomy.cdm.api.service.search.SearchResult;
 import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
@@ -73,14 +73,14 @@ import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
 public class TransientOccurenceService implements IOccurrenceService {
 
     private final IOccurrenceService defaultService;
-    private final Collection<SpecimenOrObservationBase> units;
+    private final Collection<SpecimenOrObservationBase<?>> units;
 
     /**
      * @param defaultService
      */
     public TransientOccurenceService(IOccurrenceService defaultService) {
         this.defaultService = defaultService;
-        this.units = new HashSet<SpecimenOrObservationBase>();
+        this.units = new HashSet<SpecimenOrObservationBase<?>>();
     }
 
     /**
@@ -276,7 +276,7 @@ public class TransientOccurenceService implements IOccurrenceService {
      * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
      */
     @Override
-    public UUID delete(SpecimenOrObservationBase persistentObject) throws ReferencedObjectUndeletableException{
+    public String delete(SpecimenOrObservationBase persistentObject) {
         return defaultService.delete(persistentObject);
     }
 
@@ -503,7 +503,7 @@ public class TransientOccurenceService implements IOccurrenceService {
      * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
      */
     @Override
-    public List<SpecimenOrObservationBase> list(Class<? extends SpecimenOrObservationBase> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
+    public <S extends SpecimenOrObservationBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
         return defaultService.list(type, limit, start, orderHints, propertyPaths);
     }
 
@@ -654,7 +654,7 @@ public class TransientOccurenceService implements IOccurrenceService {
      * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
      */
     @Override
-    public Pager<SpecimenOrObservationBase> page(Class<? extends SpecimenOrObservationBase> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+    public <S extends SpecimenOrObservationBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
         return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
@@ -855,7 +855,7 @@ public class TransientOccurenceService implements IOccurrenceService {
     /**
      * @return
      */
-    public Collection<SpecimenOrObservationBase> getUnits() {
+    public Collection<SpecimenOrObservationBase<?>> getUnits() {
         return units;
     }
 
@@ -894,5 +894,18 @@ public class TransientOccurenceService implements IOccurrenceService {
         return defaultService.moveSequence(from, to, sequence);
     }
 
+       @Override
+       public List<String> isDeletable(SpecimenOrObservationBase object,
+                       DeleteConfiguratorBase config) {
+               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);
+    }
 
 }