From: <ro...@us...> - 2009-03-10 13:43:24
|
Revision: 75 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=75&view=rev Author: roekens Date: 2009-03-10 13:41:25 +0000 (Tue, 10 Mar 2009) Log Message: ----------- bugfixes and new tests for courseDao Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 11:45:48 UTC (rev 74) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 13:41:25 UTC (rev 75) @@ -1,5 +1,6 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; @@ -62,6 +63,42 @@ this.workgroups = workgroups; } + /** + * Convenience method to add this course to a category. + * Updates category list of course object and course list of category object. + * @param category the category this course should be added to + * @return Success of operation + */ + public boolean addToCategory(Category category){ + if (category == null){ + return false; + } + List<Course> courses = category.getCourses(); + if (courses==null){ + courses = new ArrayList<Course>(); + } + List<Category> categories = this.getCategories(); + if (categories == null){ + categories = new ArrayList<Category>(); + } + categories.add(category); + this.setCategories(categories); + courses.add(this); + category.setCourses(courses); + return true; + } + + /** + * Convenience method for adding course to a number of categories + * + * @param categories List of categories course is to add to + */ + public void addToCagetories(List<Category> categories){ + for (Category category : categories){ + addToCategory(category); + } + } + public String toString() { return new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE).toString(); } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-03-10 11:45:48 UTC (rev 74) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-03-10 13:41:25 UTC (rev 75) @@ -9,6 +9,7 @@ import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; +import javax.persistence.Table; import javax.persistence.Transient; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; @@ -25,13 +26,14 @@ import de.campussource.cse.cdmm.IdAdapter; @javax.persistence.Entity(name=Constants.ENTITY) +@Table(name = Constants.TABLENAME_ENTITY) @Inheritance(strategy=InheritanceType.JOINED) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.ID, Constants.PROPERTY_ATTRIBUTES}, namespace=Constants.NAMESPACE_DATATYPES) public class Entity{ @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE) + @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Transient Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java 2009-03-10 13:41:25 UTC (rev 75) @@ -57,6 +57,6 @@ } private Account newAccount() { - return new Account(uniqueId()); + return new Account(); } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 13:41:25 UTC (rev 75) @@ -106,7 +106,7 @@ private Category newCategory() { - return new Category(uniqueId()); + return new Category(); } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-10 13:41:25 UTC (rev 75) @@ -4,10 +4,13 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +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.test.AbstractPersistentUnitTest; @@ -26,6 +29,11 @@ autowireByType(dao); txBegin(); } + + @After + public void tearDown(){ + txCommit(); + } /** * Tests creating of a course object @@ -34,7 +42,6 @@ public void testPersistCourse() { dao.persist(course); assertNotNull(course.getId()); - txCommit(); } @@ -57,9 +64,7 @@ public void testRemoveCourse() { dao.persist(course); assertNotNull(course.getId()); - commitAndBeginTx(); dao.remove(course); - commitAndBeginTx(); assertNull(dao.find(course.getId())); } @@ -73,11 +78,41 @@ } /** + * Tests cascading to category objects. + */ + @Test + public void testCascadingToCategory(){ + Category category = new Category(); + CategoryDao categoryDao = new CategoryDao(); + autowireByType(categoryDao); + categoryDao.persist(category); + assertNotNull(category.getId()); + course.addToCategory(category); + dao.persist(course); + 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(){ + Course workgroup1 = new Course(); + + + } + + + /** * Convenience method for creating a course object with a unique id * @return course object with unique id */ private Course newCourse() { - return new Course(uniqueId()); + return new Course(); } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 13:41:25 UTC (rev 75) @@ -36,8 +36,8 @@ autowireByType(courseDao); autowireByType(accountDao); //create role object with needed dependencies - course = new Course(uniqueId()); - account = new Account(uniqueId()); + course = new Course(); + account = new Account(); courseDao.persist(course); accountDao.persist(account); role = newRole(); @@ -78,7 +78,7 @@ } private Role newRole() { - Role role = new Role(uniqueId()); + Role role = new Role(); role.setAccount(account); role.setCourse(course); role.setType(RoleType.ASSISTANT); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |