← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5071: Messaging, gfixed bug with reply function

 

------------------------------------------------------------
revno: 5071
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2011-11-01 12:34:58 +0100
message:
  Messaging, gfixed bug with reply function
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/Message.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/UserMessage.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/Message.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/Message.java	2011-10-06 15:39:08 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/Message.java	2011-11-01 11:34:58 +0000
@@ -141,4 +141,39 @@
     {
         this.sentDate = sentDate;
     }
+    
+    @Override
+    public int hashCode()
+    {
+        return key.hashCode();
+    }
+
+    @Override
+    public boolean equals( Object object )
+    {
+        if ( this == object )
+        {
+            return true;
+        }
+        
+        if ( object == null )
+        {
+            return false;
+        }
+        
+        if ( getClass() != object.getClass() )
+        {
+            return false;
+        }
+        
+        final Message other = (Message) object;
+        
+        return key.equals( other.key );
+    }
+    
+    @Override
+    public String toString()
+    {
+        return "[" + text + "]";
+    }
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/UserMessage.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/UserMessage.java	2011-08-03 20:53:38 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/UserMessage.java	2011-11-01 11:34:58 +0000
@@ -48,13 +48,20 @@
     {
         this.key = UUID.randomUUID().toString();
     }
-    
+
     public UserMessage( User user )
     {
         this.key = UUID.randomUUID().toString();
         this.user = user;
         this.read = false;
     }
+
+    public UserMessage( User user, boolean read )
+    {
+        this.key = UUID.randomUUID().toString();
+        this.user = user;
+        this.read = read;
+    }
     
     public int getId()
     {
@@ -95,6 +102,35 @@
     {
         this.read = read;
     }
+
+    @Override
+    public int hashCode()
+    {
+        return key.hashCode();
+    }
+
+    @Override
+    public boolean equals( Object object )
+    {
+        if ( this == object )
+        {
+            return true;
+        }
+        
+        if ( object == null )
+        {
+            return false;
+        }
+        
+        if ( getClass() != object.getClass() )
+        {
+            return false;
+        }
+        
+        final UserMessage other = (UserMessage) object;
+        
+        return key.equals( other.key );
+    }
     
     @Override
     public String toString()

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java	2011-10-25 10:29:21 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java	2011-11-01 11:34:58 +0000
@@ -94,19 +94,27 @@
             users.addAll( userGroup.getMembers() );
         }
 
+        User sender = currentUserService.getCurrentUser();
+        
+        if ( sender != null )
+        {
+            users.add( sender );
+        }
+        
         // ---------------------------------------------------------------------
         // Instantiate message, content and user messages
         // ---------------------------------------------------------------------
 
-        User sender = currentUserService.getCurrentUser();
-        
         MessageConversation conversation = new MessageConversation( subject, sender );
         
         conversation.addMessage( new Message( text, metaData, sender ) );
         
         for ( User user : users )
         {
-            conversation.addUserMessage( new UserMessage( user ) );        
+            boolean read = user != null && user.equals( sender );
+            System.out.println( "sender " + sender + " user " + user + " read " + read );
+            
+            conversation.addUserMessage( new UserMessage( user, read ) );        
         }
         
         int id = saveMessageConversation( conversation );