|
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.
|