package io.oasp.gastronomy.restaurant.salesmanagement.logic.impl.usecase; import io.oasp.gastronomy.restaurant.general.common.api.constants.PermissionConstants; import io.oasp.gastronomy.restaurant.general.logic.api.UseCase; import io.oasp.gastronomy.restaurant.salesmanagement.dataaccess.api.OrderPositionEntity; import io.oasp.gastronomy.restaurant.salesmanagement.logic.api.to.OrderPositionEto; import io.oasp.gastronomy.restaurant.salesmanagement.logic.api.to.OrderPositionSearchCriteriaTo; import io.oasp.gastronomy.restaurant.salesmanagement.logic.api.usecase.UcFindOrderPosition; import io.oasp.gastronomy.restaurant.salesmanagement.logic.base.usecase.AbstractOrderPositionUc; import java.util.List; import javax.annotation.security.RolesAllowed; import javax.inject.Named; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Implementation of {@link UcFindOrderPosition}. * */ @Named @UseCase public class UcFindOrderPositionImpl extends AbstractOrderPositionUc implements UcFindOrderPosition { private static final Logger LOG = LoggerFactory.getLogger(UcFindOrderPositionImpl.class); @Override @RolesAllowed(PermissionConstants.FIND_ORDER_POSITION) public OrderPositionEto findOrderPosition(long orderPositionId) { LOG.debug("Get order position."); OrderPositionEntity orderPositionEntities = getOrderPositionDao().findOne(orderPositionId); OrderPositionEto orderPositionBo = getBeanMapper().map(orderPositionEntities, OrderPositionEto.class); return orderPositionBo; } @Override @RolesAllowed(PermissionConstants.FIND_ORDER_POSITION) public List<OrderPositionEto> findOrderPositionsByOrderId(long orderId) { List<OrderPositionEntity> positions = getOrderPositionDao().findOrderPositionsByOrder(orderId); return getBeanMapper().mapList(positions, OrderPositionEto.class); } @Override @RolesAllowed(PermissionConstants.FIND_ORDER_POSITION) public List<OrderPositionEto> findOpenOrderPositionsByOrderId(long orderId) { LOG.debug("Get all open order positions for order id '" + orderId + "'."); return getBeanMapper() .mapList(getOrderPositionDao().findOpenOrderPositionsByOrder(orderId), OrderPositionEto.class); } @Override @RolesAllowed(PermissionConstants.FIND_ORDER_POSITION) public List<OrderPositionEto> findOrderPositions(OrderPositionSearchCriteriaTo criteria) { List<OrderPositionEntity> positions = getOrderPositionDao().findOrderPositions(criteria); return getBeanMapper().mapList(positions, OrderPositionEto.class); } }