Author: solomax
Date: Thu May 23 13:04:50 2013
New Revision: 1485684
URL: http://svn.apache.org/r1485684
Log:
[OPENMEETINGS-615] incomplete draft version
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessageFolderDao.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessage.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessageFolder.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupExport.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessageFolderDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessageFolderDao.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessageFolderDao.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessageFolderDao.java
Thu May 23 13:04:50 2013
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.data.user.dao;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+
import java.util.Date;
import java.util.List;
@@ -26,16 +28,15 @@ import javax.persistence.NoResultExcepti
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
-import org.apache.openmeetings.OpenmeetingsVariables;
+import org.apache.openmeetings.data.IDataProviderDao;
import org.apache.openmeetings.persistence.beans.user.PrivateMessageFolder;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.transaction.annotation.Transactional;
@Transactional
-public class PrivateMessageFolderDao {
-
- private static final Logger log =
Red5LoggerFactory.getLogger(PrivateMessageFolderDao.class,
OpenmeetingsVariables.webAppRootKey);
+public class PrivateMessageFolderDao implements
IDataProviderDao<PrivateMessageFolder> {
+ private static final Logger log =
Red5LoggerFactory.getLogger(PrivateMessageFolderDao.class, webAppRootKey);
@PersistenceContext
private EntityManager em;
@@ -70,7 +71,7 @@ public class PrivateMessageFolderDao {
return null;
}
- public PrivateMessageFolder getPrivateMessageFolderById(Long
privateMessageFolderId) {
+ public PrivateMessageFolder get(long privateMessageFolderId) {
try {
String hql = "select c from PrivateMessageFolder c " +
"where c.privateMessageFolderId
= :privateMessageFolderId ";
@@ -91,35 +92,22 @@ public class PrivateMessageFolderDao {
return null;
}
- public List<PrivateMessageFolder> getPrivateMessageFolders() {
- try {
- String hql = "select c from PrivateMessageFolder c ";
-
- TypedQuery<PrivateMessageFolder> query =
em.createQuery(hql, PrivateMessageFolder.class);
-
- List<PrivateMessageFolder> privateMessageFolders =
query.getResultList();
-
- return privateMessageFolders;
- } catch (Exception e) {
- log.error("[getPrivateMessageFolderById]",e);
- }
- return null;
+ public List<PrivateMessageFolder> get(int start, int count) {
+ String hql = "select c from PrivateMessageFolder c ";
+ return em.createQuery(hql, PrivateMessageFolder.class)
+ .setFirstResult(start).setMaxResults(count)
+ .getResultList();
}
- public void updatePrivateMessages(PrivateMessageFolder
privateMessageFolder) {
- try {
-
- if (privateMessageFolder.getPrivateMessageFolderId() ==
0) {
- em.persist(privateMessageFolder);
- } else {
- if (!em.contains(privateMessageFolder)) {
- em.merge(privateMessageFolder);
- }
- }
-
- } catch (Exception e) {
- log.error("[updatePrivateMessages]",e);
+ public PrivateMessageFolder update(PrivateMessageFolder
privateMessageFolder, Long userId) {
+ if (privateMessageFolder.getPrivateMessageFolderId() == 0) {
+ em.persist(privateMessageFolder);
+ } else {
+ if (!em.contains(privateMessageFolder)) {
+ privateMessageFolder = em.merge(privateMessageFolder);
+ }
}
+ return privateMessageFolder;
}
public List<PrivateMessageFolder> getPrivateMessageFolderByUserId(Long
userId) {
@@ -139,15 +127,24 @@ public class PrivateMessageFolderDao {
return null;
}
- public void deletePrivateMessages(PrivateMessageFolder
privateMessageFolder) {
- try {
-
- privateMessageFolder =
em.find(PrivateMessageFolder.class,
privateMessageFolder.getPrivateMessageFolderId());
- em.remove(privateMessageFolder);
-
- } catch (Exception e) {
- log.error("[deletePrivateMessages]",e);
- }
- }
-
+ public void delete(PrivateMessageFolder privateMessageFolder, Long
userId) {
+ privateMessageFolder = em.find(PrivateMessageFolder.class,
privateMessageFolder.getPrivateMessageFolderId());
+ em.remove(privateMessageFolder);
+ }
+
+ public List<PrivateMessageFolder> get(String search, int start, int
count, String order) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long count() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public long count(String search) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java
Thu May 23 13:04:50 2013
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.data.user.dao;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+
import java.util.Date;
import java.util.List;
@@ -28,7 +30,6 @@ import javax.persistence.Query;
import javax.persistence.TypedQuery;
import org.apache.commons.lang.StringUtils;
-import org.apache.openmeetings.OpenmeetingsVariables;
import org.apache.openmeetings.persistence.beans.room.Room;
import org.apache.openmeetings.persistence.beans.user.PrivateMessage;
import org.apache.openmeetings.persistence.beans.user.User;
@@ -38,8 +39,7 @@ import org.springframework.transaction.a
@Transactional
public class PrivateMessagesDao {
-
- private static final Logger log =
Red5LoggerFactory.getLogger(PrivateMessagesDao.class,
OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(PrivateMessagesDao.class, webAppRootKey);
@PersistenceContext
private EntityManager em;
@@ -87,46 +87,32 @@ public class PrivateMessagesDao {
return null;
}
- public List<PrivateMessage> getPrivateMessages() {
- try {
- TypedQuery<PrivateMessage> query =
em.createNamedQuery("getPrivateMessages", PrivateMessage.class);
- return query.getResultList();
- } catch (Exception e) {
- log.error("[getPrivateMessages]",e);
- }
- return null;
- }
-
- public PrivateMessage getPrivateMessagesById(Long privateMessageId) {
- try {
- TypedQuery<PrivateMessage> query =
em.createNamedQuery("getPrivateMessagesById", PrivateMessage.class);
- query.setParameter("privateMessageId",
privateMessageId);
- PrivateMessage privateMessage = null;
- try {
- privateMessage = query.getSingleResult();
- } catch (NoResultException ex) {
+ public List<PrivateMessage> get(int first, int count) {
+ return em.createNamedQuery("getPrivateMessages",
PrivateMessage.class)
+ .setFirstResult(first).setMaxResults(count)
+ .getResultList();
+ }
+
+ public PrivateMessage get(long privateMessageId) {
+ TypedQuery<PrivateMessage> query =
em.createNamedQuery("getPrivateMessagesById", PrivateMessage.class);
+ query.setParameter("privateMessageId", privateMessageId);
+ PrivateMessage privateMessage = null;
+ try {
+ privateMessage = query.getSingleResult();
+ } catch (NoResultException ex) {
+ }
+ return privateMessage;
+ }
+
+ public PrivateMessage update(PrivateMessage privateMessage, Long
userId) {
+ if (privateMessage.getPrivateMessageFolderId() == null) {
+ em.persist(privateMessage);
+ } else {
+ if (!em.contains(privateMessage)) {
+ privateMessage = em.merge(privateMessage);
}
- return privateMessage;
- } catch (Exception e) {
- log.error("[countPrivateMessagesByUser]",e);
- }
- return null;
- }
-
- public void updatePrivateMessages(PrivateMessage privateMessage) {
- try {
-
- if (privateMessage.getPrivateMessageFolderId() == null)
{
- em.persist(privateMessage);
- } else {
- if (!em.contains(privateMessage)) {
- em.merge(privateMessage);
- }
- }
-
- } catch (Exception e) {
- log.error("[updatePrivateMessages]",e);
}
+ return privateMessage;
}
public Long countPrivateMessagesByUser(Long toUserId, String search,
Long privateMessageFolderId) {
@@ -165,18 +151,13 @@ public class PrivateMessagesDao {
return null;
}
- public Long getNumberMessages(Long toUserId, Long
privateMessageFolderId, boolean isRead) {
- try {
- TypedQuery<Long> query =
em.createNamedQuery("getNumberMessages", Long.class);
- query.setParameter("toUserId", toUserId);
- query.setParameter("isTrash", false);
- query.setParameter("isRead", false);
- query.setParameter("privateMessageFolderId",
privateMessageFolderId);
- return query.getSingleResult();
- } catch (Exception e) {
- log.error("[getNumberMessages]",e);
- }
- return null;
+ public long count(Long toUserId, Long folderId, Boolean isRead, boolean
isTrash) {
+ TypedQuery<Long> query =
em.createNamedQuery("getNumberMessages", Long.class);
+ query.setParameter("toUserId", toUserId);
+ query.setParameter("isTrash", isTrash);
+ query.setParameter("isRead", isRead);
+ query.setParameter("folderId", folderId);
+ return query.getSingleResult();
}
public List<PrivateMessage> getPrivateMessagesByUser(Long toUserId,
String search,
@@ -568,5 +549,4 @@ public class PrivateMessagesDao {
}
return null;
}
-
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessage.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessage.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessage.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessage.java
Thu May 23 13:04:50 2013
@@ -35,6 +35,7 @@ import javax.persistence.NamedQuery;
import javax.persistence.Table;
import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openmeetings.persistence.beans.IDataProviderEntity;
import org.apache.openmeetings.persistence.beans.room.Room;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@@ -48,8 +49,8 @@ import org.simpleframework.xml.Root;
"where c.to.user_id = :toUserId " +
"AND c.isTrash = :isTrash " +
"AND c.owner.user_id = :toUserId " +
- "AND c.isRead = :isRead " +
- "AND c.privateMessageFolderId = :privateMessageFolderId
"),
+ "AND (:isRead IS NULL OR c.isRead = :isRead) " +
+ "AND (:folderId IS NULL OR c.privateMessageFolderId =
:folderId) "),
@NamedQuery(name = "updatePrivateMessagesToTrash", query = "UPDATE
PrivateMessage c " +
"SET c.isTrash = :isTrash,c.privateMessageFolderId =
:privateMessageFolderId " +
"where c.privateMessageId IN (:privateMessageIds) "),
@@ -66,7 +67,7 @@ import org.simpleframework.xml.Root;
})
@Table(name = "private_message")
@Root(name="privatemessage")
-public class PrivateMessage implements Serializable {
+public class PrivateMessage implements Serializable, IDataProviderEntity {
private static final long serialVersionUID = 7541117437029707792L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -121,11 +122,11 @@ public class PrivateMessage implements S
@Column(name="is_read")
@Element(data=true)
- private Boolean isRead;
+ private boolean isRead;
@Column(name="is_trash")
@Element(data=true)
- private Boolean isTrash;
+ private boolean isTrash;
@Column(name="parent_message_id")
@Element(data=true)
@@ -137,7 +138,7 @@ public class PrivateMessage implements S
@Column(name="is_contact_request")
@Element(data=true)
- private Boolean isContactRequest;
+ private boolean isContactRequest;
@Column(name="user_contact_id")
@Element(data=true)
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessageFolder.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessageFolder.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessageFolder.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessageFolder.java
Thu May 23 13:04:50 2013
@@ -21,7 +21,6 @@ package org.apache.openmeetings.persiste
import java.io.Serializable;
import java.util.Date;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -29,13 +28,14 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
+import org.apache.openmeetings.persistence.beans.IDataProviderEntity;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Entity
@Table(name = "private_messages_folder")
@Root(name="privatemessagefolder")
-public class PrivateMessageFolder implements Serializable {
+public class PrivateMessageFolder implements Serializable, IDataProviderEntity
{
private static final long serialVersionUID = 3689814412815025816L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
Thu May 23 13:04:50 2013
@@ -1248,8 +1248,7 @@ public class UserService {
SearchResult<PrivateMessage> searchResult = new
SearchResult<PrivateMessage>();
searchResult.setObjectName(User.class.getName());
- return privateMessagesDao
- .getNumberMessages(users_id,
0L, false);
+ return privateMessagesDao.count(users_id, null,
false, false);
}
} catch (Exception err) {
@@ -1462,8 +1461,7 @@ public class UserService {
return -1;
}
- public Integer deletePrivateMessages(String SID,
- @SuppressWarnings("rawtypes") List
privateMessageIntsIds) {
+ public Integer deletePrivateMessages(String SID, List<?>
privateMessageIntsIds) {
try {
Long users_id = sessiondataDao.checkSession(SID);
Long user_level =
userManager.getUserLevelByID(users_id);
@@ -1473,12 +1471,10 @@ public class UserService {
List<Long> privateMessageIds = new
LinkedList<Long>();
for (Object pMessageId : privateMessageIntsIds)
{
-
privateMessageIds.add(Long.valueOf(pMessageId.toString())
- .longValue());
+
privateMessageIds.add(Long.valueOf(pMessageId.toString()));
}
- return privateMessagesDao
-
.deletePrivateMessages(privateMessageIds);
+ return
privateMessagesDao.deletePrivateMessages(privateMessageIds);
}
} catch (Exception err) {
@@ -1638,14 +1634,12 @@ public class UserService {
// users only
if (authLevelUtil.checkUserLevel(user_level)) {
- PrivateMessageFolder privateMessageFolder =
privateMessageFolderDao
-
.getPrivateMessageFolderById(privateMessageFolderId);
+ PrivateMessageFolder privateMessageFolder =
privateMessageFolderDao.get(privateMessageFolderId);
privateMessageFolder.setFolderName(folderName);
privateMessageFolder.setUpdated(new Date());
- privateMessageFolderDao
-
.updatePrivateMessages(privateMessageFolder);
+
privateMessageFolderDao.update(privateMessageFolder, users_id);
return privateMessageFolderId;
@@ -1665,11 +1659,9 @@ public class UserService {
// users only
if (authLevelUtil.checkUserLevel(user_level)) {
- PrivateMessageFolder privateMessageFolder =
privateMessageFolderDao
-
.getPrivateMessageFolderById(privateMessageFolderId);
+ PrivateMessageFolder privateMessageFolder =
privateMessageFolderDao.get(privateMessageFolderId);
- privateMessageFolderDao
-
.deletePrivateMessages(privateMessageFolder);
+
privateMessageFolderDao.delete(privateMessageFolder, users_id);
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupExport.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupExport.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupExport.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupExport.java
Thu May 23 13:04:50 2013
@@ -235,7 +235,7 @@ public class BackupExport {
* ##################### Private Messages
*/
{
- List<PrivateMessage> list =
privateMessagesDao.getPrivateMessages();
+ List<PrivateMessage> list = privateMessagesDao.get(0,
Integer.MAX_VALUE);
Registry registry = new Registry();
Strategy strategy = new RegistryStrategy(registry);
Serializer serializer = new Persister(strategy);
@@ -254,7 +254,7 @@ public class BackupExport {
* ##################### Private Message Folders
*/
writeList(simpleSerializer, backup_dir,
"privateMessageFolder.xml",
- "privatemessagefolders",
privateMessageFolderDao.getPrivateMessageFolders());
+ "privatemessagefolders",
privateMessageFolderDao.get(0, Integer.MAX_VALUE));
/*
* ##################### User Contacts
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
Thu May 23 13:04:50 2013
@@ -432,8 +432,7 @@ public class BackupImportController exte
, "privatemessagefolders",
PrivateMessageFolder.class, true);
for (PrivateMessageFolder p : list) {
Long folderId = p.getPrivateMessageFolderId();
- PrivateMessageFolder storedFolder =
privateMessageFolderDao
-
.getPrivateMessageFolderById(folderId);
+ PrivateMessageFolder storedFolder =
privateMessageFolderDao.get(folderId);
if (storedFolder == null) {
p.setPrivateMessageFolderId(0);
Long newFolderId =
privateMessageFolderDao
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
Thu May 23 13:04:50 2013
@@ -58,8 +58,7 @@ public class WelcomeWidgetView extends W
public void onClick(AjaxRequestTarget target) {
((MainPage)getPage()).updateContents(PROFILE_MESSAGES, target);
}
- }.add(new Label("unread", Model.of("" +
getBean(PrivateMessagesDao.class)
- .getNumberMessages(getUserId(), 0L, false)))));
+ }.add(new Label("unread", Model.of("" +
getBean(PrivateMessagesDao.class).count(getUserId(), null, false, false)))));
add(new AjaxLink<Void>("editProfile") {
private static final long serialVersionUID =
-1847619557485964386L;
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
Thu May 23 13:04:50 2013
@@ -20,5 +20,44 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
+ <!-- TODO design should be changed in the future -->
+ <table style="width: 100%">
+ <tr>
+ <td style="width: 150px; overflow-x: hidden">
+ <div class="email new clickable"
wicket:id="new" wicket:ommessage="title:1208"><wicket:ommessage
key="1207"/></div>
+ <div class="email inbox clickable"
wicket:id="inbox"><wicket:ommessage key="1222"/></div>
+ <div class="email sent clickable"
wicket:id="sent"><wicket:ommessage key="1223"/></div>
+ <div class="email trash clickable"
wicket:id="trash"><wicket:ommessage key="1224"/></div>
+ <div class="email newdir clickable"
wicket:id="newdir" wicket:ommessage="title:1259"><wicket:ommessage
key="1258"/></div>
+ <div>
+ <div wicket:id="folder"><div
wicket:id="name"></div><div wicket:id="delete"></div></div>
+ </div>
+ </td>
+ <td>
+ <div wicket:id="container">
+ <div><b><wicket:ommessage
key="1206"/> (<span wicket:id="unread"></span>)</b></div>
+ <div wicket:id="navigator"></div>
+ <table>
+ <tr>
+ <th><wicket:message
key="1205"/></th>
+ <th><wicket:message
key="1202"/></th>
+ <th><wicket:message
key="1203"/></th>
+ <th><wicket:message
key="1204"/></th>
+ </tr>
+ </table>
+ </div>
+ </td>
+ <td style="width: 150px; overflow-x: hidden">
+ <div><b><wicket:ommessage
key="1189"/> (<span wicket:id="pendingContacts"></span>)</b></div>
+ <div><b><wicket:ommessage
key="1188"/> (<span wicket:id="na1"></span>)</b></div>
+ <table>
+ <tr>
+ <th><wicket:message
key="1180"/></th>
+ <th><wicket:message
key="1186"/></th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
</wicket:panel>
</html>
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java?rev=1485684&r1=1485683&r2=1485684&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
Thu May 23 13:04:50 2013
@@ -18,12 +18,78 @@
*/
package org.apache.openmeetings.web.user.profile;
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import org.apache.openmeetings.data.user.dao.PrivateMessageFolderDao;
+import org.apache.openmeetings.data.user.dao.PrivateMessagesDao;
+import org.apache.openmeetings.persistence.beans.user.PrivateMessageFolder;
import org.apache.openmeetings.web.common.UserPanel;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
public class MessagesContactsPanel extends UserPanel {
private static final long serialVersionUID = 8098087441571734957L;
+ private final WebMarkupContainer container = new
WebMarkupContainer("container");
+ private final IModel<Long> unreadModel = Model.of(0L);
public MessagesContactsPanel(String id) {
super(id);
+
+ add(new WebMarkupContainer("new").add(new
AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ }
+ }));
+ add(new WebMarkupContainer("inbox").add(new
AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ }
+ }));
+ add(new WebMarkupContainer("sent").add(new
AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ }
+ }));
+ add(new WebMarkupContainer("trash").add(new
AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ }
+ }));
+ add(new WebMarkupContainer("newdir").add(new
AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ }
+ }));
+ add(new ListView<PrivateMessageFolder>("folder",
getBean(PrivateMessageFolderDao.class).get(0, Integer.MAX_VALUE)) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void
populateItem(ListItem<PrivateMessageFolder> item) {
+ item.add(new Label("name",
item.getModelObject().getFolderName()));
+ item.add(new WebMarkupContainer("delete"));
+ }
+ });
+
unreadModel.setObject(getBean(PrivateMessagesDao.class).count(getUserId(),
null, false, false));
+ container.add(new Label("unread", unreadModel));
+
+ add(container.setOutputMarkupId(true));
}
+
}