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