Compare commits

...

2 Commits

3 changed files with 22 additions and 10 deletions

View File

@ -1,8 +1,8 @@
package com.cubetiqs.data.service; package com.cubetiqs.data.service;
import com.cubetiqs.data.domain.BaseEntity; import com.cubetiqs.data.domain.BaseEntity;
import com.cubetiqs.data.repository.BaseRepository;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
@ -12,7 +12,7 @@ import java.util.List;
* @since 1.0 * @since 1.0
*/ */
@NoServiceBean @NoServiceBean
public class CrudServiceImpl<T, ID extends BaseEntity<ID>> implements CrudService<T, ID> { public abstract class AbstractCrudServiceImpl<T extends BaseEntity<ID>, ID extends Serializable> implements CrudService<T, ID> {
@Override @Override
public List<T> findAll() { public List<T> findAll() {
return getRepository().findAll(); return getRepository().findAll();
@ -35,11 +35,11 @@ public class CrudServiceImpl<T, ID extends BaseEntity<ID>> implements CrudServic
@Override @Override
public T update(ID id, T entity) { public T update(ID id, T entity) {
T update = read(id); if (existsById(id)) {
if (update == null) { entity.setId(id);
return null; return getRepository().save(entity);
} }
return getRepository().save(entity); return null;
} }
@Override @Override
@ -53,7 +53,7 @@ public class CrudServiceImpl<T, ID extends BaseEntity<ID>> implements CrudServic
} }
@Override @Override
public BaseRepository<T, ID> getRepository() { public boolean existsById(ID id) {
throw new ServiceNotImplementException("service must be implement!"); return getRepository().existsById(id);
} }
} }

View File

@ -1,9 +1,11 @@
package com.cubetiqs.data.service; package com.cubetiqs.data.service;
import com.cubetiqs.data.domain.BaseEntity;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
@ -12,11 +14,13 @@ import java.util.List;
* @author sombochea * @author sombochea
* @see CrudService * @see CrudService
* @see PagingCrudService * @see PagingCrudService
* @see CrudServiceImpl * @see AbstractCrudServiceImpl
* @since 1.0 * @since 1.0
*/ */
@NoServiceBean @NoServiceBean
public class PagingCrudServiceImpl<T, ID> extends CrudServiceImpl<T, ID> implements PagingCrudService<T, ID> { public abstract class AbstractPagingCrudServiceImpl<T extends BaseEntity<ID>, ID extends Serializable>
extends AbstractCrudServiceImpl<T, ID>
implements PagingCrudService<T, ID> {
@Override @Override
public Page<T> findAll(Pageable pageable) { public Page<T> findAll(Pageable pageable) {
return getRepository().findAll(pageable); return getRepository().findAll(pageable);

View File

@ -64,4 +64,12 @@ public interface CrudService<T, ID> extends BaseService<T, ID> {
* @param ids List of IDs * @param ids List of IDs
*/ */
void deleteAll(List<ID> ids); void deleteAll(List<ID> ids);
/**
* Check entity exists within ID
*
* @param id ID
* @return boolean
*/
boolean existsById(ID id);
} }