import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.queryParser.ParseException;
-import org.hibernate.LockMode;
+import org.hibernate.LockOptions;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import org.hibernate.envers.query.criteria.AuditCriterion;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.api.service.DeleteResult;
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;
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<?>>();
}
/**
* @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
*/
@Override
- public void lock(SpecimenOrObservationBase t, LockMode lockMode) {
- defaultService.lock(t, lockMode);
+ public void lock(SpecimenOrObservationBase t, LockOptions lockOptions) {
+ defaultService.lock(t, lockOptions);
}
/**
* @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
*/
@Override
- public void refresh(SpecimenOrObservationBase t, LockMode lockMode, List<String> propertyPaths) {
- defaultService.refresh(t, lockMode, propertyPaths);
+ public void refresh(SpecimenOrObservationBase t, LockOptions lockOptions, List<String> propertyPaths) {
+ defaultService.refresh(t, lockOptions, propertyPaths);
}
/**
* @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
*/
@Override
- public String delete(SpecimenOrObservationBase persistentObject) {
+ public DeleteResult delete(SpecimenOrObservationBase persistentObject) {
return defaultService.delete(persistentObject);
}
* @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);
}
* @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);
}
/**
* @return
*/
- public Collection<SpecimenOrObservationBase> getUnits() {
+ public Collection<SpecimenOrObservationBase<?>> getUnits() {
return units;
}
@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#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);
+ }
+
+ @Override
+ public SpecimenOrObservationBase findWithoutFlush(UUID uuid) {
+ return defaultService.findWithoutFlush(uuid);
+ }
+
+ /* (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 defaultService.listDerivateHierarchyDTOsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
+ }
}