From: <ro...@us...> - 2009-05-04 12:08:10
|
Revision: 201 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=201&view=rev Author: roekens Date: 2009-05-04 12:07:57 +0000 (Mon, 04 May 2009) Log Message: ----------- refactoring of cdmm (in progress) - removed daos which are not needed any longer Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java Removed Paths: ------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,10 +1,7 @@ package de.campussource.cse.cdmm; -import java.util.ArrayList; -import java.util.Date; import java.util.List; -import javax.ejb.EJB; import javax.ejb.Remote; import javax.ejb.Stateless; import javax.jws.WebMethod; @@ -14,22 +11,12 @@ import org.apache.log4j.Logger; -import de.campussource.cse.cdmm.dao.*; -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.cdmm.domain.Group; -import de.campussource.cse.cdmm.domain.Role; -import de.campussource.cse.cdmm.domain.State; import de.campussource.cse.cdmm.messages.AccountMessage; import de.campussource.cse.cdmm.messages.CategoryMessage; import de.campussource.cse.cdmm.messages.CourseMessage; import de.campussource.cse.cdmm.messages.EventMessage; import de.campussource.cse.cdmm.messages.GroupMessage; -import de.campussource.cse.cdmm.messages.InputEventType; -import de.campussource.cse.cdmm.messages.OutputEventType; import de.campussource.cse.cdmm.messages.RoleMessage; -import de.campussource.cse.common.exception.ServiceComponentException; /** * Service bean for CDMM package @@ -42,21 +29,6 @@ @WebService(name = "DataModelManager", targetNamespace = "http://cse.campussource.de/cdmm") public class DataModelManagerBean implements DataModelManager { - @EJB - private CategoryDao categoryDao; - - @EJB - private CourseDao courseDao; - - @EJB - private RoleDao roleDao; - - @EJB - private AccountDao accountDao; - - @EJB - private GroupDao groupDao; - private static final Logger logger = Logger .getLogger(DataModelManagerBean.class); @@ -65,592 +37,36 @@ @WebResult(name = "EventMessages") public List<EventMessage> createOrUpdateCourse( @WebParam(name = "CourseMessage") CourseMessage courseMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Course loadedCourse = null; - Course newCourse = courseMessage.getCourse(); - newCourse.setDate(courseMessage.getEventTime()); - newCourse.setState(State.EXISTS); - try { - loadedCourse = courseDao.find(courseMessage.getCourse().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedCourse==null){ - try { - events.add(persistCourse(newCourse, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedCourse.getState()==State.KNOWN){ - try { - events.add(persistCourse(newCourse, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!courseMessage.getEventTime().after(loadedCourse.getDate())) { - return events; - } - if (loadedCourse.getState()==State.DELETED){ - try { - events.add(persistCourse(newCourse, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedCourse.getState()==State.EXISTS){ - try { - events.add(persistCourse(newCourse, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } - private EventMessage persistCourse(Course newCourse, OutputEventType outputEvent) - throws ServiceComponentException { - courseDao.persist(newCourse); - - createReferences(newCourse); - - EventMessage event = new EventMessage(); - event.setEntity(newCourse); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistAccount(Account newAccount, OutputEventType outputEvent) - throws ServiceComponentException { - accountDao.persist(newAccount); - - createReferences(newAccount); - - EventMessage event = new EventMessage(); - event.setEntity(newAccount); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistGroup(Group newGroup, OutputEventType outputEvent) - throws ServiceComponentException { - groupDao.persist(newGroup); - - createReferences(newGroup); - - EventMessage event = new EventMessage(); - event.setEntity(newGroup); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistRole(Role newRole, OutputEventType outputEvent) - throws ServiceComponentException { - roleDao.persist(newRole); - - createReferences(newRole); - - EventMessage event = new EventMessage(); - event.setEntity(newRole); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistCategory(Category newCategory, OutputEventType outputEvent) - throws ServiceComponentException { - categoryDao.persist(newCategory); - - createReferences(newCategory); - - EventMessage event = new EventMessage(); - event.setEntity(newCategory); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private void createReferences(Course course) { - // traverse associated objects and create them - // categories - for (Category category : course.getCategories()) { - createByReference(category); - } - // workgroups - for (Course workgroup : course.getWorkgroups()) { - createByReference(workgroup); - } - // parent - createByReference(course.getParent()); - // roles - for (Role role : course.getRoles()) { - createByReference(role); - } - } - - private void createReferences(Role role) { - // traverse associated objects and create them - // course - createByReference(role.getCourse()); - // account - createByReference(role.getAccount()); - } - - private void createReferences(Category category) { - // traverse associated objects and create them - // categories - for (Category child : category.getChildren()) { - createByReference(child); - } - // courses - for (Course course : category.getCourses()) { - createByReference(course); - } - // parent - createByReference(category.getParent()); - } - - private void createReferences(Account account) { - // traverse associated objects and create them - // roles - for (Role role : account.getRoles()) { - createByReference(role); - } - // groups - for (Group group : account.getGroups()) { - createByReference(group); - } - } - - private void createReferences(Group group) { - // traverse associated objects and create them - // roles - for (Role role : group.getRoles()) { - createByReference(role); - } - // accounts - for (Account account : group.getMembers()) { - createByReference(account); - } - } - - private void createByReference(Category category) { - if (category == null){ - return; - } - try { - @SuppressWarnings("unused") - Category loadedCategory = categoryDao.find(category.getId()); - } catch (ServiceComponentException e) { - CategoryMessage cm = new CategoryMessage(); - cm.setCategory(category); - cm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - cm.setEventTime(new Date()); - createOrUpdateCategory(cm); - } - } - - private void createByReference(Course course) { - if (course == null){ - return; - } - try { - @SuppressWarnings("unused") - Course loadedCourse = courseDao.find(course.getId()); - } catch (ServiceComponentException e) { - CourseMessage cm = new CourseMessage(); - cm.setCourse(course); - cm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - cm.setEventTime(new Date()); - createOrUpdateCourse(cm); - } - } - - private void createByReference(Group group) { - if (group == null){ - return; - } - try { - @SuppressWarnings("unused") - Group loadedGroup = groupDao.find(group.getId()); - } catch (ServiceComponentException e) { - GroupMessage gm = new GroupMessage(); - gm.setGroup(group); - gm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - gm.setEventTime(new Date()); - createOrUpdateGroup(gm); - } - } - - private void createByReference(Account account) { - if (account == null){ - return; - } - try { - @SuppressWarnings("unused") - Account loadedAccount = accountDao.find(account.getId()); - } catch (ServiceComponentException e) { - AccountMessage am = new AccountMessage(); - am.setAccount(account); - am.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - am.setEventTime(new Date()); - createOrUpdateAccount(am); - } - } - - private void createByReference(Role role) { - if (role == null){ - return; - } - try { - @SuppressWarnings("unused") - Role loadedRole = roleDao.find(role.getId()); - } catch (ServiceComponentException e) { - RoleMessage rm = new RoleMessage(); - rm.setRole(role); - rm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - rm.setEventTime(new Date()); - createOrUpdateRole(rm); - } - } - @Override public List<EventMessage> deleteCourse(CourseMessage courseMessage) { // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - // get state of given object in persistence - Course loadedCourse = null; - try { - loadedCourse = courseDao.find(courseMessage.getCourse().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - loadedCourse.setState(State.DELETED); - try { - courseDao.persist(loadedCourse); - } catch (ServiceComponentException e) { - logger.debug(e); - logger.debug(e.getMessage()); - // TODO handle me - } - - EventMessage em = new EventMessage(); - em.setEntity(loadedCourse); - em.setEventTime(new Date()); - em.setOutputEvent(OutputEventType.DELETE); - events.add(em); - return events; + return null; } @Override public List<EventMessage> createOrUpdateAccount( AccountMessage accountMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Account loadedAccount = null; - Account newAccount = accountMessage.getAccount(); - newAccount.setDate(accountMessage.getEventTime()); - newAccount.setState(State.EXISTS); - try { - loadedAccount = accountDao.find(accountMessage.getAccount().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedAccount==null){ - try { - events.add(persistAccount(newAccount, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedAccount.getState()==State.KNOWN){ - try { - events.add(persistAccount(newAccount, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!accountMessage.getEventTime().after(loadedAccount.getDate())) { - return events; - } - if (loadedAccount.getState()==State.DELETED){ - try { - events.add(persistAccount(newAccount, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedAccount.getState()==State.EXISTS){ - try { - events.add(persistAccount(newAccount, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - return events; + return null; } @Override public List<EventMessage> createOrUpdateCategory( CategoryMessage categoryMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Category loadedCategory = null; - Category newCategory = categoryMessage.getCategory(); - newCategory.setDate(categoryMessage.getEventTime()); - newCategory.setState(State.EXISTS); - try { - loadedCategory = categoryDao.find(categoryMessage.getCategory().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedCategory==null){ - try { - events.add(persistCategory(newCategory, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedCategory.getState()==State.KNOWN){ - try { - events.add(persistCategory(newCategory, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!categoryMessage.getEventTime().after(loadedCategory.getDate())) { - return events; - } - if (loadedCategory.getState()==State.DELETED){ - try { - events.add(persistCategory(newCategory, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedCategory.getState()==State.EXISTS){ - try { - events.add(persistCategory(newCategory, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } @Override public List<EventMessage> createOrUpdateGroup(GroupMessage groupMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Group loadedGroup = null; - Group newGroup = groupMessage.getGroup(); - newGroup.setDate(groupMessage.getEventTime()); - newGroup.setState(State.EXISTS); - try { - loadedGroup = groupDao.find(groupMessage.getGroup().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedGroup==null){ - try { - events.add(persistGroup(newGroup, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedGroup.getState()==State.KNOWN){ - try { - events.add(persistGroup(newGroup, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!groupMessage.getEventTime().after(loadedGroup.getDate())) { - return events; - } - if (loadedGroup.getState()==State.DELETED){ - try { - events.add(persistGroup(newGroup, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedGroup.getState()==State.EXISTS){ - try { - events.add(persistGroup(newGroup, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } @Override public List<EventMessage> createOrUpdateRole(RoleMessage roleMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Role loadedRole = null; - Role newRole = roleMessage.getRole(); - newRole.setDate(roleMessage.getEventTime()); - newRole.setState(State.EXISTS); - try { - loadedRole = roleDao.find(roleMessage.getRole().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedRole==null){ - try { - events.add(persistRole(newRole, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedRole.getState()==State.KNOWN){ - try { - events.add(persistRole(newRole, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!roleMessage.getEventTime().after(loadedRole.getDate())) { - return events; - } - if (loadedRole.getState()==State.DELETED){ - try { - events.add(persistRole(newRole, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedRole.getState()==State.EXISTS){ - try { - events.add(persistRole(newRole, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } @Override Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Account; - -/** - * DAO Class for Account entity - * @author Sebastian Roekens - * - */ -public class AccountDao extends DAOJPA<Account> { - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Category; - -/** - * DAO Class for Category entity - * @author Sebastian Roekens - * - */ -public class CategoryDao extends DAOJPA<Category>{ - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Course; - -/** - * DAO Class for Course entity - * @author Sebastian Roekens - * - */ -public class CourseDao extends DAOJPA<Course> { - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,36 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import java.io.Serializable; - -import de.campussource.cse.common.exception.ServiceComponentException; - -/** - * @author Ingo D\xFCppe - * Interface for DAO Classes of entities - * @param <T> - */ -public interface DAO<T> { - - /** - * Finder method to find persisted entities by id - * @param id id of searched object - * @return entity object with given id - * @throws ServiceComponentException - */ - public T find(Serializable id) throws ServiceComponentException; - - /** - * DAO method to persist given object - * @param entity object to persist - * @throws ServiceComponentException - */ - public void persist(T entity) throws ServiceComponentException; - - /** - * DAO method to delete entity objects - * @param entity object to delete - * @throws ServiceComponentException - */ - public void remove(T entity) throws ServiceComponentException; - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,63 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import java.io.Serializable; -import java.lang.reflect.ParameterizedType; - -import javax.ejb.TransactionAttribute; -import javax.ejb.TransactionAttributeType; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; - -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.exception.IdNotFoundException; -import de.campussource.cse.cdmm.MissingParameterException; - - -/** - * Abstract DAO class for entities - * @author Ingo D\xFCppe - * - * @param <E> Entity type of DAO class - */ -public abstract class DAOJPA<E> implements DAO<E> { - - @PersistenceContext - protected EntityManager entityManager; - - private Class<E> persistentClass; - - @SuppressWarnings("unchecked") - public DAOJPA() { - this.persistentClass = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - } - - @Override - @TransactionAttribute(TransactionAttributeType.SUPPORTS) - public E find(Serializable id) throws ServiceComponentException{ - if (id==null){ - return null; - } - E result = entityManager.find(persistentClass, id); - if (result == null){ - throw new IdNotFoundException("Id: "+ id + "could not be found."); - } - return result; - } - - @Override - @TransactionAttribute(TransactionAttributeType.MANDATORY) - public void persist(E entity) throws ServiceComponentException{ - entityManager.persist(entity); - } - - @Override - public void remove(E entity) throws ServiceComponentException{ - if (entity == null){ - throw new MissingParameterException("Parameter entity is mandatory!"); - } - entityManager.remove(entity); - } - - - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Group; - -/** - * DAO Class for Group entity - * @author Sebastian Roekens - * - */ -public class GroupDao extends DAOJPA<Group> { - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,70 +0,0 @@ -package de.campussource.cse.cdmm.dao; -import java.util.List; - -import javax.persistence.NoResultException; -import javax.persistence.Query; - -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.exception.IdNotFoundException; -import de.campussource.cse.cdmm.MissingAttributeException; -import de.campussource.cse.cdmm.MissingParameterException; -import de.campussource.cse.cdmm.domain.Role; - -/** - * DAO Class for Role entity - * @author Sebastian Roekens - * - */ -public class RoleDao extends DAOJPA<Role> { - - @Override - public void persist(Role role) throws MissingAttributeException{ - if (role.getAccount()==null){ - throw new MissingAttributeException("RoleDao.persist: account reference for role object missing!"); - } - if (role.getCourse()==null){ - throw new MissingAttributeException("RoleDao.persist: course reference for role object missing!"); - } - entityManager.persist(role); - } - - @Override - public void remove(Role role) throws ServiceComponentException{ - if (role==null){ - throw new MissingParameterException("Parameter role is mandatory!"); - } - List<Role> accountRoles = role.getAccount().getRoles(); - List<Role> courseRoles = role.getCourse().getRoles(); - accountRoles.remove(role); - courseRoles.remove(role); - role.getAccount().setRoles(accountRoles); - role.getCourse().setRoles(courseRoles); - persist(role); - super.remove(role); - } - - /** - * Search method to find a role with given course and account reference - * @param accountId id of account reference of searched role - * @param courseId id of course reference of searched role - * @return role object with given account and course reference - * @throws ServiceComponentException Exception is thrown, when no role with given accountId and courseId exists - */ - public Role retrieveRole(long accountId, long courseId) throws ServiceComponentException{ - if (accountId == 0){ - throw new MissingParameterException("Paramter accountId is mandatory!"); - } - if (courseId == 0){ - throw new MissingParameterException("Paramter accountId is mandatory!"); - } - try { - Query query = entityManager.createNamedQuery(Role.FIND_BY_ACCOUNT_AND_COURSE); - query.setParameter("accountId", accountId); - query.setParameter("courseId", courseId); - return (Role) query.getSingleResult(); - } catch (NoResultException nre) { - throw new IdNotFoundException("No role with account id: "+accountId+" and course id: "+courseId+" could be found"); - } - } - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,89 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.common.exception.IdNotFoundException; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class AccountDaoTest extends AbstractPersistentUnitTest { - private AccountDao dao; - private Account account; - - @Before - public void setUp() { - account = newAccount(); - dao = new AccountDao(); - autowireByType(dao); - txBegin(); - } - - @Test - public void testPersistAccount() { - try { - dao.persist(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(account.getId()); - txCommit(); - } - - - @Test - public void testFindAccount() { - try { - dao.persist(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(account.getId()); - commitAndBeginTx(); - Account acid = null; - try { - acid = dao.find(account.getId()); - } catch (ServiceComponentException e) { - fail("Created account could not be found"); - } - assertEquals(account, acid); - } - - @Test - public void testRemoveAccount() { - try { - dao.persist(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } assertNotNull(account.getId()); - commitAndBeginTx(); - try { - dao.remove(account); - } catch (ServiceComponentException e) { - fail("Unexpected DataModelMaangerException"); - } - commitAndBeginTx(); - try { - @SuppressWarnings("unused") - Account retrievedAccount = dao.find(account.getId()); - fail("Deleting of account failed"); - } catch (ServiceComponentException e) { - // Exception should occur; - } - - } - - @Test(expected=IdNotFoundException.class) - public void testDoNotFindById() throws ServiceComponentException { - dao.find(-1L); - } - - private Account newAccount() { - return new Account(uniqueId()); - } -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,170 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.dao.CategoryDao; -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class CategoryDaoTest extends AbstractPersistentUnitTest { - - private CategoryDao dao; - private Category category; - private Category parentCategory; - - /** - * Creates a category object, a parent object for this category and the - * category dao. - */ - @Before - public void setUp() { - category = newCategory(); - parentCategory = newCategory(); - dao = new CategoryDao(); - autowireByType(dao); - txBegin(); - } - - @After - public void tearDown() { - txCommit(); - } - - /** - * Checks if category can be persisted - */ - @Test - public void testPersistCategory() { - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - } - - /** - * Checks if category can be found by id - */ - @Test - public void testFindCategory() { - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - Category coid = null; - try { - coid = dao.find(category.getId()); - } catch (ServiceComponentException e) { - fail("Created category could not be retrieved"); - } - assertEquals(category, coid); - } - - /** - * Checks if category can be deleted - */ - @Test - public void testRemoveCategory() { - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - try { - dao.remove(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - try { - @SuppressWarnings("unused") - Category retrievedCategory = dao.find(category.getId()); - fail("Deleting of category failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Checks if cascading saving and cascading deleting work - */ - @Test - public void testCascading() { - category.addToParentCategory(parentCategory); - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - assertNotNull(parentCategory.getId()); - assertEquals(category.getParent(), parentCategory); - assertEquals(parentCategory.getChildren().get(0), category); - try { - dao.remove(parentCategory); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - try { - @SuppressWarnings("unused") - Category retrievedParentCategory = dao.find(parentCategory.getId()); - fail("Deleting of parent category failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - try { - @SuppressWarnings("unused") - Category retrievedCategory = dao.find(category.getId()); - fail("Cascaded deleting of child category failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Checks if searching for not existing ids returns null - */ - @Test - public void testDoNotFindById() { - Category foundCategory = null; - try { - foundCategory = dao.find(0L); - fail("Exception should occur"); - } catch (ServiceComponentException e) { - // Exception should occur - } - assertNull(foundCategory); - } - - /** - * Checks if circular category dependencies are prevented - */ - @Test - public void testCircularDependencyCheck() { - assertTrue(category.addToParentCategory(parentCategory)); - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertFalse(parentCategory.addToParentCategory(category)); - } - - private Category newCategory() { - return new Category(uniqueId()); - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,197 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.dao.CategoryDao; -import de.campussource.cse.cdmm.dao.CourseDao; -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class CourseDaoTest extends AbstractPersistentUnitTest { - - private CourseDao dao; - private Course course; - - /** - * Creates a course object for testing and the course dao - */ - @Before - public void setUp() { - course = newCourse(); - dao = new CourseDao(); - autowireByType(dao); - txBegin(); - } - - @After - public void tearDown() { - txCommit(); - } - - /** - * Tests creating of a course object - */ - @Test - public void testPersistCourse() { - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - } - - - - /** - * Tests searching for a course object by id - */ - @Test - public void testFindCourse() { - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - commitAndBeginTx(); - Course coid = null; - try { - coid = dao.find(course.getId()); - } catch (ServiceComponentException e) { - fail("Creating or retrieving of course failed!"); - } - assertEquals(course, coid); - } - - /** - * Tests deleting of course object - */ - @Test - public void testRemoveCourse() { - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - try { - dao.remove(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - try { - @SuppressWarnings("unused") - Course retrievedCourse = dao.find(course.getId()); - fail("Deleting of course failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Tests if searching for not existing id returns null - */ - @Test - public void testDoNotFindById() { - Course foundCourse = null; - try { - foundCourse = dao.find(0L); - fail("Exception should occur"); - } catch (ServiceComponentException e) { - // Exception should occur - } - assertNull(foundCourse); - } - - /** - * Tests cascading to category objects. - */ - @Test - public void testCascadingToCategory() { - Category category = new Category(uniqueId()); - CategoryDao categoryDao = new CategoryDao(); - autowireByType(categoryDao); - try { - categoryDao.persist(category); - } catch (ServiceComponentException e1) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(category.getId()); - course.addToCategory(category); - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - assertNotNull(course.getCategories()); - assertNotNull(category.getCourses()); - assertEquals(course.getCategories().get(0), category); - assertEquals(category.getCourses().get(0), course); - } - - /** - * Tests cascading in course hierarchy and correct course hierarchy - */ - @Test - public void testWorkgroupCascading() { - // check correct cascading on creation of workgroup - Course workgroup1 = new Course(uniqueId()); - Course workgroup2 = new Course(uniqueId()); - workgroup1.addAsWorkgroupTo(course); - try { - dao.persist(workgroup1); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(workgroup1.getId()); - assertNotNull(course.getId()); - assertNotNull(workgroup1.getParent()); - assertEquals(workgroup1.getParent(), course); - assertNotNull(course.getWorkgroups()); - assertEquals(course.getWorkgroups().get(0), workgroup1); - // check if circular dependency is prevented - assertFalse(workgroup2.addAsWorkgroupTo(workgroup1)); - // check correct deleting cascading - try { - dao.remove(course); - } catch (ServiceComponentException e) { - fail("Unexpected Exception on removing of course"); - } - try { - @SuppressWarnings("unused") - Course retrievedCourse = dao.find(course.getId()); - fail("Deleting of course failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - try { - @SuppressWarnings("unused") - Course retrievedWorkgroup = dao.find(workgroup1.getId()); - fail("Cascaded deleting of workgroup failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Convenience method for creating a course object with a unique id - * - * @return course object with unique id - */ - private Course newCourse() { - return new Course(uniqueId()); - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,31 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.fail; - -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.dao.AccountDao; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class DaoTest extends AbstractPersistentUnitTest { - private AccountDao accountDao; - - @Before - public void setUp() { - accountDao = new AccountDao(); - autowireByType(accountDao); - txBegin(); - } - - @Test - public void testAccountDao(){ - try { - accountDao.remove(null); - fail("Exception should occur"); - } catch (ServiceComponentException e) { - } - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,317 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.MissingAttributeException; -import de.campussource.cse.cdmm.dao.AccountDao; -import de.campussource.cse.cdmm.dao.CourseDao; -import de.campussource.cse.cdmm.dao.RoleDao; -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.cdmm.domain.Role; -import de.campussource.cse.cdmm.domain.RoleType; -import de.campussource.cse.cdmm.domain.State; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class RoleDaoTest extends AbstractPersistentUnitTest { - private RoleDao dao; - private Role role; - - private Course course; - - private Account account; - - @Before - public void setUp() { - //set up daos - dao = new RoleDao(); - autowireByType(dao); - //create role object with needed dependencies - course = new Course(uniqueId()); - account = new Account(uniqueId()); - role = newRole(); - txBegin(); - } - - @After - public void tearDown(){ - txCommit(); - } - - /** - * Tests if Role can be persisted - */ - @Test - public void testPersistRole() { - try { - dao.persist(role); - } catch (MissingAttributeException e) { - e.printStackTrace(); - fail("Unexpected MissingAttributeException!"); - } - assertNotNull(role.getId()); - } - - - /** - * Tests if role can be found by id - */ - @Test - public void testFindRole() { - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException!"); - } - assertNotNull(role.getId()); - Role roid = null; - try { - roid = dao.find(role.getId()); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertEquals(role, roid); - } - - /** - * Tests if Role can be deleted - */ - @Test - public void testRemoveRole() { - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException!"); - } - assertNotNull(role.getId()); - try { - dao.remove(role); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - try { - @SuppressWarnings("unused") - Role retrievedRole = dao.find(role.getId()); - fail("Deleting failed"); - } catch (ServiceComponentException e) { - //Exception is correct - } - CourseDao courseDao = new CourseDao(); - autowireByType(courseDao); - try { - Course retrievedCourse = courseDao.find(course.getId()); - assertNotNull(retrievedCourse); - } catch (ServiceComponentException e) { - fail("Account should not be deleted!"); - } - } - - /** - * Tests if search for not existing id returns null - */ - @Test - public void testDoNotFindById() { - @SuppressWarnings("unused") - Role foundRole; - try { - foundRole = dao.find(0L); - fail("ServiceComponentException should have been thrown, due to search for an not existing object!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - } - - /** - * Tests if create and update statements are correctly cascaded - * to account and course entities - */ - @Test - public void testCascadingOnCreate(){ - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException occured!"); - } - assertNotNull(role.getId()); - assertNotNull(course.getId()); - assertNotNull(account.getId()); - assertNotNull(account.getRoles()); - assertNotNull(course.getRoles()); - assertEquals(course.getRoles().get(0), role); - assertEquals(account.getRoles().get(0), role); - assertEquals(role.getCourse(), course); - assertEquals(role.getAccount(), account); - } - - /** - * Tests if role objects are deleted on deletion of parent course object - */ - @Test - public void testCascadingOnDeleteCourse(){ - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException occured!"); - } - assertNotNull(role.getId()); - assertNotNull(course.getId()); - assertNotNull(account.getId()); - assertNotNull(account.getRoles()); - assertNotNull(course.getRoles()); - assertEquals(course.getRoles().get(0), role); - assertEquals(account.getRoles().get(0), role); - assertEquals(role.getCourse(), course); - assertEquals(role.getAccount(), account); - - commitAndBeginTx(); - - CourseDao courseDao = new CourseDao(); - autowireByType(courseDao); - try { - courseDao.remove(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException occured!"); - } - try{ - @SuppressWarnings("unused") - Course retrievedCourse = courseDao.find(course.getId()); - fail("Course deleting failed!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - @SuppressWarnings("unused") - Role retrievedRole = dao.find(role.getId()); - fail("Cascaded Role deleting failed!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - } - - @Test - public void testCascadingOnDeleteAccount(){ - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException occured!"); - } - assertNotNull(role.getId()); - assertNotNull(course.getId()); - assertNotNull(account.getId()); - assertNotNull(account.getRoles()); - assertNotNull(course.getRoles()); - assertEquals(course.getRoles().get(0), role); - assertEquals(account.getRoles().get(0), role); - assertEquals(role.getCourse(), course); - assertEquals(role.getAccount(), account); - - commitAndBeginTx(); - - AccountDao accountDao = new AccountDao(); - autowireByType(accountDao); - try { - accountDao.remove(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException occured!"); - } - try { - @SuppressWarnings("unused") - Account retrievedAccount = accountDao.find(account.getId()); - fail("Account deleting failed!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - @SuppressWarnings("unused") - Role retrievedRole = dao.find(role.getId()); - fail("Cascaded role deleting failed"); - } catch (ServiceComponentException e) { - //Exception should occur - } - } - - @Test - public void testRetrieveRole(){ - Role role = new Role(uniqueId()); - role.setType(RoleType.PARTICIPANT); - Account account = new Account(uniqueId()); - Course course = new Course(uniqueId()); - - try { - dao.persist(role); - fail("It should not be able to persist role without course and account reference"); - } catch (MissingAttributeException e) { - //Exception should occur; - } - role.setCourse(course); - try { - dao.persist(role); - fail("It should not be able to persist role without course and account reference"); - } catch (MissingAttributeException e) { - //Exception should occur; - } - role.setCourse(null); - role.setAccount(account); - try { - dao.persist(role); - fail("It should not be able to persist role without course and account reference"); - } catch (MissingAttributeException e) { - //Exception should occur; - } - role.setCourse(course); - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected Missing Attribute Exception"); - } - Role retrievedRole = null; - try { - retrievedRole = dao.retrieveRole(0, course.getId()); - fail("Retrieved object should not exist"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - retrievedRole = dao.retrieveRole(account.getId(),0); - fail("Retrieved object should not exist"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - retrievedRole = dao.retrieveRole(1l, 1l); - fail("Retrieved object should not exist"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - retrievedRole = dao.retrieveRole(account.getId(), course.getId()); - } catch (ServiceComponentException e) { - fail("Retrieved object should exist"); - } - assertNotNull(retrievedRole); - assertEquals(role, retrievedRole); - - try { - dao.remove(null); - fail("null can't be removed"); - } catch (ServiceComponentException e) { - //Exception should occur - } - - } - - private Role newRole() { - Role role = new Role(uniqueId()); - role.addToCourseAndAccount(course, account); - role.setType(RoleType.ASSISTANT); - role.setState(State.EXISTS); - return role; - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |