/******************************************************************************* * Copyright (c) 2014 antoniomariasanchez at gmail.com. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * antoniomaria - initial API and implementation ******************************************************************************/ package net.sf.gazpachoquest.repository.support; import java.util.List; import java.util.Optional; import net.sf.gazpachoquest.domain.support.Persistable; import net.sf.gazpachoquest.qbe.Range; import net.sf.gazpachoquest.qbe.SearchParameters; import org.apache.aries.jpa.supplier.EmSupplier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.util.Assert; public abstract class AbstractJPARepository<T extends Persistable> implements JPARepository<T> { /** * Logger. */ private static final Logger logger = LoggerFactory.getLogger(AbstractJPARepository.class); protected Class<T> domainType; protected AbstractJPARepository(Class<T> domainType) { logger.debug("Instance created"); this.domainType = domainType; } @Override public long countByExample(final T entity, final SearchParameters sp) { // TODO Auto-generated method stub return 0; } @Override public Page<T> findByExample(final T example, final List<Range<?, ?>> ranges, final Pageable pageable) { // TODO Auto-generated method stub return null; } @Override public Page<T> findByExample(final T example, final Pageable pageable) { // TODO Auto-generated method stub return null; } @Override public List<T> findByExample(final T entity, final SearchParameters sp) { // TODO Auto-generated method stub return null; } @Override public Optional<T> findOneByExample(final T entity, final SearchParameters sp) { // TODO Auto-generated method stub return null; } @Override public <S extends T> S save(final S entity) { getEm().get().persist(entity); getEm().get().flush(); return entity; } @Override public void deleteByExample(final T entity, final SearchParameters sp) { // TODO Auto-generated method stub } @Override public long count() { // TODO Auto-generated method stub return 0; } @Override public void delete(Integer id) { // TODO Auto-generated method stub } @Override public List<T> findAll() { // TODO Auto-generated method stub return null; } public T findOne(Integer id) { Assert.notNull(id, "The given id must not be null!"); return getEm().get().find(domainType, id); } public Page<T> findAll(PageRequest pageRequest) { return null; } protected abstract EmSupplier getEm(); }