Source Code‎ > ‎src‎ > ‎in.co.sunrays.proj1‎ > ‎service‎ > ‎

MarksheetServiceSpringImpl.java

package in.co.sunrays.proj1.service;
 
import in.co.sunrays.proj1.dao.MarksheetDAOInt;
import in.co.sunrays.proj1.dto.MarksheetDTO;
import in.co.sunrays.proj1.exception.ApplicationException;
import in.co.sunrays.proj1.exception.DatabaseException;
import in.co.sunrays.proj1.exception.DuplicateRecordException;
 
import java.util.List;
 
import org.apache.log4j.Logger;
 
/**
 * Spring Implementation of Marksheet Service
 * 
 * @author SUNRAYS Technologies
 * @version 1.0
 * @Copyright (c) SUNRAYS Technologies
 */
public class MarksheetServiceSpringImpl implements MarksheetServiceInt {
 
    /**
     * Logger
     */
    private static Logger log = Logger
            .getLogger(MarksheetServiceSpringImpl.class);
    /**
     * Get MarksheetDAO Instance
     */
    private MarksheetDAOInt dao;
 
    /**
     * Injects DAO object
     * 
     * @param dao
     */
    public void setDao(MarksheetDAOInt dao) {
        this.dao = dao;
    }
 
    /**
     * Add a Marksheet
     * 
     * @param dto
     * @throws ApplicationException
     * @throws DuplicateRecordException
     *             : throws when RollNo. is already exists
     */
    @Override
    public long add(MarksheetDTO dto) throws ApplicationException,
            DuplicateRecordException {
        log.debug("Service add Started");
        long pk = 0;
        try {
            MarksheetDTO duplicateMarksheet = dao.findByRollNo(dto.getRollNo());
            if (duplicateMarksheet != null) {
                throw new DuplicateRecordException("Roll Number already exists");
            }
            pk = dao.add(dto);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service add End");
        return pk;
    }
 
    /**
     * Update a Marksheet
     * 
     * @param dto
     * @throws ApplicationException
     * @throws DuplicateRecordException
     *             : throws when updated RollNo. is already exists
     */
    @Override
    public void update(MarksheetDTO dto) throws ApplicationException,
            DuplicateRecordException {
        log.debug("Service update Started");
        try {
            MarksheetDTO dtoExist = dao.findByRollNo(dto.getRollNo());
            // Check if updated Roll Number already exists
            if (dtoExist != null && dtoExist.getId() != dto.getId()) {
                throw new DuplicateRecordException("Duplicate Roll Number");
            }
            dao.update(dto);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service update End");
    }
 
    /**
     * Delete a Marksheet
     * 
     * @param dto
     * @throws ApplicationException
     */
    @Override
    public void delete(MarksheetDTO dto) throws ApplicationException {
        log.debug("Service delete Started");
        try {
            MarksheetDTO dtoExist = findByPK(dto.getId());
            if (dtoExist == null) {
                throw new ApplicationException("Marksheet does not exist");
            }
            dao.delete(dto);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service delete End");
    }
 
    /**
     * Find Marksheet by Roll No
     * 
     * @param rollNo
     *            : get parameter
     * @return dto
     * @throws ApplicationException
     */
    @Override
    public MarksheetDTO findByRollNo(String rollNo) throws ApplicationException {
        log.debug("Service findByRollNo Started");
        MarksheetDTO dto;
        try {
            dto = dao.findByRollNo(rollNo);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service findByRollNo End");
        return dto;
    }
 
    /**
     * Find Marksheet by PK
     * 
     * @param pk
     *            : get parameter
     * @return dto
     * @throws ApplicationException
     */
    @Override
    public MarksheetDTO findByPK(long pk) throws ApplicationException {
        log.debug("Service findByPK Started");
        MarksheetDTO dto;
        try {
            dto = dao.findByPK(pk);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service findByPK End");
        return dto;
    }
 
    /**
     * Search Marksheets
     * 
     * @param dto
     *            : Search Parameters
     * @throws ApplicationException
     */
    @Override
    public List search(MarksheetDTO dto) throws ApplicationException {
        log.debug("Service search Started");
        List list;
        try {
            list = dao.search(dto);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service search End");
        return list;
    }
 
    /**
     * Search Marksheets with pagination
     * 
     * @return list : List of Marksheets
     * @param dto
     *            : Search Parameters
     * @param pageNo
     *            : Current Page No.
     * @param pageSize
     *            : Size of Page
     * @throws ApplicationException
     */
    @Override
    public List search(MarksheetDTO dto, int pageNo, int pageSize)
            throws ApplicationException {
        log.debug("Service search Started");
        List list;
        try {
            list = dao.search(dto, pageNo, pageSize);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service search End");
        return list;
    }
 
    /**
     * Get List of Marksheets
     * 
     * @return list : List of Marksheets
     * @throws ApplicationException
     */
    public List list() throws ApplicationException {
        log.debug("Service list Started");
        List list;
        try {
            list = dao.list();
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service list End");
        return list;
    }
 
    /**
     * Get List of Marksheets with pagination
     * 
     * @return list : List of Marksheets
     * @param pageNo
     *            : Current Page No.
     * @param pageSize
     *            : Size of Page
     * @throws ApplicationException
     */
    public List list(int pageNo, int pageSize) throws ApplicationException {
        log.debug("Service list Started");
        List list;
        try {
            list = dao.list(pageNo, pageSize);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service list End");
        return list;
    }
 
    /**
     * Get Merit List of Marksheets with pagination
     * 
     * @return list : List of Marksheets
     * @param pageNo
     *            : Current Page No.
     * @param pageSize
     *            : Size of Page
     * @throws ApplicationException
     */
    @Override
    public List getMeritList(int pageNo, int pageSize)
            throws ApplicationException {
        log.debug("Service getMeritList Started");
        List list;
        try {
            list = dao.getMeritList(pageNo, pageSize);
        } catch (DatabaseException e) {
            log.error("Application Exception..", e);
            throw new ApplicationException("Database Exception");
        }
        log.debug("Service getMeritList End");
        return list;
    }
}
Comments