Author: simoneg
Date: Tue Oct 20 00:25:26 2009
New Revision: 826911

URL: http://svn.apache.org/viewvc?rev=826911&view=rev
Log:
LABS-486 contributed fragment messaging

Added:
    labs/magma/trunk/fragment-messaging-domain/pom.xml
    labs/magma/trunk/fragment-messaging-domain/src/
    labs/magma/trunk/fragment-messaging-domain/src/main/
    labs/magma/trunk/fragment-messaging-domain/src/main/java/
    labs/magma/trunk/fragment-messaging-domain/src/main/java/org/
    labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/
    labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/
    
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/
    
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/
    
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/PrivateMessage.java
    
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/UserAdditions.aj
    labs/magma/trunk/fragment-messaging-domain/src/main/resources/

Added: labs/magma/trunk/fragment-messaging-domain/pom.xml
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-messaging-domain/pom.xml?rev=826911&view=auto
==============================================================================
--- labs/magma/trunk/fragment-messaging-domain/pom.xml (added)
+++ labs/magma/trunk/fragment-messaging-domain/pom.xml Tue Oct 20 00:25:26 2009
@@ -0,0 +1,49 @@
+<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>magma-parent</artifactId>
+    <groupId>org.apache.magma</groupId>
+    <version>2</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.magma</groupId>
+  <artifactId>fragment-messaging-domain</artifactId>
+  <packaging>magma</packaging>
+  <version>0.0.2-SNAPSHOT</version>
+<dependencies>
+       <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>foundation-beans-view</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>beans-richtext</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>fragment-user-domain</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>foundation-database</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>foundation-conversion</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>foundation-validation</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>foundation-i18n</artifactId>
+                       <version>0.0.2-SNAPSHOT</version>
+               </dependency>
+  </dependencies>
+</project>

Added: 
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/PrivateMessage.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/PrivateMessage.java?rev=826911&view=auto
==============================================================================
--- 
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/PrivateMessage.java
 (added)
+++ 
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/PrivateMessage.java
 Tue Oct 20 00:25:26 2009
@@ -0,0 +1,108 @@
+package org.apache.magma.domain.messaging;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+
+import org.apache.magma.beans.Consider;
+import org.apache.magma.beans.MagmaBean;
+import org.apache.magma.beans.RichTextString;
+import org.apache.magma.database.LogicallyNamed;
+import org.apache.magma.domain.user.User;
+import org.apache.magma.i18n.Format;
+import org.apache.magma.validation.validators.Length;
+import org.apache.magma.validation.validators.Required;
+import org.apache.magma.validation.validators.RichText;
+import org.apache.magma.view.ListOrder;
+import org.apache.magma.view.Listed;
+import org.apache.magma.view.Order;
+import org.apache.magma.view.View;
+
+...@entity
+...@magmabean
+public class PrivateMessage implements LogicallyNamed{
+       private String title;
+       private String text;
+       private User sender;
+       private User receiver;
+       private Date date = new Date();
+       private boolean alreadyRead = false;
+       
+       @View
+       @Listed
+       @Order(1)
+       @ListOrder(1)
+       @Required
+       @Length(min=2, max=120)
+       public String getTitle() {
+               return title;
+       }
+       public void setTitle(String title) {
+               this.title = title;
+       }
+       @View
+       @Order(4)
+       @Required
+       @Column(length=50000)
+       @Length(min=2, max=50000)
+       public String getText() {
+               return text;
+       }
+       public void setText(String text) {
+               this.text = text;
+       }
+       @View
+       @Order(2)
+       @ManyToOne
+       @Listed
+       @ListOrder(3)
+       public User getSender() {
+               return sender;
+       }
+       public void setSender(User sender) {
+               this.sender = sender;
+       }
+       
+       @View
+       @Order(3)
+       @Listed
+       @ListOrder(2)
+       @Required
+       @ManyToOne
+       public User getReceiver() {
+               return receiver;
+       }
+       public void setReceiver(User receiver) {
+               this.receiver = receiver;
+       }
+       @View
+       @Required
+       @Order(5)
+       @Listed
+       @ListOrder(4)
+       @Format(format="short,short")
+       public Date getDate() {
+               return date;
+       }
+       public void setDate(Date date) {
+               this.date = date;
+       }
+       @Listed
+       @ListOrder(5)
+       public boolean isAlreadyRead() {
+               return alreadyRead;
+       }
+       public void setAlreadyRead(boolean alreadyRead) {
+               this.alreadyRead = alreadyRead;
+       }
+       public String computeLogicalName(){
+               return this.getTitle();
+       }
+       
+       
+}

Added: 
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/UserAdditions.aj
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/UserAdditions.aj?rev=826911&view=auto
==============================================================================
--- 
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/UserAdditions.aj
 (added)
+++ 
labs/magma/trunk/fragment-messaging-domain/src/main/java/org/apache/magma/domain/messaging/UserAdditions.aj
 Tue Oct 20 00:25:26 2009
@@ -0,0 +1,29 @@
+package org.apache.magma.domain.messaging;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.OneToMany;
+import org.apache.magma.domain.user.User;
+
+public aspect UserAdditions {
+       
+       public List<PrivateMessage> User.inbox;
+       public List<PrivateMessage> User.outbox;
+       
+       
+       @OneToMany(cascade=CascadeType.ALL)
+       public List<PrivateMessage> User.getInbox(){
+               return this.inbox;
+       }
+       public void User.setInbox(List<PrivateMessage> inbox){
+               this.inbox = inbox;
+       }
+       @OneToMany(cascade=CascadeType.ALL)
+       public List<PrivateMessage> User.getOutbox(){
+               return this.outbox;
+       }
+       public void User.setOutbox(List<PrivateMessage> outbox){
+               this.outbox = outbox;
+       }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to