|
From: <ro...@us...> - 2009-03-02 16:41:08
|
Revision: 37
http://cse-ip.svn.sourceforge.net/cse-ip/?rev=37&view=rev
Author: roekens
Date: 2009-03-02 16:41:01 +0000 (Mon, 02 Mar 2009)
Log Message:
-----------
updating testing
- test is working but dirty, and produces dirty xml :-)
IN PROGRESS
Modified Paths:
--------------
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Account.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Attribute.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Category.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Course.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Entity.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Group.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Role.java
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/resources/META-INF/persistence.xml
Added Paths:
-----------
cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EntityContainer.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/Account.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Account.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Account.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -2,6 +2,7 @@
import java.util.List;
+import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -12,6 +13,7 @@
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
import javax.xml.bind.annotation.XmlType;
@@ -19,14 +21,20 @@
import org.apache.commons.lang.builder.ToStringStyle;
@Entity
+@Embeddable
@Table(name = "CDMM_ACCOUNT")
@XmlType(name="Account")
public class Account extends de.campussource.cse.cdmm.Entity{
- @Id
+ @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+
@OneToMany(mappedBy="account")
private List<Role> roles;
Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Attribute.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Attribute.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Attribute.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -2,10 +2,14 @@
import javax.persistence.Embeddable;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
@Entity
@@ -13,13 +17,22 @@
@Table(name = "CDMM_ATTRIBUTE")
public class Attribute {
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+
private String name;
private String value;
@ManyToOne
@JoinColumn(name="ENTITY_ID")
- private Entity entity;
+ private de.campussource.cse.cdmm.Entity entity;
@XmlElement
@@ -43,13 +56,23 @@
@XmlElement
@XmlIDREF
- public Entity getEntity() {
+ public de.campussource.cse.cdmm.Entity getEntity() {
return entity;
}
- public void setEntity(Entity entity) {
+ public void setEntity(de.campussource.cse.cdmm.Entity entity) {
this.entity = entity;
}
+
+
+ public Long getId() {
+ return id;
+ }
+
+
+ public void setId(Long id) {
+ this.id = id;
+ }
}
Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Category.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Category.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Category.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -2,6 +2,7 @@
import java.util.List;
+import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -11,6 +12,7 @@
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
import javax.xml.bind.annotation.XmlType;
@@ -18,14 +20,20 @@
import org.apache.commons.lang.builder.ToStringStyle;
@Entity
+@Embeddable
@Table(name = "CDMM_CATEGORY")
@XmlType(name="Category")
public class Category extends de.campussource.cse.cdmm.Entity {
- @Id
+ @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
-
+
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+
@ManyToMany
@JoinTable(
name = "CDMM_CAT2CAT",
Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Course.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Course.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Course.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -2,6 +2,7 @@
import java.util.List;
+import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -13,19 +14,26 @@
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
@Entity
+@Embeddable
@Table(name = "CDMM_COURSE")
public class Course extends de.campussource.cse.cdmm.Entity{
- @Id
+ @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+
@OneToMany(mappedBy="course")
private List<Account> members;
Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Entity.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Entity.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Entity.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -7,15 +7,21 @@
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
-public abstract class Entity{
+public class Entity{
- @Id
+ @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+
@OneToMany(mappedBy="entity")
private List<Attribute> attributes;
@@ -23,6 +29,10 @@
public List<Attribute> getAttributes(){
return attributes;
}
+
+ public Entity(){
+
+ }
public void setAttributes(List<Attribute> attributes) {
this.attributes = attributes;
Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EntityContainer.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EntityContainer.java (rev 0)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EntityContainer.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -0,0 +1,60 @@
+package de.campussource.cse.cdmm;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+public class EntityContainer{
+
+ @XmlElement
+ private List<Entity> entities;
+
+ @XmlElement
+ private List<Attribute> attributes;
+
+ @XmlElement
+ private List<Category> categories;
+
+ @XmlElement
+ private List<Course> courses;
+
+ @XmlElement
+ private List<Role> roles;
+
+ @XmlElement
+ private List<Account> accounts;
+
+ @XmlElement
+ private List<Group> groups;
+
+ public void setEntities(List<Entity> entities) {
+ this.entities = entities;
+ }
+
+ public void setAttributes(List<Attribute> attributes) {
+ this.attributes = attributes;
+ }
+
+ public void setCategories(List<Category> categories) {
+ this.categories = categories;
+ }
+
+ public void setCourses(List<Course> courses) {
+ this.courses = courses;
+ }
+
+ public void setRoles(List<Role> roles) {
+ this.roles = roles;
+ }
+
+ public void setAccounts(List<Account> accounts) {
+ this.accounts = accounts;
+ }
+
+ public void setGroups(List<Group> groups) {
+ this.groups = groups;
+ }
+
+}
\ No newline at end of file
Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EntityContainer.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Group.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Group.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Group.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -2,6 +2,7 @@
import java.util.List;
+import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -9,6 +10,7 @@
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
import javax.xml.bind.annotation.XmlType;
@@ -16,14 +18,21 @@
import org.apache.commons.lang.builder.ToStringStyle;
@Entity
+@Embeddable
@Table(name = "CDMM_GROUP")
@XmlType(name="Group")
public class Group extends Account{
- @Id
+ @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+ @XmlElement
+ @XmlIDREF
@ManyToMany(mappedBy="groups")
public List<Account> members;
@@ -53,12 +62,6 @@
return new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE).append(this.getId()).toString();
}
- @XmlElement
- @XmlIDREF
- public List<Account> getMembers() {
- return members;
- }
-
public void setMembers(List<Account> members) {
this.members = members;
}
Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Role.java
===================================================================
--- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Role.java 2009-03-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/Role.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -1,6 +1,7 @@
package de.campussource.cse.cdmm;
import javax.persistence.Column;
+import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -9,19 +10,26 @@
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
@Entity
+@Embeddable
@Table(name = "CDMM_ROLE")
public class Role extends de.campussource.cse.cdmm.Entity{
- @Id
+ @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
+ @XmlID
+ public String getIdAsLong(){
+ return id.toString();
+ }
+
@Column(name="ROLE_TYPE")
private RoleType type;
Added: 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 (rev 0)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-02 16:41:01 UTC (rev 37)
@@ -0,0 +1,113 @@
+package de.campussource.cse.cdmm;
+
+import java.io.IOException;
+import java.io.StringWriter;
+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;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Sebastian Roekens
+ *
+ */
+public class TestXmlConversion extends TestCase {
+ private static Long currentTimeMillis = System.currentTimeMillis();
+
+ private Long createUniqueId(){
+ return currentTimeMillis++;
+ }
+
+ public void testConversionSimple(){
+ Marshaller marshaller=null;
+ JAXBContext context=null;
+ try {
+ context = JAXBContext.newInstance(EntityContainer.class);
+ marshaller = context.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+ } catch (JAXBException e) {
+ fail(e.getMessage());
+ }
+
+ Category categoryA = new Category();
+ categoryA.setId(createUniqueId());
+
+ Category categoryB = new Category();
+ categoryB.setId(createUniqueId());
+ List<Category> categories = new ArrayList<Category>();
+ categories.add(categoryA);
+ categoryB.setParents(categories);
+
+ Course course = new Course();
+ course.setId(createUniqueId());
+ course.setCategories(categories);
+
+ Account account = new Account();
+ account.setId(createUniqueId());
+ List<Account> accounts= new ArrayList<Account>();
+ accounts.add(account);
+
+ Group group = new Group();
+ group.setId(createUniqueId());
+ List<Group> groups = new ArrayList<Group>();
+ groups.add(group);
+
+ account.setGroups(groups);
+ group.setMembers(accounts);
+
+ Role role = new Role();
+ role.setId(createUniqueId());
+ role.setAccount(account);
+ role.setCourse(course);
+ role.setType(RoleType.ASSISTENT);
+
+ List<Role> roles = new ArrayList<Role>();
+ roles.add(role);
+ account.setRoles(roles);
+ course.setRoles(roles);
+
+ EntityContainer container = new EntityContainer();
+ List<Account> accs = new ArrayList<Account>();
+ accs.add(account);
+ container.setAccounts(accs);
+
+ List<Category> cats = new ArrayList<Category>();
+ cats.add(categoryA); cats.add(categoryB);
+ container.setCategories(cats);
+
+ List<Course> cous = new ArrayList<Course>();
+ cous.add(course);
+ container.setCourses(cous);
+
+ List<Group> grps = new ArrayList<Group>();
+ grps.add(group);
+ container.setGroups(grps);
+
+ List<Role> rols = new ArrayList<Role>();
+ rols.add(role);
+ container.setRoles(rols);
+
+
+
+ try {
+ marshaller.marshal(container, System.out);
+
+ Writer writer = new StringWriter();
+ marshaller.marshal(container, writer);
+ writer.close();
+
+ } catch (JAXBException e) {
+ fail(e.getMessage());
+ } catch (IOException e) {
+ fail(e.getMessage());
+ }
+
+
+ }
+
+}
\ No newline at end of file
Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
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-02 15:09:47 UTC (rev 36)
+++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/resources/META-INF/persistence.xml 2009-03-02 16:41:01 UTC (rev 37)
@@ -17,7 +17,7 @@
<!-- <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="masterkey" />
+ <property name="toplink.jdbc.password" value="csesql" />
</properties>
</persistence-unit>
</persistence>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|