dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #15264
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5450: Impl getAll method on MessageService
------------------------------------------------------------
revno: 5450
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2011-12-16 10:54:21 +0100
message:
Impl getAll method on MessageService
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversationStore.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageService.java
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/hibernate/HibernateMessageConversationStore.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/MessageConversationStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversationStore.java 2011-12-16 09:48:40 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversationStore.java 2011-12-16 09:54:21 +0000
@@ -38,7 +38,16 @@
public interface MessageConversationStore
extends GenericIdentifiableObjectStore<MessageConversation>
{
- List<MessageConversation> getMessageConversations( User user, int first, int max );
-
+ /**
+ * Returns a list of MessageConversations.
+ *
+ * @param user the User for which the MessageConversations are sent to, or
+ * all if null.
+ * @param first the first record number to return, or all if null.
+ * @param max the max number of records to return, or all if null.
+ * @return a list of MessageConversations.
+ */
+ List<MessageConversation> getMessageConversations( User user, Integer first, Integer max );
+
long getUnreadUserMessageConversationCount( User user );
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageService.java 2011-12-16 09:48:40 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageService.java 2011-12-16 09:54:21 +0000
@@ -63,4 +63,6 @@
long getUnreadMessageConversationCount( User user );
List<MessageConversation> getMessageConversations( int first, int max );
+
+ List<MessageConversation> getAllMessageConversations();
}
=== 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-12-16 09:48:40 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java 2011-12-16 09:54:21 +0000
@@ -215,6 +215,11 @@
{
return messageConversationStore.getMessageConversations( currentUserService.getCurrentUser(), first, max );
}
+
+ public List<MessageConversation> getAllMessageConversations()
+ {
+ return messageConversationStore.getMessageConversations( null, null, null );
+ }
// -------------------------------------------------------------------------
// Supportive methods
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/hibernate/HibernateMessageConversationStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/hibernate/HibernateMessageConversationStore.java 2011-12-13 16:29:31 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/hibernate/HibernateMessageConversationStore.java 2011-12-16 09:54:21 +0000
@@ -44,9 +44,9 @@
public class HibernateMessageConversationStore
extends HibernateIdentifiableObjectStore<MessageConversation> implements MessageConversationStore
{
- public List<MessageConversation> getMessageConversations( User user, int first, int max )
+ public List<MessageConversation> getMessageConversations( User user, Integer first, Integer max )
{
- final String sql =
+ String sql =
"select mc.messageconversationid, mc.uid, mc.subject, mc.lastupdated, ui.surname, ui.firstname, ( " +
"select isread from usermessage " +
"where usermessage.usermessageid=mu.usermessageid " +
@@ -54,10 +54,24 @@
"from messageconversation mc " +
"left join messageconversation_usermessages mu on mc.messageconversationid=mu.messageconversationid " +
"left join usermessage um on mu.usermessageid=um.usermessageid " +
- "left join userinfo ui on mc.lastsenderid=ui.userinfoid " +
- "where um.userid=" + user.getId() + " " +
- "order by mc.lastupdated desc " +
- "limit " + max;
+ "left join userinfo ui on mc.lastsenderid=ui.userinfoid ";
+
+ if ( user != null )
+ {
+ sql += "where um.userid=" + user.getId() + " ";
+ }
+
+ sql += "order by mc.lastupdated desc ";
+
+ if ( first != null )
+ {
+ sql += "offset " + first + " ";
+ }
+
+ if ( max != null )
+ {
+ sql += "limit " + max;
+ }
final List<MessageConversation> conversations = jdbcTemplate.query( sql, new RowMapper<MessageConversation>()
{