1. We will start by creating the interface needed in this layer. This interface is nearly identical in functionality to the other service layer interfaces.
package com.dtr.oas.service;
import java.util.List;
import com.dtr.oas.dao.DuplicatePermissionException;
import com.dtr.oas.dao.PermissionNotFoundException;
import com.dtr.oas.model.Permission;
public interface PermissionService {
public void addPermission(Permission permission) throws DuplicatePermissionException;
public Permission getPermission(int id) throws PermissionNotFoundException;
public Permission getPermission(String permissionname) throws PermissionNotFoundException;
public void updatePermission(Permission permission) throws PermissionNotFoundException;
public void deletePermission(int id) throws PermissionNotFoundException;
public List<Permission> getPermissions();
}
2. Next we will create the implementation of the Permission service. This service layer implementation should look pretty familiar at this point.
package com.dtr.oas.service;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.dtr.oas.dao.DuplicatePermissionException;
import com.dtr.oas.dao.PermissionDAO;
import com.dtr.oas.dao.PermissionNotFoundException;
import com.dtr.oas.model.Permission;
@Service
@Transactional
public class PermissionServiceImpl implements PermissionService {
static Logger logger = LoggerFactory.getLogger(PermissionServiceImpl.class);
@Autowired
private PermissionDAO permissionDAO;
@Override
public void addPermission(Permission permission) throws DuplicatePermissionException {
permissionDAO.addPermission(permission);
}
@Override
public Permission getPermission(int id) throws PermissionNotFoundException {
return permissionDAO.getPermission(id);
}
@Override
public Permission getPermission(String permissionname) throws PermissionNotFoundException {
return permissionDAO.getPermission(permissionname);
}
@Override
public void updatePermission(Permission permission) throws PermissionNotFoundException {
permissionDAO.updatePermission(permission);
}
@Override
public void deletePermission(int id) throws PermissionNotFoundException {
permissionDAO.deletePermission(id);
}
@Override
public List<Permission> getPermissions() {
return permissionDAO.getPermissions();
}
}
In the next post, we will add/update the Strategy controller to user the new authentication functionality.
No comments:
Post a Comment