← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17585: Temp fix bug where transient fields read and followUp of MessageConversation where not set on fet...

 

------------------------------------------------------------
revno: 17585
committer: Halvdan Hoem Grelland <halvdanhg@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2014-11-25 21:22:50 +0100
message:
  Temp fix bug where transient fields read and followUp of MessageConversation where not set on fetch from DB.
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.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/MessageConversation.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java	2014-08-19 11:16:02 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java	2014-11-25 20:22:50 +0000
@@ -163,6 +163,19 @@
         return false;
     }
 
+    public boolean isRead( User user )
+    {
+        for( UserMessage userMessage : userMessages )
+        {
+            if( userMessage.getUser() != null && userMessage.getUser().equals( user ) )
+            {
+                return userMessage.isRead();
+            }
+        }
+
+        return false;
+    }
+
     public boolean markRead( User user )
     {
         for ( UserMessage userMessage : userMessages )

=== 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	2014-11-18 12:55:20 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java	2014-11-25 20:22:50 +0000
@@ -307,6 +307,23 @@
     @Override
     public MessageConversation getMessageConversation( String uid )
     {
+        /*
+         * TODO:
+         * This is a temporary workaround to ensure transient fields followUp and read
+         * are set correctly (and not just to false). Issue should be tackled in
+         * HibernateIdentifiableObjectStore and/or HibernateMessageConversationStore.
+         */
+
+        MessageConversation mc = messageConversationStore.getByUid( uid );
+
+        if( mc == null )
+        {
+            return null;
+        }
+
+        mc.setFollowUp( mc.isFollowUp( currentUserService.getCurrentUser() ) );
+        mc.setRead( mc.isRead( currentUserService.getCurrentUser() ) );
+
         return messageConversationStore.getByUid( uid );
     }