/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.intel.mtwilson.user.management.rest.v2.repository; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginCertificateRole; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginCertificateRoleCollection; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginCertificateRoleFilterCriteria; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginCertificateRoleLocator; import com.intel.mtwilson.jaxrs2.server.resource.DocumentRepository; import com.intel.mtwilson.repository.RepositoryCreateException; import com.intel.mtwilson.repository.RepositoryDeleteException; import com.intel.mtwilson.repository.RepositoryException; import com.intel.mtwilson.repository.RepositorySearchException; import com.intel.mtwilson.shiro.jdbi.LoginDAO; import com.intel.mtwilson.shiro.jdbi.MyJdbi; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; /** * * @author ssbangal */ public class UserLoginCertificateRoleRepository implements DocumentRepository<UserLoginCertificateRole, UserLoginCertificateRoleCollection, UserLoginCertificateRoleFilterCriteria, UserLoginCertificateRoleLocator> { private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(UserLoginCertificateRoleRepository.class); @Override // @RequiresPermissions("user_login_certificate_roles:search") public UserLoginCertificateRoleCollection search(UserLoginCertificateRoleFilterCriteria criteria) { log.debug("UserLoginCertificateRole:Search - Got request to search for the users login certificates."); UserLoginCertificateRoleCollection objCollection = new UserLoginCertificateRoleCollection(); try (LoginDAO loginDAO = MyJdbi.authz()) { if (criteria.loginCertificateIdEqualTo != null) { List<UserLoginCertificateRole> objList = loginDAO.findUserLoginCertificateRolesByUserLoginCertificateId(criteria.loginCertificateIdEqualTo); if (objList != null && objList.size() > 0) { for (UserLoginCertificateRole obj : objList) { objCollection.getUserLoginCertificateRoles().add(obj); } } } else if (criteria.roleIdEqualTo != null) { List<UserLoginCertificateRole> objList = loginDAO.findUserLoginCertificateRolesByRoleId(criteria.roleIdEqualTo); if (objList != null && objList.size() > 0) { for (UserLoginCertificateRole obj : objList) { objCollection.getUserLoginCertificateRoles().add(obj); } } } } catch (Exception ex) { log.error("Error during user login certificate role search.", ex); throw new RepositorySearchException(ex, criteria); } log.debug("UserLoginCertificateRole:Search - Returning back {} of results.", objCollection.getUserLoginCertificateRoles().size()); return objCollection; } /** * Unlike other tables, for this table the primary key is a combination of the loginCertificateId and roleId. So, we cannot * use the locator object. Hence, store, retrieve and delete will not be supported. But users can get the list using search and * also delete by specifying the search criteria. * @param locator * @return */ @Override @RequiresPermissions("user_login_certificate_roles:retrieve") public UserLoginCertificateRole retrieve(UserLoginCertificateRoleLocator locator) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } /** * Unlike other tables, for this table the primary key is a combination of the loginCertificateId and roleId. So, we cannot * use the locator object. Hence, store, retrieve and delete will not be supported. But users can get the list using search and * also delete by specifying the search criteria. * @param item */ @Override @RequiresPermissions("user_login_certificate_roles:store") public void store(UserLoginCertificateRole item) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override // @RequiresPermissions("user_login_certificate_roles:create") public void create(UserLoginCertificateRole item) { log.debug("UserLoginCertificateRole:Create - Got request to create a new login certificate role."); try (LoginDAO loginDAO = MyJdbi.authz()) { UserLoginCertificateRole obj = loginDAO.findUserLoginCertificateRolesByRoleIdAndUserLoginCertificateId(item.getLoginCertificateId(), item.getRoleId()); if (obj == null) { obj = new UserLoginCertificateRole(); obj.setLoginCertificateId(item.getLoginCertificateId()); obj.setRoleId(item.getRoleId()); loginDAO.insertUserLoginCertificateRole(obj.getLoginCertificateId(), obj.getRoleId()); log.debug("UserLoginCertificateRole:Create - Created the user login certificate role successfully."); } else { log.info("UserLoginCertificateRole:Create - User login certificate role specified already exists."); } } catch (RepositoryException re) { throw re; } catch (Exception ex) { log.error("Error during User login certificate role creation.", ex); throw new RepositoryCreateException(ex); } } /** * Unlike other tables, for this table the primary key is a combination of the loginCertificateId and roleId. So, we cannot * use the locator object. Hence, store, retrieve and delete will not be supported. But users can get the list using search and * also delete by specifying the search criteria. * @param locator */ @Override @RequiresPermissions("user_login_certificate_roles:delete") public void delete(UserLoginCertificateRoleLocator locator) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override // @RequiresPermissions("user_login_certificate_roles:delete,search") public void delete(UserLoginCertificateRoleFilterCriteria criteria) { log.debug("UserLoginCertificateRole:Delete - Got request to delete login certificate role by search criteria."); UserLoginCertificateRoleCollection objList = search(criteria); try (LoginDAO loginDAO = MyJdbi.authz()) { for (UserLoginCertificateRole obj : objList.getUserLoginCertificateRoles()) { loginDAO.deleteUserLoginCertificateRole(obj.getLoginCertificateId(), obj.getRoleId()); } } catch(RepositoryException re) { throw re; } catch (Exception ex) { log.error("Error during user login certificate role deletion.", ex); throw new RepositoryDeleteException(ex); } } }