import java.util.Set;
import java.util.UUID;
-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.service.IAgentService;
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
import eu.etaxonomy.cdm.api.service.pager.Pager;
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
import eu.etaxonomy.cdm.model.agent.Address;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.common.Annotation;
+import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.ISourceable;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
import eu.etaxonomy.cdm.model.common.LSID;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.media.Rights;
import eu.etaxonomy.cdm.model.view.AuditEvent;
import eu.etaxonomy.cdm.model.view.AuditEventRecord;
import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.cdm.persistence.query.Grouping;
import eu.etaxonomy.cdm.persistence.query.MatchMode;
import eu.etaxonomy.cdm.persistence.query.OrderHint;
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
+import eu.etaxonomy.cdm.strategy.merge.MergeException;
/**
* @author pplitzner
*/
public class TransientAgentService implements IAgentService {
- private IAgentService defaultAgentService;
+ private final IAgentService defaultService;
/**
* @param defaultAgentService
*/
public TransientAgentService(IAgentService defaultAgentService) {
- this.defaultAgentService = defaultAgentService;
+ this.defaultService = defaultAgentService;
}
/**
*/
@Override
public Pager<AuditEventRecord<AgentBase>> pageAuditEvents(AgentBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
- return defaultAgentService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
+ return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
}
/**
*/
@Override
public Pager<Annotation> getAnnotations(AgentBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public List<Institution> searchInstitutionByCode(String code) {
- return defaultAgentService.searchInstitutionByCode(code);
+ return defaultService.searchInstitutionByCode(code);
}
/**
*/
@Override
public Pager<InstitutionalMembership> getInstitutionalMemberships(Person person, Integer pageSize, Integer pageNumber) {
- return defaultAgentService.getInstitutionalMemberships(person, pageSize, pageNumber);
+ return defaultService.getInstitutionalMemberships(person, pageSize, pageNumber);
}
/**
*/
@Override
public void clear() {
- defaultAgentService.clear();
+ defaultService.clear();
}
/**
* @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
*/
@Override
- public void lock(AgentBase t, LockMode lockMode) {
- defaultAgentService.lock(t, lockMode);
+ public void lock(AgentBase 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(AgentBase t, LockMode lockMode, List<String> propertyPaths) {
- defaultAgentService.refresh(t, lockMode, propertyPaths);
+ public void refresh(AgentBase t, LockOptions lockOptions, List<String> propertyPaths) {
+ defaultService.refresh(t, lockOptions, propertyPaths);
}
/**
*/
@Override
public Pager<Person> getMembers(Team team, Integer pageSize, Integer pageNumber) {
- return defaultAgentService.getMembers(team, pageSize, pageNumber);
+ return defaultService.getMembers(team, pageSize, pageNumber);
}
/**
*/
@Override
public void updateTitleCache() {
- defaultAgentService.updateTitleCache();
+ defaultService.updateTitleCache();
}
/**
*/
@Override
public AuditEventRecord<AgentBase> getNextAuditEvent(AgentBase t) {
- return defaultAgentService.getNextAuditEvent(t);
+ return defaultService.getNextAuditEvent(t);
}
/**
*/
@Override
public Pager<Marker> getMarkers(AgentBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public void updateTitleCache(Class<? extends AgentBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<AgentBase> cacheStrategy, IProgressMonitor monitor) {
- defaultAgentService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
+ defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
}
/**
*/
@Override
public Pager<Address> getAddresses(AgentBase agent, Integer pageSize, Integer pageNumber) {
- return defaultAgentService.getAddresses(agent, pageSize, pageNumber);
+ return defaultService.getAddresses(agent, pageSize, pageNumber);
}
/**
*/
@Override
public AuditEventRecord<AgentBase> getPreviousAuditEvent(AgentBase t) {
- return defaultAgentService.getPreviousAuditEvent(t);
+ return defaultService.getPreviousAuditEvent(t);
}
/**
*/
@Override
public int count(Class<? extends AgentBase> clazz) {
- return defaultAgentService.count(clazz);
+ return defaultService.count(clazz);
}
/**
*/
@Override
public Pager<AgentBase> search(Class<? extends AgentBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public Pager<AuditEventRecord<AgentBase>> pageAuditEvents(Class<? extends AgentBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
- return defaultAgentService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
+ return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
}
/**
*/
@Override
public AgentBase find(LSID lsid) {
- return defaultAgentService.find(lsid);
+ return defaultService.find(lsid);
}
/**
*/
@Override
public DeleteResult delete(AgentBase persistentObject) {
- return defaultAgentService.delete(persistentObject);
+ return defaultService.delete(persistentObject);
}
/**
*/
@Override
public List<Object[]> groupMarkers(Class<? extends AgentBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultAgentService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
+ return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
}
/**
*/
@Override
public boolean exists(UUID uuid) {
- return defaultAgentService.exists(uuid);
+ return defaultService.exists(uuid);
}
/**
*/
@Override
public AgentBase replace(AgentBase x, AgentBase y) {
- return defaultAgentService.replace(x, y);
+ return defaultService.replace(x, y);
}
/**
*/
@Override
public List<AgentBase> find(Set<UUID> uuidSet) {
- return defaultAgentService.find(uuidSet);
+ return defaultService.find(uuidSet);
}
/**
*/
@Override
public Pager<IdentifiableSource> getSources(AgentBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultAgentService.getSources(t, pageSize, pageNumber, propertyPaths);
+ return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
}
/**
*/
@Override
public AgentBase find(UUID uuid) {
- return defaultAgentService.find(uuid);
+ return defaultService.find(uuid);
}
/**
*/
@Override
public List<UuidAndTitleCache<Person>> getPersonUuidAndTitleCache() {
- return defaultAgentService.getPersonUuidAndTitleCache();
+ return defaultService.getPersonUuidAndTitleCache();
}
/**
*/
@Override
public List<UuidAndTitleCache<Team>> getTeamUuidAndTitleCache() {
- return defaultAgentService.getTeamUuidAndTitleCache();
+ return defaultService.getTeamUuidAndTitleCache();
}
/**
*/
@Override
public AgentBase find(int id) {
- return defaultAgentService.find(id);
+ return defaultService.find(id);
}
/**
*/
@Override
public Pager<Rights> getRights(AgentBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
- return defaultAgentService.getRights(t, pageSize, pageNumber, propertyPaths);
+ return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
}
/**
*/
@Override
public int countMarkers(Class<? extends AgentBase> clazz, Boolean technical) {
- return defaultAgentService.countMarkers(clazz, technical);
+ return defaultService.countMarkers(clazz, technical);
}
/**
*/
@Override
public List<UuidAndTitleCache<Team>> getTeamUuidAndNomenclaturalTitle() {
- return defaultAgentService.getTeamUuidAndNomenclaturalTitle();
+ return defaultService.getTeamUuidAndNomenclaturalTitle();
}
/**
*/
@Override
public List<AgentBase> findById(Set<Integer> idSet) {
- return defaultAgentService.findById(idSet);
+ return defaultService.findById(idSet);
}
/**
*/
@Override
public List<UuidAndTitleCache<Institution>> getInstitutionUuidAndTitleCache() {
- return defaultAgentService.getInstitutionUuidAndTitleCache();
+ return defaultService.getInstitutionUuidAndTitleCache();
}
/**
*/
@Override
public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
- return defaultAgentService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
+ return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
}
/**
*/
@Override
public Session getSession() {
- return defaultAgentService.getSession();
+ return defaultService.getSession();
}
/**
*/
@Override
public List<UuidAndTitleCache<AgentBase>> getUuidAndTitleCache() {
- return defaultAgentService.getUuidAndTitleCache();
+ return defaultService.getUuidAndTitleCache();
}
/**
*/
@Override
public List<Object[]> group(Class<? extends AgentBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
- return defaultAgentService.group(clazz, limit, start, groups, propertyPaths);
+ return defaultService.group(clazz, limit, start, groups, propertyPaths);
}
/**
*/
@Override
public Pager<AgentBase> findByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public <S extends AgentBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.list(type, limit, start, orderHints, propertyPaths);
+ return defaultService.list(type, limit, start, orderHints, propertyPaths);
}
/**
*/
@Override
public Pager<AgentBase> findByTitle(IIdentifiableEntityServiceConfigurator<AgentBase> configurator) {
- return defaultAgentService.findByTitle(configurator);
+ return defaultService.findByTitle(configurator);
}
/**
*/
@Override
public Integer countByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
- return defaultAgentService.countByTitle(clazz, queryString, matchmode, criteria);
+ return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
}
/**
*/
@Override
public AgentBase load(UUID uuid) {
- return defaultAgentService.load(uuid);
+ return defaultService.load(uuid);
}
/**
*/
@Override
public AgentBase load(UUID uuid, List<String> propertyPaths) {
- return defaultAgentService.load(uuid, propertyPaths);
+ return defaultService.load(uuid, propertyPaths);
}
/**
*/
@Override
public Integer countByTitle(IIdentifiableEntityServiceConfigurator<AgentBase> configurator) {
- return defaultAgentService.countByTitle(configurator);
+ return defaultService.countByTitle(configurator);
}
/**
*/
@Override
public AgentBase merge(AgentBase transientObject) {
- return defaultAgentService.merge(transientObject);
+ return defaultService.merge(transientObject);
}
/**
*/
@Override
public List<AgentBase> listByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public <S extends AgentBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public UUID refresh(AgentBase persistentObject) {
- return defaultAgentService.refresh(persistentObject);
+ return defaultService.refresh(persistentObject);
}
/**
*/
@Override
public List<AgentBase> listByReferenceTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+ return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
}
/**
*/
@Override
public List<AgentBase> rows(String tableName, int limit, int start) {
- return defaultAgentService.rows(tableName, limit, start);
+ return defaultService.rows(tableName, limit, start);
}
/**
* @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
*/
@Override
- public UUID save(AgentBase newInstance) {
+ public AgentBase save(AgentBase newInstance) {
return null;
}
*/
@Override
public UUID update(AgentBase transientObject) {
- return defaultAgentService.update(transientObject);
+ return defaultService.update(transientObject);
}
/**
*/
@Override
public List<AgentBase> list(AgentBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
- return defaultAgentService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
+ return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
}
/**
*/
@Override
public int deduplicate(Class<? extends AgentBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
- return defaultAgentService.deduplicate(clazz, matchStrategy, mergeStrategy);
+ return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
}
/**
*/
@Override
public Pager<AgentBase> findTitleCache(Class<? extends AgentBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
- return defaultAgentService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
+ return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
}
@Override
- public List<String> isDeletable(AgentBase object,
+ public DeleteResult isDeletable(AgentBase object,
DeleteConfiguratorBase config) {
// TODO Auto-generated method stub
return null;
@Override
public AgentBase findWithoutFlush(UUID uuid) {
- return defaultAgentService.findWithoutFlush(uuid);
+ return defaultService.findWithoutFlush(uuid);
};
+ @Override
+ public <S extends AgentBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
+ return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
+ }
+
+ @Override
+ public Team convertPerson2Team(Person arg0) throws MergeException,
+ IllegalArgumentException {
+ return defaultService.convertPerson2Team(arg0);
+ }
+
+ @Override
+ public Person convertTeam2Person(Team arg0) throws MergeException,
+ IllegalArgumentException {
+ return defaultService.convertTeam2Person(arg0);
+ }
+
+
+ @Override
+ public DeleteResult delete(UUID arg0) {
+ 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);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
+ */
+ @Override
+ public List<AgentBase> merge(List<AgentBase> arg0) {
+ return defaultService.merge(arg0);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+ */
+ @Override
+ public List<MergeResult<AgentBase>> merge(List<AgentBase> arg0, boolean arg1) {
+ return defaultService.merge(arg0, arg1);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+ */
+ @Override
+ public MergeResult<AgentBase> merge(AgentBase arg0, boolean arg1) {
+ return defaultService.merge(arg0, arg1);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
+ */
+ @Override
+ public AgentBase loadWithUpdate(UUID arg0) {
+ return defaultService.loadWithUpdate(arg0);
+ }
+
}