Author: amarkhel
Date: 2008-12-02 11:03:29 -0500 (Tue, 02 Dec 2008)
New Revision: 11490
Added:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IMessageAction.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/MessageAction.java
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/templates/message.xhtml
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Album.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Message.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/User.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IImageAction.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IUserAction.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/ImageAction.java
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/UserAction.java
trunk/test-applications/realworld/ejb/src/main/resources/import.sql
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/tree/TreeActionManager.java
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/util/ModalPanelHelper.java
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/albumModalPanel-taglib.xml
trunk/test-applications/realworld/web/src/main/webapp/imagePreview.xhtml
trunk/test-applications/realworld/web/src/main/webapp/layout/menu.xhtml
trunk/test-applications/realworld/web/src/main/webapp/main.xhtml
trunk/test-applications/realworld/web/src/main/webapp/navigation.xhtml
trunk/test-applications/realworld/web/src/main/webapp/readMessages.xhtml
Log:
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Album.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Album.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Album.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -89,7 +89,6 @@
private String changedName;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "album")
- @org.hibernate.annotations.Cascade(value =
org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
@org.hibernate.annotations.Fetch(org.hibernate.annotations.FetchMode.SUBSELECT)
private List<Image> images = new ArrayList<Image>();
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Message.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Message.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/Message.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -17,10 +17,13 @@
import org.hibernate.validator.Length;
import org.hibernate.validator.NotEmpty;
import org.hibernate.validator.NotNull;
+import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
@Entity
@Name("message")
@Table(name = "messages")
+(a)Scope(ScopeType.PAGE)
public class Message implements Serializable{
@Id
@@ -31,7 +34,15 @@
@Temporal(TemporalType.TIMESTAMP)
private Date date;
- @ManyToOne(fetch = FetchType.EAGER)
+ private boolean readed;
+
+ @Column(length = 256, nullable = false)
+ @NotNull
+ @NotEmpty
+ @Length(min=3)
+ private String theme;
+
+ @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "AUTHOR_ID", nullable = false, updatable = false)
@org.hibernate.annotations.ForeignKey(name = "FK_FROM_USERS_ID")
private User author;
@@ -83,4 +94,20 @@
this.owner = owner;
}
+ public boolean isReaded() {
+ return readed;
+ }
+
+ public void setReaded(boolean readed) {
+ this.readed = readed;
+ }
+
+ public String getTheme() {
+ return theme;
+ }
+
+ public void setTheme(String theme) {
+ this.theme = theme;
+ }
+
}
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/User.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/User.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/domain/User.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -116,6 +116,10 @@
@org.hibernate.annotations.OrderBy(clause = "NAME asc")
private List<Album> childAlbums = new ArrayList<Album>();
+ @OneToMany(mappedBy = "owner", cascade = { CascadeType.ALL }, fetch =
FetchType.LAZY)
+
@org.hibernate.annotations.LazyCollection(org.hibernate.annotations.LazyCollectionOption.EXTRA)
+ @org.hibernate.annotations.OrderBy(clause = "Date desc")
+ private List<Message> messages = new ArrayList<Message>();
//private Address address;
/**
@@ -222,7 +226,33 @@
album.setOwner(null);
childAlbums.remove(album);
}
+
+ public void removeFriend(User friend) {
+ if (friend == null) {
+ throw new IllegalArgumentException("Null friend");
+ }
+ friends.remove(friend);
+ }
+
+ public void addMessage(Message message) {
+ if (message == null) {
+ throw new IllegalArgumentException("Null Message!");
+ }
+ if (message.getOwner() != null && !this.equals(message.getOwner())) {
+ message.getOwner().getMessages().remove(message);
+ }
+ message.setOwner(this);
+ messages.add(message);
+ }
+ public void removeMessage(Message message) {
+ if (message == null) {
+ throw new IllegalArgumentException("Null message");
+ }
+ message.setOwner(null);
+ messages.remove(message);
+ }
+
public String getConfirmPassword() {
return confirmPassword;
}
@@ -246,4 +276,12 @@
public void setSharedAlbums(List<Album> sharedAlbums) {
this.sharedAlbums = sharedAlbums;
}
+
+ public List<Message> getMessages() {
+ return messages;
+ }
+
+ public void setMessages(List<Message> messages) {
+ this.messages = messages;
+ }
}
\ No newline at end of file
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IImageAction.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IImageAction.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IImageAction.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -9,11 +9,6 @@
public interface IImageAction {
- /* (non-Javadoc)
- * @see org.richfaces.realworld.service.IAlbumAction#addAlbum()
- */
- public abstract void addAlbum(Album album);
-
public abstract void deleteImage(Image image);
public abstract void editImage(Image image, boolean parentChanged);
Added:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IMessageAction.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IMessageAction.java
(rev 0)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IMessageAction.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -0,0 +1,22 @@
+package org.richfaces.realworld.service;
+
+import javax.ejb.Remove;
+
+import org.jboss.seam.annotations.Destroy;
+import org.richfaces.realworld.domain.Comment;
+import org.richfaces.realworld.domain.Message;
+
+public interface IMessageAction {
+
+ public abstract void sendMessage(Message message);
+
+ public abstract void deleteMessage(Message message);
+
+ @Remove
+ public void remove();
+
+ @Destroy
+ public void destroy();
+
+ public void markAsReaded(Message message);
+}
\ No newline at end of file
Property changes on:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IMessageAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IUserAction.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IUserAction.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/IUserAction.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -1,5 +1,8 @@
package org.richfaces.realworld.service;
+import java.util.ArrayList;
+import java.util.List;
+
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Remove;
@@ -21,4 +24,7 @@
public void updateUser(User user);
public void resetUser(User user);
+ public List<User> getUsers(String suggest);
+ public long countNotReadedMessages(User user);
+ public void removeFromFriends(User owner, User removed);
}
\ No newline at end of file
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/ImageAction.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/ImageAction.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/ImageAction.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -20,18 +20,6 @@
public class ImageAction implements IImageAction {
@PersistenceContext(unitName = "realworld",
type=PersistenceContextType.EXTENDED)
EntityManager em;
-
- /* (non-Javadoc)
- * @see org.richfaces.realworld.service.IAlbumAction#addAlbum()
- */
- /* (non-Javadoc)
- * @see
org.richfaces.realworld.service.IImageAction#addAlbum(org.richfaces.realworld.domain.Album)
- */
- public void addAlbum(Album album) {
- //em.persist(album);
- //user.addAlbum(album);
- //em.flush();
- }
/* (non-Javadoc)
* @see
org.richfaces.realworld.service.IImageAction#deleteImage(org.richfaces.realworld.domain.Image)
@@ -64,14 +52,14 @@
}
public void editImage(Image image, boolean parentChanged) {
- em.merge(image);
+ image = em.merge(image);
if(parentChanged){
- String login = image.getAlbum().getOwner().getLogin();
+ Album albumPrevious = image.getAlbum();
+ String login = albumPrevious.getOwner().getLogin();
String albumName = image.getAlbumName();
- image.getAlbum().removeImage(image);
+ albumPrevious.removeImage(image);
Album album = (Album)em.createQuery("from Album a where a.name=:albumName and
a.owner.login=:login").setParameter("albumName",
albumName).setParameter("login", login).getSingleResult();
album.addImage(image);
- em.merge(album);
}
em.flush();
}
Added:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/MessageAction.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/MessageAction.java
(rev 0)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/MessageAction.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -0,0 +1,57 @@
+package org.richfaces.realworld.service;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceContextType;
+
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.Name;
+import org.richfaces.realworld.domain.Comment;
+import org.richfaces.realworld.domain.Message;
+
+@Stateful
+@Name("messageAction")
+public class MessageAction implements IMessageAction {
+ @PersistenceContext(unitName = "realworld",
type=PersistenceContextType.EXTENDED)
+ EntityManager em;
+
+ /* (non-Javadoc)
+ * @see
org.richfaces.realworld.service.IMessageAction#sendMessage(org.richfaces.realworld.domain.Message)
+ */
+ public void sendMessage(Message message){
+ em.persist(message);
+ em.flush();
+ }
+
+ /* (non-Javadoc)
+ * @see
org.richfaces.realworld.service.IMessageAction#deleteMessage(org.richfaces.realworld.domain.Message)
+ */
+ public void deleteMessage(Message message){
+ message = em.merge(message);
+ message.getOwner().removeMessage(message);
+ em.remove(message);
+ em.flush();
+ }
+
+ public void markAsReaded(Message message){
+ message.setReaded(true);
+ em.flush();
+ }
+ /* (non-Javadoc)
+ * @see org.richfaces.realworld.service.IAlbumAction#remove()
+ */
+ @Remove
+ public void remove(){
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.richfaces.realworld.service.IAlbumAction#destroy()
+ */
+ @Destroy
+ public void destroy(){
+
+ }
+}
Property changes on:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/MessageAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Modified:
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/UserAction.java
===================================================================
---
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/UserAction.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/ejb/src/main/java/org/richfaces/realworld/service/UserAction.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -1,5 +1,6 @@
package org.richfaces.realworld.service;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
@@ -38,6 +39,7 @@
.setParameter("username", username)
.setParameter("password", password)
.getSingleResult();
+ long result = countNotReadedMessages(user);
return user != null;
}
@@ -78,4 +80,19 @@
}
return true;
}
+
+ public List<User> getUsers(String suggest) {
+ List<User> users = em.createQuery("from User u where u.login like
:login").setParameter("login", suggest +
"%").setMaxResults(10).getResultList();
+ return users;
+ }
+
+ public long countNotReadedMessages(User user){
+ Long result = (Long)em.createQuery("SELECT count(u) FROM User u JOIN u.messages mg
WHERE u.login=:login and mg.readed = false").setParameter("login",
user.getLogin()).getSingleResult();
+ return result;
+ }
+
+ public void removeFromFriends(User owner, User removed) {
+ owner.removeFriend(removed);
+ em.flush();
+ }
}
\ No newline at end of file
Modified: trunk/test-applications/realworld/ejb/src/main/resources/import.sql
===================================================================
--- trunk/test-applications/realworld/ejb/src/main/resources/import.sql 2008-12-02
15:41:49 UTC (rev 11489)
+++ trunk/test-applications/realworld/ejb/src/main/resources/import.sql 2008-12-02
16:03:29 UTC (rev 11490)
@@ -73,7 +73,7 @@
INSERT INTO metatags(metatag_id, tag, image_metatag_id) VALUES (21, 'Cool', 20);
INSERT INTO comments(comment_id, date, message, image_comment_id, from_user_id) VALUES
(1, '1985-01-08', 'Hello I am user', 1, 2);
INSERT INTO comments(comment_id, date, message, image_comment_id, from_user_id) VALUES
(2, '1985-01-08', 'Hello I am user2', 1, 3);
-INSERT INTO messages(message_id, date, message, author_id, owner_id) VALUES (1,
'1985-01-08', 'Hello I am user', 2, 1);
+INSERT INTO messages(message_id, date, message, author_id, owner_id, readed, theme)
VALUES (1, '1985-01-08', 'Hello I am user', 2, 1, false, 'Hello,
amarkhel');
INSERT INTO shared_albums(album_id, user_id) VALUES(4, 1);
INSERT INTO shared_albums(album_id, user_id) VALUES(7, 1);
INSERT INTO user_friends(user1_id, user2_id) VALUES(1, 2);
\ No newline at end of file
Modified:
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/tree/TreeActionManager.java
===================================================================
---
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/tree/TreeActionManager.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/tree/TreeActionManager.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -1,6 +1,8 @@
package org.richfaces.realworld.tree;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
import javax.faces.model.SelectItem;
@@ -12,10 +14,13 @@
import org.richfaces.realworld.domain.Album;
import org.richfaces.realworld.domain.Comment;
import org.richfaces.realworld.domain.Image;
+import org.richfaces.realworld.domain.Message;
import org.richfaces.realworld.domain.User;
import org.richfaces.realworld.fileupload.FileManager;
import org.richfaces.realworld.service.IAlbumAction;
import org.richfaces.realworld.service.IImageAction;
+import org.richfaces.realworld.service.IMessageAction;
+import org.richfaces.realworld.service.IUserAction;
@Name("treeActionManager")
@Scope(ScopeType.PAGE)
@@ -24,19 +29,27 @@
@In
private User user;
+ private long countUnreadedMessages;
+
@In(create=true, required=true)
private IAlbumAction albumAction;
@In(create=true, required=true)
+ private IMessageAction messageAction;
+
+ @In(create=true, required=true)
private IImageAction imageAction;
+ @In(create=true, required=true)
+ private IUserAction userAction;
+
@In(create=true, required=true) @Out
private Album album;
@In(create=true)
FileManager fileManager;
- @In TreeRootItem treeRoot;
+ @In(create=true) TreeRootItem treeRoot;
@In(create=true, required=true)
TreeSelectionManager treeSelectionManager;
@@ -52,6 +65,11 @@
}
+ public List<User> availableUsers(Object suggest){
+ List<User> suggestions = userAction.getUsers((String)suggest);
+ return suggestions;
+ }
+
public void editAlbum(Album album){
boolean nameChanged = !album.getName().equals(album.getChangedName());
if(nameChanged){
@@ -138,4 +156,16 @@
comment.setMessage("+1");
imageAction.addComment(comment);
}
+
+ public void sendMessage(Message message) {
+ messageAction.sendMessage(message);
+ }
+
+ public long getCountUnreadedMessages() {
+ return userAction.countNotReadedMessages(user);
+ }
+
+ public void removeFromFriends(User owner, User removed){
+ userAction.removeFromFriends(owner, removed);
+ }
}
Modified:
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/util/ModalPanelHelper.java
===================================================================
---
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/util/ModalPanelHelper.java 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/web/src/main/java/org/richfaces/realworld/util/ModalPanelHelper.java 2008-12-02
16:03:29 UTC (rev 11490)
@@ -12,6 +12,7 @@
import org.richfaces.realworld.domain.Album;
import org.richfaces.realworld.domain.Comment;
import org.richfaces.realworld.domain.Image;
+import org.richfaces.realworld.domain.Message;
import org.richfaces.realworld.domain.User;
import org.richfaces.realworld.tree.TreeActionManager;
@@ -23,6 +24,16 @@
private String actionName;
+ private boolean sendRequired;
+
+ private boolean searchRequired = false;
+
+ @In
+ private User user;
+
+ @Out(required=false)
+ private Message message;
+
@In(create=true, required=true) @Out
private Album album;
@@ -71,6 +82,54 @@
}
}
+ public void initModalPanelData( String actionName, boolean sendRequired, Message
message){
+ this.actionName = actionName;
+ this.sendRequired = sendRequired;
+ this.message = new Message();
+ this.message.setTheme("Re:" + message.getTheme());
+ this.message.setAuthor(user);
+ this.message.setOwner(message.getAuthor());
+ this.message.setReaded(false);
+ this.searchRequired = false;
+ }
+
+ public void initModalPanelData( String actionName, boolean sendRequired, Message
message, boolean userSearchRequired){
+ this.actionName = actionName;
+ this.sendRequired = sendRequired;
+ this.searchRequired = userSearchRequired;
+ this.message = new Message();
+ this.message.setAuthor(user);
+ this.message.setReaded(false);
+ }
+
+ public void initMessage(boolean sendRequired, Message message){
+ this.sendRequired = sendRequired;
+ this.message = message;
+ this.searchRequired = false;
+ }
+
+ public void initModalPanelData( String actionName, boolean sendRequired, User owner){
+ this.actionName = actionName;
+ this.sendRequired = sendRequired;
+ this.message = new Message();
+ this.message.setAuthor(user);
+ this.message.setOwner(owner);
+ this.message.setReaded(false);
+ this.searchRequired = false;
+ }
+
+ public void initModalPanelData( String actionName, boolean sendRequired, User owner,
String theme, String message){
+ this.actionName = actionName;
+ this.sendRequired = sendRequired;
+ this.message = new Message();
+ this.message.setAuthor(user);
+ this.message.setOwner(owner);
+ this.message.setReaded(false);
+ this.message.setTheme(theme);
+ this.message.setMessage(message);
+ this.searchRequired = false;
+ }
+
public void initModalPanelData( String actionName, String caption, Comment comment, User
user, Image image){
this.caption = caption;
this.actionName = actionName;
@@ -111,4 +170,25 @@
public void editImage(ActionEvent event){
treeActionManager.editImage(this.image);
}
+
+ public void sendMessage(ActionEvent event){
+ this.message.setDate(new Date());
+ treeActionManager.sendMessage(this.message);
+ }
+
+ public boolean isSendRequired() {
+ return sendRequired;
+ }
+
+ public void setSendRequired(boolean sendRequired) {
+ this.sendRequired = sendRequired;
+ }
+
+ public boolean isSearchRequired() {
+ return searchRequired;
+ }
+
+ public void setSearchRequired(boolean searchRequired) {
+ this.searchRequired = searchRequired;
+ }
}
Modified:
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/albumModalPanel-taglib.xml
===================================================================
---
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/albumModalPanel-taglib.xml 2008-12-02
15:41:49 UTC (rev 11489)
+++
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/albumModalPanel-taglib.xml 2008-12-02
16:03:29 UTC (rev 11490)
@@ -20,4 +20,8 @@
<tag-name>comment</tag-name>
<source>templates/addComment.xhtml</source>
</tag>
+ <tag>
+ <tag-name>message</tag-name>
+ <source>templates/message.xhtml</source>
+ </tag>
</facelet-taglib>
\ No newline at end of file
Added:
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/templates/message.xhtml
===================================================================
(Binary files differ)
Property changes on:
trunk/test-applications/realworld/web/src/main/webapp/WEB-INF/tags/templates/message.xhtml
___________________________________________________________________
Name: svn:mime-type
+ application/xhtml+xml
Modified: trunk/test-applications/realworld/web/src/main/webapp/imagePreview.xhtml
===================================================================
(Binary files differ)
Modified: trunk/test-applications/realworld/web/src/main/webapp/layout/menu.xhtml
===================================================================
(Binary files differ)
Modified: trunk/test-applications/realworld/web/src/main/webapp/main.xhtml
===================================================================
(Binary files differ)
Modified: trunk/test-applications/realworld/web/src/main/webapp/navigation.xhtml
===================================================================
(Binary files differ)
Modified: trunk/test-applications/realworld/web/src/main/webapp/readMessages.xhtml
===================================================================
(Binary files differ)