You can subscribe to this list here.
2009 |
Jan
|
Feb
(28) |
Mar
(85) |
Apr
(81) |
May
(32) |
Jun
(51) |
Jul
(134) |
Aug
(21) |
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: <id...@us...> - 2009-03-17 14:28:22
|
Revision: 87 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=87&view=rev Author: idueppe Date: 2009-03-17 14:28:11 +0000 (Tue, 17 Mar 2009) Log Message: ----------- update classpath Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath 2009-03-17 14:25:56 UTC (rev 86) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath 2009-03-17 14:28:11 UTC (rev 87) @@ -1,35 +1,34 @@ -<?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src/main/java"/> - <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/> - <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> - <classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar"> - <attributes> - <attribute name="javadoc_location" value="jar:file:/D:/development/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/"/> - </attributes> - </classpathentry> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar"> - <attributes> - <attribute name="javadoc_location" value="jar:file:/D:/development/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/"/> - </attributes> - </classpathentry> - <classpathentry kind="var" path="M2_REPO/org/easymock/easymock/2.2/easymock-2.2.jar" sourcepath="M2_REPO/org/easymock/easymock/2.2/easymock-2.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2.jar" sourcepath="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"> - <attributes> - <attribute name="javadoc_location" value="jar:file:/D:/development/repository/junit/junit/4.4/junit-4.4-javadoc.jar!/"/> - </attributes> - </classpathentry> - <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/> - <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/de/campussource/cse/test-utilities/1.0-SNAPSHOT/test-utilities-1.0-SNAPSHOT.jar" sourcepath="M2_REPO/de/campussource/cse/test-utilities/1.0-SNAPSHOT/test-utilities-1.0-SNAPSHOT-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> - <classpathentry kind="output" path="target/classes"/> -</classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> + <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/development/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/development/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymock/2.2/easymock-2.2.jar" sourcepath="M2_REPO/org/easymock/easymock/2.2/easymock-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2.jar" sourcepath="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/development/repository/junit/junit/4.4/junit-4.4-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6-sources.jar"/> + <classpathentry kind="src" path="/test-utilities"/> + <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> +</classpath> \ No newline at end of file Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project 2009-03-17 14:25:56 UTC (rev 86) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project 2009-03-17 14:28:11 UTC (rev 87) @@ -1,7 +1,9 @@ <projectDescription> <name>sc-cdmm</name> <comment/> - <projects/> + <projects> + <project>test-utilities</project> + </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-17 14:26:51
|
Revision: 86 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=86&view=rev Author: idueppe Date: 2009-03-17 14:25:56 +0000 (Tue, 17 Mar 2009) Log Message: ----------- add toplink.version property Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/pom.xml Modified: cse-ip/trunk/sandbox/cse-ip/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-17 14:25:23 UTC (rev 85) +++ cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-17 14:25:56 UTC (rev 86) @@ -192,6 +192,7 @@ <jaxb-impl.version>2.1.7</jaxb-impl.version> <mysql.version>5.1.6</mysql.version> <slf4j.version>1.5.6</slf4j.version> + <toplink.version>2.1-60f</toplink.version> </properties> </project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-17 14:25:32
|
Revision: 85 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=85&view=rev Author: idueppe Date: 2009-03-17 14:25:23 +0000 (Tue, 17 Mar 2009) Log Message: ----------- Add toplink.version property. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-17 14:24:08 UTC (rev 84) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-17 14:25:23 UTC (rev 85) @@ -73,7 +73,7 @@ <dependency> <groupId>toplink.essentials</groupId> <artifactId>toplink-essentials</artifactId> - <version>2.1-60e</version> + <version>${toplink.version}</version> <scope>test</scope> </dependency> <dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 84 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=84&view=rev Author: idueppe Date: 2009-03-17 14:24:08 +0000 (Tue, 17 Mar 2009) Log Message: ----------- fixed NullPointerException if an EntityManager couldn't be created. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java Modified: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-17 14:23:01 UTC (rev 83) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-17 14:24:08 UTC (rev 84) @@ -33,11 +33,13 @@ */ @After public void closeEntity() { - EntityTransaction tx = entityManager.getTransaction(); - if (tx.isActive()) { - tx.rollback(); + if (entityManager != null) { + EntityTransaction tx = entityManager.getTransaction(); + if (tx.isActive()) { + tx.rollback(); + } + entityManager.close(); } - entityManager.close(); } @AfterClass This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-17 14:24:49
|
Revision: 83 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=83&view=rev Author: idueppe Date: 2009-03-17 14:23:01 +0000 (Tue, 17 Mar 2009) Log Message: ----------- some updates Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/documentation/cse-ip-model.mdzip Added: cse-ip/trunk/sandbox/cse-ip/documentation/cse-ip-model.mdzip =================================================================== (Binary files differ) Property changes on: cse-ip/trunk/sandbox/cse-ip/documentation/cse-ip-model.mdzip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-17 13:52:02
|
Revision: 82 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=82&view=rev Author: roekens Date: 2009-03-17 13:51:54 +0000 (Tue, 17 Mar 2009) Log Message: ----------- - several xml specific bugfixes - introduction of possible (currently not working) realisation of attributes - introduction of dmm service bean - new tests Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.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/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/AttributeAdapter.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/CSEMessage.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/AttributeAdapter.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/AttributeAdapter.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/AttributeAdapter.java 2009-03-17 13:51:54 UTC (rev 82) @@ -0,0 +1,27 @@ +package de.campussource.cse.cdmm; + +import javax.xml.bind.annotation.adapters.XmlAdapter; + +import de.campussource.cse.cdmm.domain.Attribute; +import de.campussource.cse.cdmm.domain.PersistentAttribute; +import de.campussource.cse.cdmm.domain.TransientAttribute; + +public class AttributeAdapter extends XmlAdapter<Attribute, Attribute>{ + + + + @Override + public Attribute unmarshal(Attribute v) throws Exception { + if (!v.isPersistent()){ + return new TransientAttribute(v.getName(), v.getValue()); + } + return new PersistentAttribute(v.getName(), v.getValue()); + } + + @Override + public Attribute marshal(Attribute v) throws Exception { + return v; + } + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/AttributeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/CSEMessage.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/CSEMessage.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/CSEMessage.java 2009-03-17 13:51:54 UTC (rev 82) @@ -0,0 +1,5 @@ +package de.campussource.cse.cdmm; + +public abstract class CSEMessage{ + +} \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/CSEMessage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java 2009-03-17 13:51:54 UTC (rev 82) @@ -62,6 +62,10 @@ public static final String COLUMNNAME_ACCOUNT_ID = "ACCOUNT_ID"; public static final String COLUMNNAME_CATEGORY_ID = "CATEGORY_ID"; public static final String COLUMNNAME_COURSE_ID = "COURSE_ID"; + public static final String COLUMNNAME_NAME = "NAME"; + public static final String COLUMNNAME_VALUE = "VALUE"; + public static final String COLUMNNAME_ENTITY_ID = "ENTITY_ID"; + public static final String ID = "id"; Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java 2009-03-17 13:51:54 UTC (rev 82) @@ -2,7 +2,60 @@ import javax.ejb.Remote; +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; + @Remote public interface DataModelManager { + public CSEMessage saveCategory(Category category); + + public CSEMessage saveCategoryHierarchy(Category category); + + public CSEMessage deleteCategory(Category category); + + public CSEMessage retrieveCategoryHierarchy(long categoryId); + + public CSEMessage retrieveCategory(long categoryId); + + + + public CSEMessage saveCourse(Course course); + + public CSEMessage saveCourseHierarchy(Course course); + + public CSEMessage deleteCourse(Course course); + + public CSEMessage retrieveCourse(long courseId); + public CSEMessage retrieveCourseHierarchy(long courseId); + + + + public CSEMessage saveRole(Role role); + + public CSEMessage deleteRole(Role role); + + public CSEMessage retrieveRole(long roleId); + + public CSEMessage retrieveRole(long accountId, long courseId); + + + + public CSEMessage saveAccount(Account account); + + public CSEMessage deleteAccount(Account account); + + public CSEMessage retrieveAccount(long accountId); + + + public CSEMessage retrieveGroup(long groupId); + + public CSEMessage saveGroup(Group group); + + public CSEMessage deleteGroup(Group group); + + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-03-17 13:51:54 UTC (rev 82) @@ -4,6 +4,11 @@ import javax.ejb.Stateless; 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; @Stateless public class DataModelManagerBean implements DataModelManager { @@ -25,5 +30,128 @@ @EJB private RoleDao roleDao; + + @Override + public CSEMessage deleteAccount(Account account) { + accountDao.remove(account); + return null; + } + + @Override + public CSEMessage deleteCategory(Category category) { + categoryDao.remove(category); + return null; + } + + @Override + public CSEMessage deleteCourse(Course course) { + courseDao.remove(course); + return null; + } + + @Override + public CSEMessage deleteGroup(Group group) { + groupDao.remove(group); + return null; + } + + @Override + public CSEMessage deleteRole(Role role) { + roleDao.remove(role); + return null; + } + + @Override + public CSEMessage retrieveAccount(long accountId) { + Account account = accountDao.find(accountId); + return null; + } + + @Override + public CSEMessage retrieveCategory(long categoryId) { + Category category = categoryDao.find(categoryId); + //TODO cut subcategories or define new method in dao + return null; + } + + @Override + public CSEMessage retrieveCategoryHierarchy(long categoryId) { + Category category = categoryDao.find(categoryId); + return null; + } + + @Override + public CSEMessage retrieveCourse(long courseId) { + //TODO cut workgroups or define new method in dao + Course course = courseDao.find(courseId); + return null; + } + + @Override + public CSEMessage retrieveCourseHierarchy(long courseId) { + Course course = courseDao.find(courseId); + return null; + } + + @Override + public CSEMessage retrieveGroup(long groupId) { + Group group = groupDao.find(groupId); + return null; + } + + @Override + public CSEMessage retrieveRole(long roleId) { + Role role = roleDao.find(roleId); + return null; + } + + @Override + public CSEMessage retrieveRole(long accountId, long courseId) { + //TODO define new dao method + //Role role = roleDao. + return null; + } + + @Override + public CSEMessage saveAccount(Account account) { + accountDao.persist(account); + return null; + } + + @Override + public CSEMessage saveCategory(Category category) { + categoryDao.persist(category); + return null; + } + + @Override + public CSEMessage saveCategoryHierarchy(Category category) { + categoryDao.persist(category); + return null; + } + + @Override + public CSEMessage saveCourse(Course course) { + courseDao.persist(course); + return null; + } + + @Override + public CSEMessage saveCourseHierarchy(Course course) { + courseDao.persist(course); + return null; + } + + @Override + public CSEMessage saveGroup(Group group) { + groupDao.persist(group); + return null; + } + + @Override + public CSEMessage saveRole(Role role) { + roleDao.persist(role); + return null; + } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java 2009-03-17 13:51:54 UTC (rev 82) @@ -1,20 +1,27 @@ package de.campussource.cse.cdmm.domain; +import javax.persistence.Transient; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import de.campussource.cse.cdmm.AttributeAdapter; import de.campussource.cse.cdmm.Constants; @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(namespace=Constants.NAMESPACE_DATATYPES) +@XmlJavaTypeAdapter(value=AttributeAdapter.class) public class Attribute { + @Transient private String name; + @Transient private String value; + private boolean persistent; public Attribute(){ 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-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-03-17 13:51:54 UTC (rev 82) @@ -84,7 +84,8 @@ } @XmlElementWrapper(name=Constants.ATTRIBUTES) - @XmlElements(value={@XmlElement(name=Constants.ATTRIBUTE,type=Attribute.class), @XmlElement(name=Constants.ATTRIBUTE,type=TransientAttribute.class), @XmlElement(name=Constants.ATTRIBUTE, type=PersistentAttribute.class)}) + //@XmlElements(value={@XmlElement(name=Constants.ATTRIBUTE,type=Attribute.class), @XmlElement(name=Constants.ATTRIBUTE,type=TransientAttribute.class), @XmlElement(name=Constants.ATTRIBUTE, type=PersistentAttribute.class)}) + @XmlElement(name=Constants.ATTRIBUTE) public List<Attribute> getAttributes() { return attributes; } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java 2009-03-17 13:51:54 UTC (rev 82) @@ -23,14 +23,7 @@ private List<Account> accounts; - public void setCourses(List<Course> courses) { - this.courses = courses; - } - public void setAccounts(List<Account> accounts) { - this.accounts = accounts; - } - @XmlElement(name=Constants.CATEGORY) public Category getRootCategory() { return rootCategory; @@ -49,6 +42,14 @@ return accounts; } + public void setCourses(List<Course> courses) { + this.courses = courses; + } + + public void setAccounts(List<Account> accounts) { + this.accounts = accounts; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE).append(rootCategory).append(courses.toArray()).append(accounts.toArray()).toString(); Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java 2009-03-17 13:51:54 UTC (rev 82) @@ -1,14 +1,54 @@ package de.campussource.cse.cdmm.domain; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; +import javax.persistence.Column; +import javax.persistence.ManyToOne; +import javax.xml.bind.annotation.XmlTransient; import de.campussource.cse.cdmm.Constants; -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(namespace=Constants.NAMESPACE_DATATYPES) +@XmlTransient public class PersistentAttribute extends Attribute { + + @Column(name=Constants.COLUMNNAME_NAME, nullable=false, insertable=true, updatable=true) + private String name; + + @Column(name=Constants.COLUMNNAME_VALUE, nullable=false, insertable=true, updatable=true) + private String value; + + @ManyToOne(optional=false) + @Column(name=Constants.COLUMNNAME_ENTITY_ID, nullable=false, insertable=true, updatable=true) + public Entity entity; + + public Entity getEntity() { + return entity; + } + + public void setEntity(Entity entity) { + this.entity = entity; + } + + @Override + public String getName() { + return name; + } + + @Override + public void setName(String name) { + this.name = name; + } + + @Override + public String getValue() { + return value; + } + + @Override + public void setValue(String value) { + this.value = value; + } + + public PersistentAttribute(){} public PersistentAttribute(String name, String value){ Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java 2009-03-17 13:51:54 UTC (rev 82) @@ -1,12 +1,8 @@ package de.campussource.cse.cdmm.domain; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlTransient; -import de.campussource.cse.cdmm.Constants; - -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(namespace=Constants.NAMESPACE_DATATYPES) +@XmlTransient public class TransientAttribute extends Attribute { public TransientAttribute(){} Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java 2009-03-17 13:51:54 UTC (rev 82) @@ -0,0 +1,28 @@ +package de.campussource.cse.cdmm; + + + +import org.junit.Before; +import org.junit.Test; + +import de.campussource.cse.cdmm.domain.Category; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; + +public class DataModelManagerBeanTest extends AbstractPersistentUnitTest { + + private DataModelManagerBean dmm; + + @Before + public void setUp() { + dmm = new DataModelManagerBean(); + autowireByType(dmm); + txBegin(); + } + + @Test + public void testSaveCategory(){ + Category category = new Category(uniqueId()); + dmm.saveCategory(category); + } + +} \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-17 11:48:42 UTC (rev 81) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-17 13:51:54 UTC (rev 82) @@ -423,12 +423,9 @@ System.out.println("----- entering Attribute XML Test -----"); //create category object with two attributes Category category = new Category(createUniqueId()); - TransientAttribute att1 = new TransientAttribute(); - att1.setName("TNAME"); - att1.setValue("TVALUE"); - PersistentAttribute att2 = new PersistentAttribute(); - att2.setName("PNAME"); - att2.setValue("PVALUE"); + TransientAttribute att1 = new TransientAttribute("TNAME", "TVALUE"); + PersistentAttribute att2 = new PersistentAttribute("PNAME", "PVALUE"); + att2.setEntity(category); List<Attribute> attributes = new ArrayList<Attribute>(); attributes.add(att1); attributes.add(att2); @@ -438,7 +435,7 @@ Marshaller marshaller=null; JAXBContext context=null; try { - context = JAXBContext.newInstance(Category.class); + context = JAXBContext.newInstance(Category.class, Attribute.class, PersistentAttribute.class, TransientAttribute.class); marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); } catch (JAXBException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 81 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=81&view=rev Author: idueppe Date: 2009-03-17 11:48:42 +0000 (Tue, 17 Mar 2009) Log Message: ----------- fixed NullPointerException while closing EntityManagerFactory if something is wrong with the persistence unit. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java Modified: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 16:21:51 UTC (rev 80) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-17 11:48:42 UTC (rev 81) @@ -42,7 +42,9 @@ @AfterClass public static void closeFactory() { - entityManagerFactory.close(); + if (entityManagerFactory != null) { + entityManagerFactory.close(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-10 16:22:04
|
Revision: 80 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=80&view=rev Author: idueppe Date: 2009-03-10 16:21:51 +0000 (Tue, 10 Mar 2009) Log Message: ----------- Fixed issues... Modified Paths: -------------- 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/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 15:16:35 UTC (rev 79) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 16:21:51 UTC (rev 80) @@ -109,42 +109,46 @@ */ @Test public void testCascadingOnDeleteCourse(){ - //FIXME test fails, no idea why... -// dao.persist(role); -// 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); -// CourseDao courseDao = new CourseDao(); -// autowireByType(courseDao); -// courseDao.remove(course); -// assertNull(courseDao.find(course.getId())); -// assertNull(dao.find(role.getId())); + dao.persist(role); + 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); + courseDao.remove(course); + assertNull(courseDao.find(course.getId())); + assertNull(dao.find(role.getId())); } @Test public void testCascadingOnDeleteAccount(){ - //FIXME test fails, no idea why... -// dao.persist(role); -// 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); -// AccountDao accountDao = new AccountDao(); -// autowireByType(accountDao); -// accountDao.remove(account); -// assertNull(accountDao.find(account.getId())); -// assertNull(dao.find(role.getId())); + dao.persist(role); + 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); + accountDao.remove(account); + assertNull(accountDao.find(account.getId())); + assertNull(dao.find(role.getId())); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-10 15:17:08
|
Revision: 79 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=79&view=rev Author: idueppe Date: 2009-03-10 15:16:35 +0000 (Tue, 10 Mar 2009) Log Message: ----------- ignore .classpath etc. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath Property Changed: ---------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/ Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm ___________________________________________________________________ Added: svn:ignore + createDDL.jdbc dropDDL.jdbc Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath 2009-03-10 14:55:10 UTC (rev 78) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath 2009-03-10 15:16:35 UTC (rev 79) @@ -1,26 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src/main/java"/> - <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> - <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> - <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> - <classpathentry kind="output" path="target/classes"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar"> - <attributes> - <attribute value="jar:file:/C:/development/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/" name="javadoc_location"/> - </attributes> - </classpathentry> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar"> - <attributes> - <attribute value="jar:file:/C:/development/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/" name="javadoc_location"/> - </attributes> - </classpathentry> - <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> -</classpath> \ No newline at end of file + <classpathentry kind="src" path="src/main/java"/> + <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> + <classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar"> + <attributes> + <attribute name="javadoc_location" value="jar:file:/D:/development/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar"> + <attributes> + <attribute name="javadoc_location" value="jar:file:/D:/development/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymock/2.2/easymock-2.2.jar" sourcepath="M2_REPO/org/easymock/easymock/2.2/easymock-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2.jar" sourcepath="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"> + <attributes> + <attribute name="javadoc_location" value="jar:file:/D:/development/repository/junit/junit/4.4/junit-4.4-javadoc.jar!/"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/de/campussource/cse/test-utilities/1.0-SNAPSHOT/test-utilities-1.0-SNAPSHOT.jar" sourcepath="M2_REPO/de/campussource/cse/test-utilities/1.0-SNAPSHOT/test-utilities-1.0-SNAPSHOT-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 14:55:12
|
Revision: 78 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=78&view=rev Author: roekens Date: 2009-03-10 14:55:10 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - several bugfixes of jpa annotations - more tests cascaded delete from course or account to role does not work! Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 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/Group.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.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/dao/CourseDao.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java 2009-03-10 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java 2009-03-10 14:55:10 UTC (rev 78) @@ -3,5 +3,5 @@ import de.campussource.cse.cdmm.domain.Course; public class CourseDao extends DAOJPA<Course> { - + } \ No newline at end of file Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java 2009-03-10 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java 2009-03-10 14:55:10 UTC (rev 78) @@ -1,7 +1,20 @@ package de.campussource.cse.cdmm.dao; +import java.util.List; + import de.campussource.cse.cdmm.dao.DAOJPA; import de.campussource.cse.cdmm.domain.Role; public class RoleDao extends DAOJPA<Role> { - + + @Override + public void remove(Role role){ + 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); + } } \ No newline at end of file Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-10 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-10 14:55:10 UTC (rev 78) @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.List; +import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @@ -26,7 +27,7 @@ @XmlType(propOrder={Constants.GROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) public class Account extends de.campussource.cse.cdmm.domain.Entity{ - @OneToMany(mappedBy=Constants.ACCOUNT) + @OneToMany(mappedBy=Constants.ACCOUNT, cascade=CascadeType.REMOVE) private List<Role> roles; @ManyToMany 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 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 14:55:10 UTC (rev 78) @@ -45,7 +45,7 @@ inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_COURSE_ID)}) private List<Category> categories; - @OneToMany(mappedBy=Constants.COURSE, cascade = CascadeType.REMOVE) + @OneToMany(mappedBy=Constants.COURSE, cascade = {CascadeType.REMOVE}) private List<Role> roles; public Course(){ Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-03-10 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-03-10 14:55:10 UTC (rev 78) @@ -2,6 +2,7 @@ import java.util.List; +import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @@ -25,7 +26,7 @@ @XmlType(propOrder={Constants.MEMBERS}, namespace=Constants.NAMESPACE_DATATYPES) public class Group extends Account{ - @ManyToMany(mappedBy=Constants.GROUPS) + @ManyToMany(mappedBy=Constants.GROUPS, cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}) private List<Account> members; public Group(){ Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-03-10 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-03-10 14:55:10 UTC (rev 78) @@ -1,5 +1,9 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; @@ -28,11 +32,11 @@ @Enumerated(EnumType.ORDINAL) private RoleType type; - @ManyToOne(optional=false) + @ManyToOne(optional=false, cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinColumn(name=Constants.COLUMNNAME_ACCOUNT_ID, nullable=false) private Account account; - @ManyToOne(optional=false) + @ManyToOne(optional=false, cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinColumn(name=Constants.COLUMNNAME_COURSE_ID, nullable=false) private Course course; @@ -46,6 +50,35 @@ this.course = course; } + /** + * Convenience method to add role to a course and an account. + * Role is added to roles list of course and account object, and + * course and account are added to role object + * @param course target course role is associated to + * @param account target account role is associated to + * @return success of operation + */ + public boolean addToCourseAndAccount(Course course, Account account){ + if ((course==null)||(account==null)){ + return false; + } + List<Role> courseRoles = course.getRoles(); + if (courseRoles==null){ + courseRoles = new ArrayList<Role>(); + } + List<Role> accountRoles = account.getRoles(); + if (accountRoles==null){ + accountRoles = new ArrayList<Role>(); + } + this.setAccount(account); + this.setCourse(course); + accountRoles.add(this); + courseRoles.add(this); + account.setRoles(accountRoles); + course.setRoles(courseRoles); + return true; + } + public Role(Long id, RoleType type){ setId(id); this.type = type; 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 13:55:45 UTC (rev 77) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 14:55:10 UTC (rev 78) @@ -4,6 +4,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -20,67 +21,137 @@ private RoleDao dao; private Role role; - private CourseDao courseDao; private Course course; - private AccountDao accountDao; private Account account; @Before public void setUp() { //set up daos dao = new RoleDao(); - courseDao = new CourseDao(); - accountDao = new AccountDao(); autowireByType(dao); - autowireByType(courseDao); - autowireByType(accountDao); //create role object with needed dependencies course = new Course(); account = new Account(); - courseDao.persist(course); - accountDao.persist(account); role = newRole(); txBegin(); } + + @After + public void tearDown(){ + txCommit(); + } + /** + * Tests if Role can be persisted + */ @Test public void testPersistRole() { dao.persist(role); assertNotNull(role.getId()); - txCommit(); } + /** + * Tests if role can be found by id + */ @Test public void testFindRole() { dao.persist(role); assertNotNull(role.getId()); - commitAndBeginTx(); Role roid = dao.find(role.getId()); assertEquals(role, roid); } + /** + * Tests if Role can be deleted + */ @Test public void testRemoveRole() { dao.persist(role); assertNotNull(role.getId()); - commitAndBeginTx(); dao.remove(role); - commitAndBeginTx(); assertNull(dao.find(role.getId())); + CourseDao courseDao = new CourseDao(); + autowireByType(courseDao); + assertNotNull(courseDao.find(course.getId())); } + /** + * Tests if search for not existing id returns null + */ @Test public void testDoNotFindById() { Role foundRole= dao.find(0L); assertNull(foundRole); } + /** + * Tests if create and update statements are correctly cascaded + * to account and course entities + */ + @Test + public void testCascadingOnCreate(){ + dao.persist(role); + 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(){ + //FIXME test fails, no idea why... +// dao.persist(role); +// 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); +// CourseDao courseDao = new CourseDao(); +// autowireByType(courseDao); +// courseDao.remove(course); +// assertNull(courseDao.find(course.getId())); +// assertNull(dao.find(role.getId())); + } + + @Test + public void testCascadingOnDeleteAccount(){ + //FIXME test fails, no idea why... +// dao.persist(role); +// 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); +// AccountDao accountDao = new AccountDao(); +// autowireByType(accountDao); +// accountDao.remove(account); +// assertNull(accountDao.find(account.getId())); +// assertNull(dao.find(role.getId())); + } + + + private Role newRole() { Role role = new Role(); - role.setAccount(account); - role.setCourse(course); + role.addToCourseAndAccount(course, account); role.setType(RoleType.ASSISTANT); return role; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 13:55:57
|
Revision: 77 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=77&view=rev Author: roekens Date: 2009-03-10 13:55:45 +0000 (Tue, 10 Mar 2009) Log Message: ----------- bugfixed tx structure of testcases Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 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 13:53:50 UTC (rev 76) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 13:55:45 UTC (rev 77) @@ -6,6 +6,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -31,6 +32,11 @@ autowireByType(dao); txBegin(); } + + @After + public void tearDown(){ + txCommit(); + } /** * Checks if category can be persisted @@ -39,7 +45,6 @@ public void testPersistCategory() { dao.persist(category); assertNotNull(category.getId()); - txCommit(); } @@ -50,7 +55,6 @@ public void testFindCategory() { dao.persist(category); assertNotNull(category.getId()); - commitAndBeginTx(); Category coid = dao.find(category.getId()); assertEquals(category, coid); } @@ -62,9 +66,7 @@ public void testRemoveCategory() { dao.persist(category); assertNotNull(category.getId()); - commitAndBeginTx(); dao.remove(category); - commitAndBeginTx(); assertNull(dao.find(category.getId())); } @@ -75,7 +77,6 @@ public void testCascading(){ category.addToParentCategory(parentCategory); dao.persist(category); - txCommit(); assertNotNull(category.getId()); assertNotNull(parentCategory.getId()); assertEquals(category.getParent(), parentCategory); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 13:53:55
|
Revision: 76 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=76&view=rev Author: roekens Date: 2009-03-10 13:53:50 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - introduced convenience method for course hierarchy handling - added test for cascading and hierarchy handling 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/test/java/de/campussource/cse/cdmm/CourseDaoTest.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 13:41:25 UTC (rev 75) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 13:53:50 UTC (rev 76) @@ -99,6 +99,25 @@ } } + /** + * Convenience method to add this course as a workgroup to course + * @param course parent course + * @return success of operation + */ + public boolean addAsWorkgroupTo(Course course){ + if (course==null||(course.getParent()!=null)){ + return false; + } + List<Course> workgroups = course.getWorkgroups(); + if (workgroups == null){ + workgroups = new ArrayList<Course>(); + } + workgroups.add(this); + course.setWorkgroups(workgroups); + this.setParent(course); + return true; + } + public String toString() { return new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE).toString(); } 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 13:41:25 UTC (rev 75) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-10 13:53:50 UTC (rev 76) @@ -3,6 +3,7 @@ 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 org.junit.After; import org.junit.Before; @@ -101,9 +102,23 @@ */ @Test public void testWorkgroupCascading(){ + //check correct cascading on creation of workgroup Course workgroup1 = new Course(); - - + Course workgroup2 = new Course(); + workgroup1.addAsWorkgroupTo(course); + dao.persist(workgroup1); + 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 + dao.remove(course); + assertNull(dao.find(course.getId())); + assertNull(dao.find(workgroup1.getId())); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <id...@us...> - 2009-03-10 11:45:56
|
Revision: 74 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=74&view=rev Author: idueppe Date: 2009-03-10 11:45:48 +0000 (Tue, 10 Mar 2009) Log Message: ----------- refactoring of unit tests. Now using test-utitltiy module Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml 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 cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java Removed Paths: ------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java Modified: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml 2009-03-10 11:45:48 UTC (rev 74) @@ -18,7 +18,7 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <scope>test</scope> + <scope>compile</scope> </dependency> <dependency> <groupId>org.easymock</groupId> Modified: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -16,6 +16,7 @@ protected static EntityManagerFactory entityManagerFactory; protected EntityManager entityManager; private AnnotationInjector injector; + private static long currentTimeMillis = System.currentTimeMillis(); @BeforeClass public static void retrieveEntityManagerFactory() { @@ -80,5 +81,14 @@ txCommit(); txBegin(); } + + /** + * Convenience method for creating a unique id + * @return unique id + */ + protected Long uniqueId() { + return currentTimeMillis++; + } + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml 2009-03-10 11:45:48 UTC (rev 74) @@ -16,6 +16,12 @@ <dependencies> <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>test-utilities</artifactId> + <version>${pom.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>javax.ejb</groupId> <artifactId>ejb-api</artifactId> <version>3.0</version> Deleted: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -1,123 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.ejb.EJB; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import javax.persistence.PersistenceContext; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; - -public abstract class AbstractPersistentUnitTest { - - protected static EntityManagerFactory entityManagerFactory; - static Long currentTimeMillis = System.currentTimeMillis(); - protected EntityManager entityManager; - - @BeforeClass - public static void retrieveEntityManagerFactory() { - entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); - } - - @Before - public void retrieveEntityManager() { - entityManager = entityManagerFactory.createEntityManager(); - } - - @After - public void closeEntity() { - entityManager.close(); - } - - @AfterClass - public static void closeFactory() { - entityManagerFactory.close(); - } - - // FIXME Extract to Util class - private void injectField(Object object, Field field, Object reference) { - boolean accessible = field.isAccessible(); - field.setAccessible(true); - try { - field.set(object, reference); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - field.setAccessible(accessible); - } - - // FIXME Extract to Util class - private Map<String, Object> context = new HashMap<String, Object>(); - - // FIXME Extract to Util class - protected void autowireByType(Object object) { - Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); - for (Field field : fields) { - if (field.isAnnotationPresent(PersistenceContext.class)) { - injectField(object, field, entityManager); - } - if (field.isAnnotationPresent(EJB.class)) { - try { - Class fieldClass = field.getType(); - Object target = context.get(fieldClass.getName()); - if (target == null) { - target = fieldClass.newInstance(); - autowireByType(target); - context.put(fieldClass.getName(), target); - } - injectField(object, field, target); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - } - - // FIXME Extract to Util class - private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { - List<Field> fields = new ArrayList<Field>(); - Class clazz = object.getClass(); - while (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - clazz = clazz.getSuperclass(); - } - - return (Field[]) fields.toArray(new Field[fields.size()]); - } - - protected void txBegin() { - entityManager.getTransaction().begin(); - } - - protected void txCommit() { - entityManager.getTransaction().commit(); - } - - protected void commitAndBeginTx() { - txCommit(); - txBegin(); - } - - /** - * Convenience method for creating a unique id - * @return unique id - */ - protected Long createUniqueId() { - return currentTimeMillis++; - } - -} 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:29:58 UTC (rev 73) +++ 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) @@ -9,6 +9,7 @@ import de.campussource.cse.cdmm.dao.AccountDao; import de.campussource.cse.cdmm.domain.Account; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; public class AccountDaoTest extends AbstractPersistentUnitTest { private AccountDao dao; @@ -56,6 +57,6 @@ } private Account newAccount() { - return new Account(createUniqueId()); + return new Account(uniqueId()); } } 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:29:58 UTC (rev 73) +++ 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) @@ -1,16 +1,17 @@ package de.campussource.cse.cdmm; 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.assertFalse; 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.test.AbstractPersistentUnitTest; public class CategoryDaoTest extends AbstractPersistentUnitTest{ @@ -105,7 +106,7 @@ private Category newCategory() { - return new Category(createUniqueId()); + return new Category(uniqueId()); } } 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:29:58 UTC (rev 73) +++ 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) @@ -9,6 +9,7 @@ import de.campussource.cse.cdmm.dao.CourseDao; import de.campussource.cse.cdmm.domain.Course; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; public class CourseDaoTest extends AbstractPersistentUnitTest { @@ -76,7 +77,7 @@ * @return course object with unique id */ private Course newCourse() { - return new Course(createUniqueId()); + return new Course(uniqueId()); } } 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:29:58 UTC (rev 73) +++ 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) @@ -14,6 +14,7 @@ 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.common.test.AbstractPersistentUnitTest; public class RoleDaoTest extends AbstractPersistentUnitTest { private RoleDao dao; @@ -35,8 +36,8 @@ autowireByType(courseDao); autowireByType(accountDao); //create role object with needed dependencies - course = new Course(createUniqueId()); - account = new Account(createUniqueId()); + course = new Course(uniqueId()); + account = new Account(uniqueId()); courseDao.persist(course); accountDao.persist(account); role = newRole(); @@ -77,7 +78,7 @@ } private Role newRole() { - Role role = new Role(createUniqueId()); + Role role = new Role(uniqueId()); role.setAccount(account); role.setCourse(course); role.setType(RoleType.ASSISTANT); Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-10 11:45:48 UTC (rev 74) @@ -6,7 +6,7 @@ import java.io.Writer; import java.util.ArrayList; import java.util.List; - + import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; @@ -15,14 +15,16 @@ import javax.xml.transform.Result; import javax.xml.transform.dom.DOMResult; +import junit.framework.TestCase; + import org.junit.Test; import org.w3c.dom.Document; import com.sun.org.apache.xml.internal.serialize.OutputFormat; import com.sun.org.apache.xml.internal.serialize.XMLSerializer; -import de.campussource.cse.cdmm.domain.Attribute; import de.campussource.cse.cdmm.domain.Account; +import de.campussource.cse.cdmm.domain.Attribute; import de.campussource.cse.cdmm.domain.Category; import de.campussource.cse.cdmm.domain.Course; import de.campussource.cse.cdmm.domain.EntityContainer; @@ -31,8 +33,6 @@ import de.campussource.cse.cdmm.domain.Role; import de.campussource.cse.cdmm.domain.RoleType; import de.campussource.cse.cdmm.domain.TransientAttribute; - -import junit.framework.TestCase; /** * @author Sebastian Roekens @@ -336,7 +336,6 @@ } - private void printDOMResult(DOMResult domResult) throws IOException{ Document doc = (Document) domResult.getNode(); OutputFormat format = new OutputFormat(doc); Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:45:48 UTC (rev 74) @@ -19,6 +19,7 @@ <groupId>de.campussource.cse</groupId> <artifactId>test-utilities</artifactId> <version>${pom.version}</version> + <scope>test</scope> </dependency> <dependency> <groupId>javax.ejb</groupId> Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -13,6 +13,8 @@ import org.junit.Before; import org.junit.Test; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; + public class ClientObjectDaoTest extends AbstractPersistentUnitTest { private ClientObjectDao dao; @@ -30,9 +32,8 @@ public void testPersistClientObject() { dao.persist(clientObject); assertNotNull(clientObject.getId()); - txCommit(); } - + @Test public void testPersistDetachedClientObject() { dao.persist(clientObject); @@ -53,14 +54,14 @@ assertEquals(clientObject, coid); } - @Test(expected=RollbackException.class) + @Test(expected = RollbackException.class) public void testCreateClientObjectUniqueConstraintError() { - ClientInstance instance = createClientInstance("TEST","http://test.de"); - dao.persist(newClientObject("TEST::COURSE::1", 1L, instance )); - dao.persist(newClientObject("TEST::COURSE::1", 1L, instance )); + ClientInstance instance = createClientInstance("TEST", "http://test.de"); + dao.persist(newClientObject("TEST::COURSE::1", 1L, instance)); + dao.persist(newClientObject("TEST::COURSE::1", 1L, instance)); txCommit(); } - + @Test public void testRemoveClientObject() { dao.persist(clientObject); @@ -70,7 +71,7 @@ commitAndBeginTx(); assertNull(dao.find(clientObject.getId())); } - + @Test public void testFindByBusIdAndInstanceId() { dao.persist(clientObject); @@ -83,26 +84,25 @@ assertEquals(instanceId, object.getInstanceId()); assertEquals(clientObject.getClientObjectId(), object.getClientObjectId()); } - - @Test(expected=javax.persistence.NoResultException.class) + + @Test(expected = javax.persistence.NoResultException.class) public void testDoNotFindByBusIsAndInstanceId() { dao.findByBusIdAndInstanceId(-1L, -1L); } - + @Test public void testFindByClientObjectIdAndInstanceId() { dao.persist(clientObject); commitAndBeginTx(); String coid = clientObject.getClientObjectId(); Long instanceId = clientObject.getInstanceId(); - - ClientObject object = dao.findByClientObjectIdAndInstanceId(coid,instanceId); + + ClientObject object = dao.findByClientObjectIdAndInstanceId(coid, instanceId); assertNotNull(object); assertEquals(clientObject.getBusId(), object.getBusId()); assertEquals(clientObject.getClientObjectId(), object.getClientObjectId()); assertEquals(clientObject.getInstanceId(), object.getInstanceId()); } - private ClientInstance createClientInstance(final String name, final String url) { try { @@ -114,11 +114,11 @@ } private ClientObject newClientObject(final String COID, final long BUS_ID, ClientInstance... instance) { - if (instance.length > 0) { - return new ClientObject(BUS_ID, COID, instance[0]); - } else { - return new ClientObject(BUS_ID, COID, createClientInstance("default","http://www.default.de")); - } + if (instance.length > 0) { + return new ClientObject(BUS_ID, COID, instance[0]); + } else { + return new ClientObject(BUS_ID, COID, createClientInstance("default", "http://www.default.de")); + } } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -8,6 +8,8 @@ import org.junit.Before; import org.junit.Test; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; + public class IdMapperBeanTest extends AbstractPersistentUnitTest { private IdMapperBean mapper; Copied: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java (from rev 68, cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java) =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -0,0 +1,32 @@ +package de.campussource.cse.idmapper; + +import static org.junit.Assert.assertNotNull; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +import org.junit.Test; + +public class PersistentUnitConfigurationTest { + + @Test + public void testConfiguration() { + try { + EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); + EntityManager entityManager = entityManagerFactory.createEntityManager(); + + List<ClientInstance> mappings = entityManager.createQuery("SELECT m FROM ClientInstance m").getResultList(); + assertNotNull(mappings); + + entityManager.close(); + entityManagerFactory.close(); + } catch (RuntimeException rt) { + rt.printStackTrace(); + throw rt; + } + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Deleted: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -1,20 +0,0 @@ -package de.campussource.cse.idmapper; - - -import static org.junit.Assert.assertNotNull; - -import java.util.List; - - -import org.junit.Test; - - -public class PersistentUnitTest extends AbstractPersistentUnitTest { - - @Test - public void testConfiguration() { - List<ClientInstance> mappings = entityManager.createQuery("SELECT m FROM ClientInstance m").getResultList(); - assertNotNull(mappings); - } - -} Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -0,0 +1,21 @@ +package de.campussource.cse.mapper; + +import static org.junit.Assert.assertEquals; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.junit.Before; +import org.junit.Test; + +import de.campussource.cse.idmapper.ClientInstance; +import de.campussource.cse.idmapper.IdMapperBean; + + +public class IdentityMapperTest { + @Test + public void testPersistClientObjectId() throws MalformedURLException { + } + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-10 11:30:08
|
Revision: 73 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=73&view=rev Author: idueppe Date: 2009-03-10 11:29:58 +0000 (Tue, 10 Mar 2009) Log Message: ----------- refactored unit tests and extracted AbstractPersistentUnitTest to test-utilities. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java Removed Paths: ------------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java Copied: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java (from rev 68, cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java) =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) @@ -0,0 +1,84 @@ +package de.campussource.cse.common.test; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; + + +public abstract class AbstractPersistentUnitTest { + + protected static EntityManagerFactory entityManagerFactory; + protected EntityManager entityManager; + private AnnotationInjector injector; + + @BeforeClass + public static void retrieveEntityManagerFactory() { + entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); + } + + @Before + public void retrieveEntityManager() { + entityManager = entityManagerFactory.createEntityManager(); + } + + /** + * Checks whether a active transaction exists. If so it will rollback this transaction. + */ + @After + public void closeEntity() { + EntityTransaction tx = entityManager.getTransaction(); + if (tx.isActive()) { + tx.rollback(); + } + entityManager.close(); + } + + @AfterClass + public static void closeFactory() { + entityManagerFactory.close(); + } + + + protected void autowireByType(Object object) { + lazyInjectorInitialization(); + injector.autowire(object); + } + + /** + * Checks whether or not the Injector is already initialized or not. + */ + private void lazyInjectorInitialization() { + if (injector == null) { + injector = new AnnotationInjector().defaultPersistentUnit(entityManager); + } + } + + /** + * Start new transaction in current session + */ + protected void txBegin() { + entityManager.getTransaction().begin(); + } + + /** + * Commit current transaction in current session + */ + protected void txCommit() { + entityManager.getTransaction().commit(); + } + + /** + * Commit and begin new transaction in current session + */ + protected void commitAndBeginTx() { + txCommit(); + txBegin(); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:24:27 UTC (rev 72) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:29:58 UTC (rev 73) @@ -16,6 +16,11 @@ <dependencies> <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>test-utilities</artifactId> + <version>${pom.version}</version> + </dependency> + <dependency> <groupId>javax.ejb</groupId> <artifactId>ejb-api</artifactId> <version>3.0</version> Deleted: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java 2009-03-10 11:24:27 UTC (rev 72) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) @@ -1,114 +0,0 @@ -package de.campussource.cse.idmapper; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.ejb.EJB; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import javax.persistence.PersistenceContext; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; - -public abstract class AbstractPersistentUnitTest { - - protected static EntityManagerFactory entityManagerFactory; - protected EntityManager entityManager; - - @BeforeClass - public static void retrieveEntityManagerFactory() { - entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); - } - - @Before - public void retrieveEntityManager() { - entityManager = entityManagerFactory.createEntityManager(); - } - - @After - public void closeEntity() { - entityManager.close(); - } - - @AfterClass - public static void closeFactory() { - entityManagerFactory.close(); - } - - // FIXME Extract to Util class - private void injectField(Object object, Field field, Object reference) { - boolean accessible = field.isAccessible(); - field.setAccessible(true); - try { - field.set(object, reference); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - field.setAccessible(accessible); - } - - // FIXME Extract to Util class - private Map<String, Object> context = new HashMap<String, Object>(); - - // FIXME Extract to Util class - protected void autowireByType(Object object) { - Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); - for (Field field : fields) { - if (field.isAnnotationPresent(PersistenceContext.class)) { - injectField(object, field, entityManager); - } - if (field.isAnnotationPresent(EJB.class)) { - try { - Class fieldClass = field.getType(); - Object target = context.get(fieldClass.getName()); - if (target == null) { - target = fieldClass.newInstance(); - autowireByType(target); - context.put(fieldClass.getName(), target); - } - injectField(object, field, target); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - } - - // FIXME Extract to Util class - private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { - List<Field> fields = new ArrayList<Field>(); - Class clazz = object.getClass(); - while (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - clazz = clazz.getSuperclass(); - } - - return (Field[]) fields.toArray(new Field[fields.size()]); - } - - protected void txBegin() { - entityManager.getTransaction().begin(); - } - - protected void txCommit() { - entityManager.getTransaction().commit(); - } - - protected void commitAndBeginTx() { - txCommit(); - txBegin(); - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 11:24:44
|
Revision: 72 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=72&view=rev Author: roekens Date: 2009-03-10 11:24:27 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - refactoring, creating of unique id is pulled up to abstract class - working on course tests Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.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 cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java 2009-03-10 11:06:21 UTC (rev 71) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java 2009-03-10 11:24:27 UTC (rev 72) @@ -21,6 +21,7 @@ public abstract class AbstractPersistentUnitTest { protected static EntityManagerFactory entityManagerFactory; + static Long currentTimeMillis = System.currentTimeMillis(); protected EntityManager entityManager; @BeforeClass @@ -111,4 +112,12 @@ txBegin(); } + /** + * Convenience method for creating a unique id + * @return unique id + */ + protected Long createUniqueId() { + return currentTimeMillis++; + } + } 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:06:21 UTC (rev 71) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java 2009-03-10 11:24:27 UTC (rev 72) @@ -11,8 +11,6 @@ import de.campussource.cse.cdmm.domain.Account; public class AccountDaoTest extends AbstractPersistentUnitTest { - private static Long currentTimeMillis = System.currentTimeMillis(); - private AccountDao dao; private Account account; @@ -60,8 +58,4 @@ private Account newAccount() { return new Account(createUniqueId()); } - - private Long createUniqueId(){ - return currentTimeMillis++; - } } 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:06:21 UTC (rev 71) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 11:24:27 UTC (rev 72) @@ -15,8 +15,6 @@ public class CategoryDaoTest extends AbstractPersistentUnitTest{ - private static Long currentTimeMillis = System.currentTimeMillis(); - private CategoryDao dao; private Category category; private Category parentCategory; @@ -109,9 +107,5 @@ private Category newCategory() { return new Category(createUniqueId()); } - - private Long createUniqueId(){ - return currentTimeMillis++; - } } 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:06:21 UTC (rev 71) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-10 11:24:27 UTC (rev 72) @@ -12,11 +12,12 @@ public class CourseDaoTest extends AbstractPersistentUnitTest { - private static Long currentTimeMillis = System.currentTimeMillis(); - private CourseDao dao; private Course course; + /** + * Creates a course object for testing and the course dao + */ @Before public void setUp() { course = newCourse(); @@ -25,6 +26,9 @@ txBegin(); } + /** + * Tests creating of a course object + */ @Test public void testPersistCourse() { dao.persist(course); @@ -33,6 +37,9 @@ } + /** + * Tests searching for a course object by id + */ @Test public void testFindCourse() { dao.persist(course); @@ -42,8 +49,11 @@ assertEquals(course, coid); } + /** + * Tests deleting of course object + */ @Test - public void testRemoveCategory() { + public void testRemoveCourse() { dao.persist(course); assertNotNull(course.getId()); commitAndBeginTx(); @@ -52,18 +62,21 @@ assertNull(dao.find(course.getId())); } + /** + * Tests if searching for not existing id returns null + */ @Test public void testDoNotFindById() { Course foundCourse = dao.find(0L); assertNull(foundCourse); } + /** + * Convenience method for creating a course object with a unique id + * @return course object with unique id + */ private Course newCourse() { return new Course(createUniqueId()); } - - private Long createUniqueId(){ - return currentTimeMillis++; - } } 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:06:21 UTC (rev 71) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 11:24:27 UTC (rev 72) @@ -16,8 +16,6 @@ import de.campussource.cse.cdmm.domain.RoleType; public class RoleDaoTest extends AbstractPersistentUnitTest { - private static Long currentTimeMillis = System.currentTimeMillis(); - private RoleDao dao; private Role role; @@ -85,8 +83,4 @@ role.setType(RoleType.ASSISTANT); return role; } - - private Long createUniqueId(){ - return currentTimeMillis++; - } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-10 11:06:21 UTC (rev 71) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-10 11:24:27 UTC (rev 72) @@ -38,7 +38,7 @@ * @author Sebastian Roekens * */ -public class TestXmlConversion extends TestCase { +public class TestXmlConversion extends TestCase{ private static Long currentTimeMillis = System.currentTimeMillis(); private Long createUniqueId(){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 11:06:25
|
Revision: 71 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=71&view=rev Author: roekens Date: 2009-03-10 11:06:21 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - updated poms, so that sc-cdmm now is generated with main project correctly - introduced cascading for course objetc -> to be tested Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml cse-ip/trunk/sandbox/cse-ip/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java Modified: cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml 2009-03-10 10:41:52 UTC (rev 70) +++ cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml 2009-03-10 11:06:21 UTC (rev 71) @@ -21,6 +21,12 @@ <version>${pom.version}</version> <type>ejb</type> </dependency> + <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>sc-cdmm</artifactId> + <version>${pom.version}</version> + <type>ejb</type> + </dependency> </dependencies> <build> @@ -37,6 +43,12 @@ <artifactId>sc-idmapper</artifactId> </ejbModule> </modules> + <modules> + <ejbModule> + <groupId>de.campussource.cse</groupId> + <artifactId>sc-cdmm</artifactId> + </ejbModule> + </modules> </configuration> </plugin> <plugin> Modified: cse-ip/trunk/sandbox/cse-ip/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-10 10:41:52 UTC (rev 70) +++ cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-10 11:06:21 UTC (rev 71) @@ -50,6 +50,7 @@ <module>framework</module> <module>ica-his-lsf</module> <module>sc-idmapper</module> + <module>sc-cdmm</module> <module>cse-ip-application</module> </modules> 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 10:41:52 UTC (rev 70) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 11:06:21 UTC (rev 71) @@ -2,6 +2,7 @@ import java.util.List; +import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @@ -29,21 +30,21 @@ @XmlType(propOrder={ Constants.CATEGORIES, Constants.PARENT, Constants.WORKGROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) public class Course extends de.campussource.cse.cdmm.domain.Entity{ - @ManyToOne + @ManyToOne(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinTable(name=Constants.COLUMNNAME_PARENT_ID) private Course parent; - @OneToMany(mappedBy=Constants.PARENT) + @OneToMany(mappedBy=Constants.PARENT, cascade=CascadeType.REMOVE) private List<Course> workgroups; - @ManyToMany + @ManyToMany(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinTable( name = Constants.TABLENAME_COURSE2CATEGORY, joinColumns={@JoinColumn(name=Constants.COLUMNNAME_CATEGORY_ID)}, inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_COURSE_ID)}) private List<Category> categories; - @OneToMany(mappedBy=Constants.COURSE) + @OneToMany(mappedBy=Constants.COURSE, cascade = CascadeType.REMOVE) private List<Role> roles; public Course(){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 10:42:06
|
Revision: 70 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=70&view=rev Author: roekens Date: 2009-03-10 10:41:52 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - added dependency check for category hierarchy - added test - added comments Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-10 10:14:25 UTC (rev 69) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-10 10:41:52 UTC (rev 70) @@ -52,17 +52,55 @@ this.parent = parent; } - public boolean addChild(Category category){ + + /** + * Convenience method for dependency check to prevent circular dependencies. + * True if circular dependency would be created. + * + * @param newChildCategory new child category to be added to this + * @return true, if newChildCategory is present in hierarchy above this, else false + */ + private boolean checkForCircularDependencies(Category newChildCategory){ + if (this.equals(newChildCategory)){ + return true; + } + if (this.isRoot()){ + return false; + } + return this.parent.checkForCircularDependencies(newChildCategory); + } + + /** + * Private method for adding category to list of children. + * If list of children does not exist, it is created. + * + * @param category child category + * @return success of operation + */ + private boolean addChild(Category category){ if (this.children == null){ this.children = new ArrayList<Category>(); } - if (!category.getParent().equals(this)){ + if (!category.getParent().equals(this)||checkForCircularDependencies(category)){ return false; } return this.children.add(category); } + /** + * Convenience method for parent <-> children connection of categories. + * Parent of this is set to parent category and list of children of parent category + * is updated with this. + * + * @param parent parent category + * @return Success of operation + */ + public boolean addToParentCategory(Category parent){ + this.parent = parent; + return parent.addChild(this); + } + @XmlElementWrapper(name=Constants.CATEGORIES) @XmlElement(name=Constants.CATEGORY) public List<Category> getChildren() { @@ -94,6 +132,12 @@ this.parent = parent; } + + /** + * Convenience method for checking if category is root category. + * + * @return true if category is root category, else returning false + */ @XmlTransient public boolean isRoot(){ return (parent==null); 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 10:14:25 UTC (rev 69) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 10:41:52 UTC (rev 70) @@ -3,6 +3,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; import org.junit.Before; import org.junit.Test; @@ -19,6 +21,9 @@ 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(); @@ -28,6 +33,9 @@ txBegin(); } + /** + * Checks if category can be persisted + */ @Test public void testPersistCategory() { dao.persist(category); @@ -36,6 +44,9 @@ } + /** + * Checks if category can be found by id + */ @Test public void testFindCategory() { dao.persist(category); @@ -45,6 +56,9 @@ assertEquals(category, coid); } + /** + * Checks if category can be deleted + */ @Test public void testRemoveCategory() { dao.persist(category); @@ -55,10 +69,12 @@ assertNull(dao.find(category.getId())); } + /** + * Checks if cascading saving and cascading deleting work + */ @Test public void testCascading(){ - category.setParent(parentCategory); - parentCategory.addChild(category); + category.addToParentCategory(parentCategory); dao.persist(category); txCommit(); assertNotNull(category.getId()); @@ -70,12 +86,26 @@ assertNull(dao.find(category.getId())); } + /** + * Checks if searching for not existing ids returns null + */ @Test public void testDoNotFindById() { Category foundCategory = dao.find(0L); assertNull(foundCategory); } + /** + * Checks if circular category dependencies are prevented + */ + @Test + public void testCircularDependencyCheck(){ + assertTrue(category.addToParentCategory(parentCategory)); + dao.persist(category); + assertFalse(parentCategory.addToParentCategory(category)); + } + + private Category newCategory() { return new Category(createUniqueId()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 10:14:49
|
Revision: 69 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=69&view=rev Author: roekens Date: 2009-03-10 10:14:25 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - introduced convenience method for adding child categories to parent categories - bugfixed cascading in categories - enhanced category tests Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-09 18:09:08 UTC (rev 68) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-10 10:14:25 UTC (rev 69) @@ -1,5 +1,6 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; @@ -27,11 +28,11 @@ @XmlType(propOrder={Constants.PROPERTY_PARENT, Constants.PROPERTY_CHILDREN, Constants.PROPERTY_COURSES}, namespace=Constants.NAMESPACE_DATATYPES) public class Category extends de.campussource.cse.cdmm.domain.Entity { - @ManyToOne(cascade={CascadeType.REMOVE}) + @ManyToOne(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinTable(name = Constants.COLUMNNAME_CATEGORY2CATEGORY) private Category parent; - @OneToMany(mappedBy=Constants.PARENT, cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) + @OneToMany(mappedBy=Constants.PARENT, cascade={CascadeType.REMOVE}) private List<Category> children; @ManyToMany(mappedBy=Constants.CATEGORIES) @@ -51,7 +52,17 @@ this.parent = parent; } + public boolean addChild(Category category){ + if (this.children == null){ + this.children = new ArrayList<Category>(); + } + if (!category.getParent().equals(this)){ + return false; + } + return this.children.add(category); + } + @XmlElementWrapper(name=Constants.CATEGORIES) @XmlElement(name=Constants.CATEGORY) public List<Category> getChildren() { 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-09 18:09:08 UTC (rev 68) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 10:14:25 UTC (rev 69) @@ -58,9 +58,13 @@ @Test public void testCascading(){ category.setParent(parentCategory); + parentCategory.addChild(category); dao.persist(category); + txCommit(); assertNotNull(category.getId()); assertNotNull(parentCategory.getId()); + assertEquals(category.getParent(), parentCategory); + assertEquals(parentCategory.getChildren().get(0), category); dao.remove(parentCategory); assertNull(dao.find(parentCategory.getId())); assertNull(dao.find(category.getId())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-09 18:10:04
|
Revision: 68 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=68&view=rev Author: idueppe Date: 2009-03-09 18:09:08 +0000 (Mon, 09 Mar 2009) Log Message: ----------- Extracted the annotation injection code for unit testing into a separate project. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/pom.xml Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/framework/ cse-ip/trunk/sandbox/cse-ip/framework/pom.xml cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java Added: cse-ip/trunk/sandbox/cse-ip/framework/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/pom.xml 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <parent> + <artifactId>cse-ip</artifactId> + <groupId>de.campussource.cse</groupId> + <version>1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <groupId>de.campussource.cse</groupId> + <artifactId>framework</artifactId> + <packaging>pom</packaging> + <name>Framework</name> + <version>1.0-SNAPSHOT</version> + + <modules> + <module>test-utilities</module> + </modules> +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,17 @@ +<classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymock/2.2/easymock-2.2.jar" sourcepath="M2_REPO/org/easymock/easymock/2.2/easymock-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2.jar" sourcepath="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/development/repository/junit/junit/4.4/junit-4.4-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> +</classpath> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <parent> + <artifactId>framework</artifactId> + <groupId>de.campussource.cse</groupId> + <version>1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <groupId>de.campussource.cse</groupId> + <artifactId>test-utilities</artifactId> + <packaging>jar</packaging> + <name>Framework Test Utilities</name> + <version>1.0-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymock</artifactId> + <version>2.2</version> + </dependency> + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymockclassextension</artifactId> + <version>2.2</version> + </dependency> + + <dependency> + <groupId>javax.ejb</groupId> + <artifactId>ejb-api</artifactId> + <version>3.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>toplink.essentials</groupId> + <artifactId>toplink-essentials</artifactId> + <version>2.1-60e</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + <version>1.0</version> + <scope>compile</scope> + </dependency> + </dependencies> + +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,33 @@ +package de.campussource.cse.common.test; + +/** + * Generell exception if something went wrong during injection. + * + * @author Ingo Dueppe + * + */ +public class AnnotationInjectionException extends RuntimeException { + private static final long serialVersionUID = 7995450539390210857L; + + public AnnotationInjectionException() { + super(); + } + + public AnnotationInjectionException(String message, Throwable cause) { + super(message, cause); + } + + public AnnotationInjectionException(String message) { + super(message); + } + + public AnnotationInjectionException(Throwable message) { + super(message); + } + + + public AnnotationInjectionException(Object target, Throwable cause) { + super(target.getClass().getCanonicalName(),cause); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,94 @@ +package de.campussource.cse.common.test; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.ejb.EJB; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +public class AnnotationInjector { + + private Map<String, Object> context = new HashMap<String, Object>(); + + public AnnotationInjector autowire(Object object) { + intoContextByClassName(object); + autowireByField(object); + return this; + } + + public AnnotationInjector defaultPersistentUnit(EntityManager entityManager) { + addPersistenceUnit(PersistenceContext.class.getName(), entityManager); + return this; + } + + public AnnotationInjector addPersistenceUnit(String persistentUnit, EntityManager entityManager) { + context.put(persistentUnit, entityManager); + return this; + } + + private void intoContextByClassName(Object target) { + context.put(target.getClass().getName(), target); + } + + private void injectField(Object object, Field field, Object reference) { + boolean accessible = field.isAccessible(); + field.setAccessible(true); + try { + field.set(object, reference); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + field.setAccessible(accessible); + } + + protected void autowireByField(Object object) { + Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); + for (Field field : fields) { + if (field.isAnnotationPresent(PersistenceContext.class)) { + PersistenceContext annotation = field.getAnnotation(PersistenceContext.class); + Object target = null; + if (annotation.name().isEmpty()) { + // inject default persistence unit + target = context.get(PersistenceContext.class.getName()); + } else { + target = context.get(annotation.name()); + } + injectField(object, field, target); + } + if (field.isAnnotationPresent(EJB.class)) { + try { + Class fieldClass = field.getType(); + Object target = context.get(fieldClass.getName()); + if (target == null) { + target = fieldClass.newInstance(); + autowire(target); + context.put(fieldClass.getName(), target); + } + injectField(object, field, target); + } catch (InstantiationException e) { + throw new AnnotationInjectionException(object, e); + } catch (IllegalAccessException e) { + throw new AnnotationInjectionException(object, e); + } + } + } + } + + private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { + List<Field> fields = new ArrayList<Field>(); + Class clazz = object.getClass(); + while (clazz != null) { + fields.addAll(Arrays.asList(clazz.getDeclaredFields())); + clazz = clazz.getSuperclass(); + } + return (Field[]) fields.toArray(new Field[fields.size()]); + } +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,5 @@ +package de.campussource.cse.common.test; + +public interface AnnotationProcessor { + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,88 @@ +package de.campussource.cse.common.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import javax.ejb.EJB; +import javax.ejb.Stateful; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +import org.easymock.classextension.EasyMock; +import org.junit.Test; + + +public class TestAnnotationInjector { + + @Test + public void testEJBInjection() { + AnnotationInjector injector = new AnnotationInjector(); + + BeanOne beanOne = new BeanOne(); + injector.autowire(beanOne); + + assertNotNull(beanOne.two); + assertNotNull(beanOne.two.one); + assertNotNull(beanOne.two.three.one); + assertEquals(beanOne, beanOne.two.one); + assertEquals(beanOne, beanOne.two.three.one); + } + + @Test + public void testPersistenceInjection() { + EntityManager em = EasyMock.createMock(EntityManager.class); + AnnotationInjector injector = new AnnotationInjector().defaultPersistentUnit(em); + + BeanOne beanOne = new BeanOne(); + injector.autowire(beanOne); + + assertNotNull(beanOne.context); + assertEquals(em, beanOne.context); + } + + @Test(expected=AnnotationInjectionException.class) + public void testInjectionError() { + new AnnotationInjector().autowire(new BeanError()); + } + + @Stateless + public static class BeanError { + @SuppressWarnings("unused") + @EJB + private NoBean bean; + } + + @Stateless + public static class NoBean { + public NoBean(BeanError error) { + } + } + + + @Stateless + public static class BeanOne { + @EJB + private BeanTwo two; + + @PersistenceContext + private EntityManager context; + } + + @Stateless + public static class BeanTwo { + @EJB + private BeanOne one; + @EJB + private BeanThree three; + } + + @Stateful + public static class BeanThree { + @EJB + private BeanOne one; + } + + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-09 16:22:06 UTC (rev 67) +++ cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-09 18:09:08 UTC (rev 68) @@ -47,6 +47,7 @@ </organization> <modules> + <module>framework</module> <module>ica-his-lsf</module> <module>sc-idmapper</module> <module>cse-ip-application</module> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-09 16:22:13
|
Revision: 67 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=67&view=rev Author: roekens Date: 2009-03-09 16:22:06 +0000 (Mon, 09 Mar 2009) Log Message: ----------- - introduced cascading for categories - several bugfixes - more tests Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.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/TestXmlConversion.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java 2009-03-09 13:13:44 UTC (rev 66) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java 2009-03-09 16:22:06 UTC (rev 67) @@ -36,6 +36,7 @@ //entity property names public static final String PROPERTY_ATTRIBUTES = "attributes"; public static final String PROPERTY_PARENTS = "parents"; + public static final String PROPERTY_PARENT = "parent"; public static final String PROPERTY_CHILDREN = "children"; public static final String PROPERTY_COURSES = "courses"; public static final String PROPERTY_NAME = "name"; @@ -49,11 +50,11 @@ public static final String TABLENAME_ENTITY = "CDMM_ENTITY"; public static final String TABLENAME_GROUP = "CDMM_GROUP"; public static final String TABLENAME_ROLE = "CDMM_ROLE"; - public static final String TABLENAME_CATEGORY2CATEGORY = "CDMM_CAT2CAT"; public static final String TABLENAME_GROUP2ACCOUNT = "CDMM_GROUP2ACCOUNT"; public static final String TABLENAME_COURSE2CATEGORY = "CDMM_COURSE2CAT"; //column names + public static final String COLUMNNAME_CATEGORY2CATEGORY = "PARENT_CAT_ID"; public static final String COLUMNNAME_ROLE_TYPE="ROLE_TYPE"; public static final String COLUMNNAME_CHILD_ID="CHILD_ID"; public static final String COLUMNNAME_PARENT_ID="PARENT_ID"; Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-09 13:13:44 UTC (rev 66) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-09 16:22:06 UTC (rev 67) @@ -1,5 +1,6 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; @@ -22,7 +23,7 @@ @Table(name = Constants.TABLENAME_ACCOUNT) @Inheritance(strategy=InheritanceType.JOINED) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(propOrder={ Constants.GROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) +@XmlType(propOrder={Constants.GROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) public class Account extends de.campussource.cse.cdmm.domain.Entity{ @OneToMany(mappedBy=Constants.ACCOUNT) @@ -48,6 +49,54 @@ this.roles = roles; } + public boolean addToGroup(Group group){ + if(group==null){ + return false; + } + List<Group> groups = this.getGroups(); + if (groups==null){ + groups = new ArrayList<Group>(); + } + if (groups.contains(group)||group.getMembers().contains(this)){ + return false; + } + groups.add(group); + setGroups(groups); + List<Account> accounts = group.getMembers(); + if (accounts == null){ + accounts = new ArrayList<Account>(); + } + accounts.add(this); + group.setMembers(accounts); + return true; + } + + public boolean removeFromGroup(Group group){ + if (group == null){ + return false; + } + List<Group> groups = this.getGroups(); + if (!groups.contains(group)||!group.getMembers().contains(this)){ + return false; + } + groups.remove(group); + setGroups(groups); + List<Account> accounts = group.getMembers(); + accounts.remove(this); + group.setMembers(accounts); + return true; + } + + public boolean isInGroup(Group group){ + if (group == null){ + return false; + } + if (group.getMembers()==null){ + return false; + } + return (group.getMembers().contains(this)); + } + @XmlElementWrapper(name=Constants.ROLES) @XmlElement(name=Constants.ROLE) public List<Role> getRoles() { Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-09 13:13:44 UTC (rev 66) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-09 16:22:06 UTC (rev 67) @@ -2,12 +2,14 @@ import java.util.List; +import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; -import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; import javax.persistence.Table; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; @@ -22,17 +24,14 @@ @Inheritance(strategy=InheritanceType.JOINED) @Table(name = Constants.TABLENAME_CATEGORY) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(propOrder={Constants.PROPERTY_PARENTS, Constants.PROPERTY_CHILDREN, Constants.PROPERTY_COURSES}, namespace=Constants.NAMESPACE_DATATYPES) +@XmlType(propOrder={Constants.PROPERTY_PARENT, Constants.PROPERTY_CHILDREN, Constants.PROPERTY_COURSES}, namespace=Constants.NAMESPACE_DATATYPES) public class Category extends de.campussource.cse.cdmm.domain.Entity { - @ManyToMany - @JoinTable( - name = Constants.TABLENAME_CATEGORY2CATEGORY, - joinColumns={@JoinColumn(name=Constants.COLUMNNAME_CHILD_ID)}, - inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_PARENT_ID)}) - private List<Category> parents; + @ManyToOne(cascade={CascadeType.REMOVE}) + @JoinTable(name = Constants.COLUMNNAME_CATEGORY2CATEGORY) + private Category parent; - @ManyToMany(mappedBy=Constants.PARENTS) + @OneToMany(mappedBy=Constants.PARENT, cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) private List<Category> children; @ManyToMany(mappedBy=Constants.CATEGORIES) @@ -45,14 +44,14 @@ setId(id); } - public Category(Long id, List<Category> children, List<Course> courses, List<Category> parents){ + public Category(Long id, List<Category> children, List<Course> courses, Category parent){ setId(id); this.children = children; this.courses = courses; - this.parents = parents; + this.parent = parent; } - - + + @XmlElementWrapper(name=Constants.CATEGORIES) @XmlElement(name=Constants.CATEGORY) public List<Category> getChildren() { @@ -74,20 +73,19 @@ this.courses = courses; } - @XmlElementWrapper(name=Constants.PARENTS) @XmlElement(name=Constants.PARENT) @XmlIDREF - public List<Category> getParents() { - return parents; + public Category getParent() { + return parent; } - public void setParents(List<Category> parents) { - this.parents = parents; + public void setParent(Category parent) { + this.parent = parent; } @XmlTransient public boolean isRoot(){ - return ((parents==null)||parents.size()==0); + return (parent==null); } } 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-09 13:13:44 UTC (rev 66) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-09 16:22:06 UTC (rev 67) @@ -17,10 +17,12 @@ private CategoryDao dao; private Category category; + private Category parentCategory; @Before public void setUp() { category = newCategory(); + parentCategory = newCategory(); dao = new CategoryDao(); autowireByType(dao); txBegin(); @@ -54,6 +56,17 @@ } @Test + public void testCascading(){ + category.setParent(parentCategory); + dao.persist(category); + assertNotNull(category.getId()); + assertNotNull(parentCategory.getId()); + dao.remove(parentCategory); + assertNull(dao.find(parentCategory.getId())); + assertNull(dao.find(category.getId())); + } + + @Test public void testDoNotFindById() { Category foundCategory = dao.find(0L); assertNull(foundCategory); Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-09 13:13:44 UTC (rev 66) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-09 16:22:06 UTC (rev 67) @@ -350,17 +350,17 @@ Category parentCategory = new Category(createUniqueId()); Category childCategory = new Category(createUniqueId()); - List<Category> parentCategoryList = new ArrayList<Category>(); - parentCategoryList.add(parentCategory); List<Category> childCategoryList = new ArrayList<Category>(); childCategoryList.add(childCategory); parentCategory.setChildren(childCategoryList); - childCategory.setParents(parentCategoryList); + childCategory.setParent(parentCategory); //create Course with one child workgroup + List<Category> parentCategoryList = new ArrayList<Category>(); + parentCategoryList.add(parentCategory); Course course = new Course(createUniqueId()); course.setCategories(parentCategoryList); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-09 13:14:12
|
Revision: 66 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=66&view=rev Author: roekens Date: 2009-03-09 13:13:44 +0000 (Mon, 09 Mar 2009) Log Message: ----------- - several bugfixes regarding jpa annotations, such as inheritance handling, column names, etc. - introduction of first jpa test cases for entities Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/EntityDao.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 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/main/java/de/campussource/cse/cdmm/domain/Group.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java Added Paths: ----------- 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/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/Constants.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java 2009-03-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Constants.java 2009-03-09 13:13:44 UTC (rev 66) @@ -21,6 +21,7 @@ public static final String PARENTS = "parents"; public static final String MEMBERS = "members"; public static final String TYPE = "type"; + public static final String ENTITY = "entity"; //entity ids public static final String COURSE_ID = "courseId"; Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/EntityDao.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/EntityDao.java 2009-03-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/EntityDao.java 2009-03-09 13:13:44 UTC (rev 66) @@ -1,7 +1,7 @@ package de.campussource.cse.cdmm.dao; -import com.sun.xml.internal.stream.Entity; import de.campussource.cse.cdmm.dao.DAOJPA; +import de.campussource.cse.cdmm.domain.Entity; public class EntityDao extends DAOJPA<Entity> { Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-09 13:13:44 UTC (rev 66) @@ -3,6 +3,8 @@ import java.util.List; import javax.persistence.Entity; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; @@ -16,8 +18,9 @@ import de.campussource.cse.cdmm.Constants; -@Entity +@Entity(name=Constants.ACCOUNT) @Table(name = Constants.TABLENAME_ACCOUNT) +@Inheritance(strategy=InheritanceType.JOINED) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={ Constants.GROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) public class Account extends de.campussource.cse.cdmm.domain.Entity{ @@ -28,7 +31,7 @@ @ManyToMany @JoinTable( name = Constants.TABLENAME_GROUP2ACCOUNT, - joinColumns={@JoinColumn(name=Constants.COLUMNNAME_GROUP_ID)}, + joinColumns={@JoinColumn(name=Constants.COLUMNNAME_ACCOUNT_ID)}, inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_GROUP_ID)}) private List<Group> groups; Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-09 13:13:44 UTC (rev 66) @@ -3,6 +3,8 @@ import java.util.List; import javax.persistence.Entity; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; @@ -16,7 +18,8 @@ import de.campussource.cse.cdmm.Constants; -@Entity +@Entity(name=Constants.CATEGORY) +@Inheritance(strategy=InheritanceType.JOINED) @Table(name = Constants.TABLENAME_CATEGORY) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.PROPERTY_PARENTS, Constants.PROPERTY_CHILDREN, Constants.PROPERTY_COURSES}, namespace=Constants.NAMESPACE_DATATYPES) 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-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-09 13:13:44 UTC (rev 66) @@ -3,6 +3,8 @@ import java.util.List; import javax.persistence.Entity; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; @@ -20,8 +22,9 @@ import de.campussource.cse.cdmm.Constants; -@Entity +@Entity(name=Constants.COURSE) @Table(name = Constants.TABLENAME_COURSE) +@Inheritance(strategy=InheritanceType.JOINED) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={ Constants.CATEGORIES, Constants.PARENT, Constants.WORKGROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) public class Course extends de.campussource.cse.cdmm.domain.Entity{ 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-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-03-09 13:13:44 UTC (rev 66) @@ -7,6 +7,8 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; import javax.persistence.Transient; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; @@ -22,13 +24,14 @@ import de.campussource.cse.cdmm.Constants; import de.campussource.cse.cdmm.IdAdapter; -...@ja...rsistence.Entity +...@ja...rsistence.Entity(name=Constants.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.AUTO) + @GeneratedValue(strategy = GenerationType.SEQUENCE) private Long id; @Transient Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-03-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-03-09 13:13:44 UTC (rev 66) @@ -3,6 +3,8 @@ import java.util.List; import javax.persistence.Entity; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; import javax.persistence.ManyToMany; import javax.persistence.Table; import javax.xml.bind.annotation.XmlElement; @@ -16,8 +18,9 @@ import de.campussource.cse.cdmm.Constants; -@Entity +@Entity(name=Constants.GROUP) @Table(name = Constants.TABLENAME_GROUP) +@Inheritance(strategy=InheritanceType.JOINED) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.MEMBERS}, namespace=Constants.NAMESPACE_DATATYPES) public class Group extends Account{ Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-03-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-03-09 13:13:44 UTC (rev 66) @@ -2,6 +2,10 @@ import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; @@ -13,21 +17,23 @@ import de.campussource.cse.cdmm.Constants; import de.campussource.cse.cdmm.domain.RoleType; -@Entity +@Entity(name=Constants.ROLE) @Table(name = Constants.TABLENAME_ROLE) +@Inheritance(strategy=InheritanceType.JOINED) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.TYPE, Constants.ACCOUNT, Constants.COURSE}, namespace=Constants.NAMESPACE_DATATYPES) public class Role extends de.campussource.cse.cdmm.domain.Entity{ - @Column(name=Constants.COLUMNNAME_ROLE_TYPE) + @Column(name=Constants.COLUMNNAME_ROLE_TYPE, nullable=false, insertable=true, updatable=true) + @Enumerated(EnumType.ORDINAL) private RoleType type; - @ManyToOne - @JoinColumn(name=Constants.COLUMNNAME_ACCOUNT_ID) + @ManyToOne(optional=false) + @JoinColumn(name=Constants.COLUMNNAME_ACCOUNT_ID, nullable=false) private Account account; - @ManyToOne - @JoinColumn(name=Constants.COLUMNNAME_COURSE_ID) + @ManyToOne(optional=false) + @JoinColumn(name=Constants.COLUMNNAME_COURSE_ID, nullable=false) private Course course; public Role(){ Added: 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 (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java 2009-03-09 13:13:44 UTC (rev 66) @@ -0,0 +1,67 @@ +package de.campussource.cse.cdmm; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import org.junit.Before; +import org.junit.Test; + +import de.campussource.cse.cdmm.dao.AccountDao; +import de.campussource.cse.cdmm.domain.Account; + +public class AccountDaoTest extends AbstractPersistentUnitTest { + private static Long currentTimeMillis = System.currentTimeMillis(); + + private AccountDao dao; + private Account account; + + @Before + public void setUp() { + account = newAccount(); + dao = new AccountDao(); + autowireByType(dao); + txBegin(); + } + + @Test + public void testPersistAccount() { + dao.persist(account); + assertNotNull(account.getId()); + txCommit(); + } + + + @Test + public void testFindAccount() { + dao.persist(account); + assertNotNull(account.getId()); + commitAndBeginTx(); + Account acid = dao.find(account.getId()); + assertEquals(account, acid); + } + + @Test + public void testRemoveAccount() { + dao.persist(account); + assertNotNull(account.getId()); + commitAndBeginTx(); + dao.remove(account); + commitAndBeginTx(); + assertNull(dao.find(account.getId())); + } + + @Test + public void testDoNotFindById() { + Account foundAccount = dao.find(0L); + assertNull(foundAccount); + } + + private Account newAccount() { + return new Account(createUniqueId()); + } + + private Long createUniqueId(){ + return currentTimeMillis++; + } +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain 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-06 15:10:11 UTC (rev 65) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-09 13:13:44 UTC (rev 66) @@ -4,8 +4,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; -import javax.persistence.RollbackException; - import org.junit.Before; import org.junit.Test; @@ -55,10 +53,10 @@ assertNull(dao.find(category.getId())); } - @Test(expected=javax.persistence.NoResultException.class) + @Test public void testDoNotFindById() { - //FIXME why no fail? - //assertNull(dao.find(1L)); + Category foundCategory = dao.find(0L); + assertNull(foundCategory); } private Category newCategory() { Added: 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 (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-09 13:13:44 UTC (rev 66) @@ -0,0 +1,69 @@ +package de.campussource.cse.cdmm; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import org.junit.Before; +import org.junit.Test; + +import de.campussource.cse.cdmm.dao.CourseDao; +import de.campussource.cse.cdmm.domain.Course; + +public class CourseDaoTest extends AbstractPersistentUnitTest { + + private static Long currentTimeMillis = System.currentTimeMillis(); + + private CourseDao dao; + private Course course; + + @Before + public void setUp() { + course = newCourse(); + dao = new CourseDao(); + autowireByType(dao); + txBegin(); + } + + @Test + public void testPersistCourse() { + dao.persist(course); + assertNotNull(course.getId()); + txCommit(); + } + + + @Test + public void testFindCourse() { + dao.persist(course); + assertNotNull(course.getId()); + commitAndBeginTx(); + Course coid = dao.find(course.getId()); + assertEquals(course, coid); + } + + @Test + public void testRemoveCategory() { + dao.persist(course); + assertNotNull(course.getId()); + commitAndBeginTx(); + dao.remove(course); + commitAndBeginTx(); + assertNull(dao.find(course.getId())); + } + + @Test + public void testDoNotFindById() { + Course foundCourse = dao.find(0L); + assertNull(foundCourse); + } + + private Course newCourse() { + return new Course(createUniqueId()); + } + + private Long createUniqueId(){ + return currentTimeMillis++; + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: 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 (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-09 13:13:44 UTC (rev 66) @@ -0,0 +1,92 @@ +package de.campussource.cse.cdmm; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import org.junit.Before; +import org.junit.Test; + +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; + +public class RoleDaoTest extends AbstractPersistentUnitTest { + private static Long currentTimeMillis = System.currentTimeMillis(); + + private RoleDao dao; + private Role role; + + private CourseDao courseDao; + private Course course; + + private AccountDao accountDao; + private Account account; + + @Before + public void setUp() { + //set up daos + dao = new RoleDao(); + courseDao = new CourseDao(); + accountDao = new AccountDao(); + autowireByType(dao); + autowireByType(courseDao); + autowireByType(accountDao); + //create role object with needed dependencies + course = new Course(createUniqueId()); + account = new Account(createUniqueId()); + courseDao.persist(course); + accountDao.persist(account); + role = newRole(); + txBegin(); + } + + @Test + public void testPersistRole() { + dao.persist(role); + assertNotNull(role.getId()); + txCommit(); + } + + + @Test + public void testFindRole() { + dao.persist(role); + assertNotNull(role.getId()); + commitAndBeginTx(); + Role roid = dao.find(role.getId()); + assertEquals(role, roid); + } + + @Test + public void testRemoveRole() { + dao.persist(role); + assertNotNull(role.getId()); + commitAndBeginTx(); + dao.remove(role); + commitAndBeginTx(); + assertNull(dao.find(role.getId())); + } + + @Test + public void testDoNotFindById() { + Role foundRole= dao.find(0L); + assertNull(foundRole); + } + + private Role newRole() { + Role role = new Role(createUniqueId()); + role.setAccount(account); + role.setCourse(course); + role.setType(RoleType.ASSISTANT); + return role; + } + + private Long createUniqueId(){ + return currentTimeMillis++; + } +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-06 15:10:17
|
Revision: 65 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=65&view=rev Author: roekens Date: 2009-03-06 15:10:11 +0000 (Fri, 06 Mar 2009) Log Message: ----------- introducing tests for categoryDao Modified Paths: -------------- 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/TestXmlConversion.java 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-06 14:27:48 UTC (rev 64) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-06 15:10:11 UTC (rev 65) @@ -1,11 +1,72 @@ package de.campussource.cse.cdmm; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import javax.persistence.RollbackException; + +import org.junit.Before; import org.junit.Test; +import de.campussource.cse.cdmm.dao.CategoryDao; +import de.campussource.cse.cdmm.domain.Category; + + public class CategoryDaoTest extends AbstractPersistentUnitTest{ + private static Long currentTimeMillis = System.currentTimeMillis(); + + private CategoryDao dao; + private Category category; + + @Before + public void setUp() { + category = newCategory(); + dao = new CategoryDao(); + autowireByType(dao); + txBegin(); + } + @Test - public void testXYZ(){ + public void testPersistCategory() { + dao.persist(category); + assertNotNull(category.getId()); + txCommit(); } + + @Test + public void testFindCategory() { + dao.persist(category); + assertNotNull(category.getId()); + commitAndBeginTx(); + Category coid = dao.find(category.getId()); + assertEquals(category, coid); + } + + @Test + public void testRemoveCategory() { + dao.persist(category); + assertNotNull(category.getId()); + commitAndBeginTx(); + dao.remove(category); + commitAndBeginTx(); + assertNull(dao.find(category.getId())); + } + + @Test(expected=javax.persistence.NoResultException.class) + public void testDoNotFindById() { + //FIXME why no fail? + //assertNull(dao.find(1L)); + } + + private Category newCategory() { + return new Category(createUniqueId()); + } + + private Long createUniqueId(){ + return currentTimeMillis++; + } + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-06 14:27:48 UTC (rev 64) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-06 15:10:11 UTC (rev 65) @@ -25,7 +25,6 @@ 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.Entity; import de.campussource.cse.cdmm.domain.EntityContainer; import de.campussource.cse.cdmm.domain.Group; import de.campussource.cse.cdmm.domain.PersistentAttribute; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-06 14:28:08
|
Revision: 64 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=64&view=rev Author: roekens Date: 2009-03-06 14:27:48 +0000 (Fri, 06 Mar 2009) Log Message: ----------- Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/resources/META-INF/persistence.xml Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/resources/META-INF/persistence.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/resources/META-INF/persistence.xml 2009-03-06 14:23:49 UTC (rev 63) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/resources/META-INF/persistence.xml 2009-03-06 14:27:48 UTC (rev 64) @@ -4,20 +4,19 @@ version="1.0"> <persistence-unit name="cseip" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.PersistenceProvider</provider> - <class>de.campussource.cse.cdmm.Account</class> - <class>de.campussource.cse.cdmm.Attribute</class> - <class>de.campussource.cse.cdmm.Category</class> - <class>de.campussource.cse.cdmm.Course</class> - <class>de.campussource.cse.cdmm.Entity</class> - <class>de.campussource.cse.cdmm.Group</class> - <class>de.campussource.cse.cdmm.Role</class> + <class>de.campussource.cse.cdmm.domain.Account</class> + <class>de.campussource.cse.cdmm.domain.Category</class> + <class>de.campussource.cse.cdmm.domain.Course</class> + <class>de.campussource.cse.cdmm.domain.Entity</class> + <class>de.campussource.cse.cdmm.domain.Group</class> + <class>de.campussource.cse.cdmm.domain.Role</class> <properties> <property name="toplink.ddl-generation" value="drop-and-create-tables" /> <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver" /> <!-- <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/cseip?profileSQL=true&createDatabaseIfNotExist=true" />--> <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/cseip?createDatabaseIfNotExist=true" /> <property name="toplink.jdbc.user" value="root" /> - <property name="toplink.jdbc.password" value="csesql" /> + <property name="toplink.jdbc.password" value="masterkey" /> </properties> </persistence-unit> </persistence> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-06 14:24:04
|
Revision: 63 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=63&view=rev Author: roekens Date: 2009-03-06 14:23:49 +0000 (Fri, 06 Mar 2009) Log Message: ----------- introduction of persistence realisation Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 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/main/java/de/campussource/cse/cdmm/domain/Group.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-03-06 14:23:49 UTC (rev 63) @@ -3,15 +3,27 @@ import javax.ejb.EJB; import javax.ejb.Stateless; +import de.campussource.cse.cdmm.dao.*; + @Stateless public class DataModelManagerBean implements DataModelManager { -// @EJB -// private ClientObjectDao objectDao; -// -// @EJB -// private ClientInstanceDao instanceDao; - + @EJB + private AccountDao accountDao; + @EJB + private CategoryDao categoryDao; + @EJB + private CourseDao courseDao; + + @EJB + private EntityDao entityDao; + + @EJB + private GroupDao groupDao; + + @EJB + private RoleDao roleDao; + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-03-06 14:23:49 UTC (rev 63) @@ -2,7 +2,6 @@ import java.util.List; -import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; @@ -18,7 +17,6 @@ import de.campussource.cse.cdmm.Constants; @Entity -@Embeddable @Table(name = Constants.TABLENAME_ACCOUNT) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={ Constants.GROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Attribute.java 2009-03-06 14:23:49 UTC (rev 63) @@ -1,6 +1,5 @@ package de.campussource.cse.cdmm.domain; -import javax.persistence.Embeddable; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -9,7 +8,6 @@ import de.campussource.cse.cdmm.Constants; @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@Embeddable @XmlType(namespace=Constants.NAMESPACE_DATATYPES) public class Attribute { Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-03-06 14:23:49 UTC (rev 63) @@ -2,7 +2,6 @@ import java.util.List; -import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; @@ -18,7 +17,6 @@ import de.campussource.cse.cdmm.Constants; @Entity -@Embeddable @Table(name = Constants.TABLENAME_CATEGORY) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.PROPERTY_PARENTS, Constants.PROPERTY_CHILDREN, Constants.PROPERTY_COURSES}, namespace=Constants.NAMESPACE_DATATYPES) @@ -31,7 +29,7 @@ inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_PARENT_ID)}) private List<Category> parents; - @ManyToMany(mappedBy=Constants.PARENT) + @ManyToMany(mappedBy=Constants.PARENTS) private List<Category> children; @ManyToMany(mappedBy=Constants.CATEGORIES) 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-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-06 14:23:49 UTC (rev 63) @@ -2,7 +2,6 @@ import java.util.List; -import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; @@ -22,7 +21,6 @@ import de.campussource.cse.cdmm.Constants; @Entity -@Embeddable @Table(name = Constants.TABLENAME_COURSE) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={ Constants.CATEGORIES, Constants.PARENT, Constants.WORKGROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) 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-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-03-06 14:23:49 UTC (rev 63) @@ -7,6 +7,7 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.Transient; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlElements; @@ -21,6 +22,7 @@ import de.campussource.cse.cdmm.Constants; import de.campussource.cse.cdmm.IdAdapter; +...@ja...rsistence.Entity @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.ID, Constants.PROPERTY_ATTRIBUTES}, namespace=Constants.NAMESPACE_DATATYPES) public class Entity{ @@ -29,6 +31,7 @@ @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + @Transient private List<Attribute> attributes; public Entity(){ Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-03-06 14:23:49 UTC (rev 63) @@ -2,7 +2,6 @@ import java.util.List; -import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.ManyToMany; import javax.persistence.Table; @@ -18,7 +17,6 @@ import de.campussource.cse.cdmm.Constants; @Entity -@Embeddable @Table(name = Constants.TABLENAME_GROUP) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.MEMBERS}, namespace=Constants.NAMESPACE_DATATYPES) Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/PersistentAttribute.java 2009-03-06 14:23:49 UTC (rev 63) @@ -1,13 +1,11 @@ package de.campussource.cse.cdmm.domain; -import javax.persistence.Embeddable; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import de.campussource.cse.cdmm.Constants; @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@Embeddable @XmlType(namespace=Constants.NAMESPACE_DATATYPES) public class PersistentAttribute extends Attribute { Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-03-06 14:23:49 UTC (rev 63) @@ -1,7 +1,6 @@ package de.campussource.cse.cdmm.domain; import javax.persistence.Column; -import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; @@ -15,7 +14,6 @@ import de.campussource.cse.cdmm.domain.RoleType; @Entity -@Embeddable @Table(name = Constants.TABLENAME_ROLE) @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) @XmlType(propOrder={Constants.TYPE, Constants.ACCOUNT, Constants.COURSE}, namespace=Constants.NAMESPACE_DATATYPES) Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java 2009-03-06 13:29:28 UTC (rev 62) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/TransientAttribute.java 2009-03-06 14:23:49 UTC (rev 63) @@ -1,13 +1,11 @@ package de.campussource.cse.cdmm.domain; -import javax.persistence.Embeddable; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import de.campussource.cse.cdmm.Constants; @XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@Embeddable @XmlType(namespace=Constants.NAMESPACE_DATATYPES) public class TransientAttribute extends Attribute { public TransientAttribute(){} Added: 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 (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-06 14:23:49 UTC (rev 63) @@ -0,0 +1,11 @@ +package de.campussource.cse.cdmm; + +import org.junit.Test; + +public class CategoryDaoTest extends AbstractPersistentUnitTest{ + + @Test + public void testXYZ(){ + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |