Author: amarkhel
Date: 2009-05-04 14:04:16 -0400 (Mon, 04 May 2009)
New Revision: 14011
Removed:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/TreeManager.java
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/DnDManager.java
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ImageManager.java
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/NavigationEnum.java
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ShelfManager.java
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/util/SessionListener.java
trunk/examples/photoalbum/source/web/src/main/webapp/includes/album/createAlbum.xhtml
trunk/examples/photoalbum/source/web/src/main/webapp/includes/fileUpload/uploadResult.xhtml
trunk/examples/photoalbum/source/web/src/main/webapp/includes/index/tree.xhtml
Log:
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -19,7 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.richfaces.photoalbum.manager;
-
+/**
+ * Class encapsulated all functionality, related to working with album.
+ *
+ * @author Andrey Markhel
+ */
import java.io.Serializable;
import org.jboss.seam.ScopeType;
@@ -54,24 +58,39 @@
@In FacesMessages facesMessages;
+ /**
+ * Method, that invoked on creation of the new album. Only registered users can create
new albums.
+ * @param album - new album
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void addAlbum(Album album){
+ //Shelf must be not-null
if(album.getShelf() == null){
facesMessages.addToControl(Constants.SHELF_ID, Constants.SHELF_MUST_BE_NOT_NULL_ERROR,
null);
Contexts.getConversationContext().set(Constants.ALBUM_VARIABLE, album);
return;
}
+ //All data is valid
validationSuccess = true;
try{
+ //Save to DB
albumAction.addAlbum(album);
}catch(Exception e){
Events.instance().raiseEvent(Constants.ADD_ERROR_EVENT,
Constants.ALBUM_SAVING_ERROR);
return;
}
+ //Reset 'album' component in conversation scope
Contexts.getConversationContext().set(Constants.ALBUM_VARIABLE, null);
+ //Raise 'albumAdded' event
Events.instance().raiseEvent(Constants.ALBUM_ADDED_EVENT, album);
}
+ /**
+ * Method, that invoked when user want to create new album. Only registered users can
create new albums.
+ * @param shelf - shelf, that will contain new album
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void createAlbum(Shelf shelf){
Album album = new Album();
@@ -86,9 +105,15 @@
}
}
album.setShelf(shelf);
+ //Reset 'album' component in conversation scope
Contexts.getConversationContext().set(Constants.ALBUM_VARIABLE, album);
}
+ /**
+ * Method, that invoked when user click 'Edit album' button. Only registered
users can create new albums.
+ * @param album - edited album
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void editAlbum(Album album){
try{
@@ -97,9 +122,15 @@
Events.instance().raiseEvent(Constants.ADD_ERROR_EVENT,
Constants.ALBUM_SAVING_ERROR);
return;
}
+ //Reset 'album' component in conversation scope
Events.instance().raiseEvent(Constants.ALBUM_EDITED_EVENT, album);
}
+ /**
+ * Method, that invoked when user click 'Delete album' button. Only registered
users can create new albums.
+ * @param album - album to delete
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void deleteAlbum(Album album){
String pathToDelete = album.getPath();
@@ -109,6 +140,7 @@
Events.instance().raiseEvent(Constants.ADD_ERROR_EVENT,
Constants.ALBUM_DELETING_ERROR);
return;
}
+ //Raise 'albumDeleted' event, parameter path - path of Directory to delete
Events.instance().raiseEvent(Constants.ALBUM_DELETED_EVENT, album, pathToDelete);
}
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -31,6 +31,7 @@
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Events;
+import org.richfaces.component.UITree;
import org.richfaces.photoalbum.domain.Album;
import org.richfaces.photoalbum.domain.Image;
import org.richfaces.photoalbum.domain.MetaTag;
@@ -265,6 +266,15 @@
model.resetModel(NavigationEnum.ANONYM, user, null, null, null, null);
}
+ @SuppressWarnings("unchecked")
+ public Boolean adviseNodeSelected(UITree tree) {
+ Object currentNode = tree.getRowData();
+ if(currentNode.equals(model.getSelectedAlbum()) ||
currentNode.equals(model.getSelectedShelf())){
+ return true;
+ }
+ return false;
+ }
+
public Integer getPage(){
final Integer index = model.getSelectedAlbum().getIndex(model.getSelectedImage());
return index / 5 + 1;
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/DnDManager.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/DnDManager.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/DnDManager.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -97,13 +97,13 @@
}
private void addTreeToRerender() {
- try {
- FacesContext fc = FacesContext.getCurrentInstance();
- AjaxContext ac = AjaxContext.getCurrentInstance();
- UIComponent destTree = fc.getViewRoot().findComponent(Constants.TREE_ID);
- ac.addComponentToAjaxRender(destTree);
- } catch (Exception e) {
- System.err.print(e.getMessage());
+ try {
+ FacesContext fc = FacesContext.getCurrentInstance();
+ AjaxContext ac = AjaxContext.getCurrentInstance();
+ UIComponent destTree = fc.getViewRoot().findComponent(Constants.TREE_ID);
+ ac.addComponentToAjaxRender(destTree);
+ } catch (Exception e) {
+ System.err.print(e.getMessage());
+ }
}
}
-}
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ImageManager.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ImageManager.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ImageManager.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -19,7 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.richfaces.photoalbum.manager;
-
+/**
+ * Class encapsulated all functionality, related to working with image.
+ *
+ * @author Andrey Markhel
+ */
import java.util.Date;
import java.util.List;
@@ -52,6 +56,11 @@
@In User user;
+ /**
+ * Method, that invoked when user click 'Delete image' button. Only registered
users can create new albums.
+ * @param image - image to delete
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void deleteImage(Image image) {
String pathToDelete = image.getFullPath();
@@ -61,9 +70,15 @@
Events.instance().raiseEvent(Constants.ADD_ERROR_EVENT,
Constants.IMAGE_DELETING_ERROR);
return;
}
+ //Raise 'imageDeleted' event, parameter path - path of file to delete
Events.instance().raiseEvent(Constants.IMAGE_DELETED_EVENT, image,
pathToDelete);
}
+ /**
+ * Method, that invoked when user click 'Edit image' button. Only registered
users can create new albums.
+ * @param image - image to edit
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void editImage(Image image, boolean metatagsChanged) {
try{
@@ -75,6 +90,12 @@
Events.instance().raiseEvent(Constants.UPDATE_MAIN_AREA_EVENT,
NavigationEnum.ALBUM_IMAGE_PREVIEW);
}
+ /**
+ * Method, that invoked when user add comment to image. Only registered users can create
new albums.
+ * @param image - image
+ * @param message - comment text
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void addComment(Image image, String message) {
if (null == user.getLogin()) {
@@ -95,9 +116,15 @@
Events.instance().raiseEvent(Constants.ADD_ERROR_EVENT,
Constants.SAVE_COMMENT_ERROR);
return;
}
+ //Clear rich:editor component
Events.instance().raiseEvent(Constants.CLEAR_EDITOR_EVENT, "");
}
+ /**
+ * Method, that invoked when user delete comment. Only registered users can create new
albums.
+ * @param comment - comment to delete
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void deleteComment(Comment comment) {
try{
@@ -108,10 +135,21 @@
}
}
+ /**
+ * Method, that invoked to retrieve most popular metatags.
+ * @return List of most popular metatags
+ *
+ */
public List<MetaTag> popularTags() {
return imageAction.getPopularTags();
}
+ /**
+ * Method, that used to autocomplete 'metatags' field while typing.
+ * @param suggest - text to autocomplete
+ * @return List of similar metatags
+ *
+ */
public List<MetaTag> autoComplete(Object suggest) {
String temp = (String) suggest;
if (temp.trim().equals("")) {
@@ -120,6 +158,12 @@
return imageAction.getTagsLikeString((String)suggest);
}
+ /**
+ * Method, that invoked to retrieve direct link to image, to represent in UI.
+ * @param image - image to get direct link
+ * @return List of similar metatags
+ *
+ */
public String getImageDirectLink(Image image) {
String directLink = null;
@@ -142,12 +186,12 @@
}
- protected String createServerURL(HttpServletRequest request) {
+ private String createServerURL(HttpServletRequest request) {
StringBuffer url = new StringBuffer();
if(request != null) {
String name = request.getServerName();
- String protocol = (request.getProtocol().split("/"))[0].toLowerCase();
+ String protocol = (request.getProtocol().split(Constants.SLASH))[0].toLowerCase();
int port = request.getServerPort();
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/NavigationEnum.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/NavigationEnum.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/NavigationEnum.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -20,6 +20,12 @@
*/
package org.richfaces.photoalbum.manager;
+/**
+ * Class encapsulated all possible states, that can be applied to so called
'mainArea' area on the page.
+ *
+ * @author Andrey Markhel
+ */
+
public enum NavigationEnum {
ANONYM("includes/publicShelves.xhtml"),
FILE_UPLOAD("includes/fileUpload.xhtml"),
@@ -44,7 +50,9 @@
private NavigationEnum(String t){
template=t;
}
+
private String template;
+
public String getTemplate() {
return template;
}
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ShelfManager.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ShelfManager.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/ShelfManager.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -20,6 +20,11 @@
*/
package org.richfaces.photoalbum.manager;
+/**
+ * Class encapsulated all functionality, related to working with shelf.
+ *
+ * @author Andrey Markhel
+ */
import java.io.Serializable;
import java.util.List;
@@ -51,12 +56,21 @@
@In User user;
+ /**
+ * Method, that invoked when user want to create new shelf. Only registered users can
create new albums.
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void createShelf() {
Shelf shelf = new Shelf();
Contexts.getConversationContext().set(Constants.SHELF_VARIABLE, shelf);
}
+ /**
+ * Method, that invoked on creation of the new shelf. Only registered users can create
new albums.
+ * @param album - new album
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void addShelf(Shelf shelf) {
validationSuccess = true;
@@ -69,10 +83,11 @@
Events.instance().raiseEvent(Constants.SHELF_ADDED_EVENT, shelf);
}
- public List<Shelf> getAvailableShelves(User user) {
- return user.getShelves();
- }
-
+ /**
+ * Method, that invoked when user click 'Edit shelf' button. Only registered
users can create new albums.
+ * @param shelf - shelf to edit
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void editShelf(Shelf shelf) {
try{
@@ -84,6 +99,11 @@
Events.instance().raiseEvent(Constants.SHELF_EDITED_EVENT, shelf);
}
+ /**
+ * Method, that invoked when user click 'Delete shelf' button. Only registered
users can create new albums.
+ * @param image - shelf to delete
+ *
+ */
@Restrict("#{s:hasRole('admin')}")
public void deleteShelf(Shelf shelf) {
String pathToDelete = shelf.getPath();
@@ -96,6 +116,12 @@
Events.instance().raiseEvent(Constants.SHELF_DELETED_EVENT, shelf,
pathToDelete);
}
+ /**
+ * This method used to populate 'pre-defined shelves' tree
+ *
+ * @return List of predefined shelfs
+ *
+ */
public List<Shelf> getPredefinedShelves() {
if (shelves == null) {
shelves = shelfAction.getPredefinedShelves();
@@ -103,6 +129,12 @@
return shelves;
}
+ /**
+ * This method used to populate 'my shelves' tree
+ *
+ * @return List of users shelfs
+ *
+ */
public List<Shelf> getUserShelves(){
return user.getShelves();
}
Deleted:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/TreeManager.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/TreeManager.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/TreeManager.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -1,27 +0,0 @@
-package org.richfaces.photoalbum.manager;
-
-import java.io.Serializable;
-
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-import org.richfaces.component.UITree;
-
-@Name("treeManager")
-(a)Scope(ScopeType.EVENT)
-public class TreeManager implements Serializable{
-
- @In Model model;
-
- private static final long serialVersionUID = 5656562187249324512L;
-
- @SuppressWarnings("unchecked")
- public Boolean adviseNodeSelected(UITree tree) {
- Object currentNode = tree.getRowData();
- if(currentNode.equals(model.getSelectedAlbum()) ||
currentNode.equals(model.getSelectedShelf())){
- return true;
- }
- return false;
- }
-}
Modified:
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/util/SessionListener.java
===================================================================
---
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/util/SessionListener.java 2009-05-04
16:31:50 UTC (rev 14010)
+++
trunk/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/util/SessionListener.java 2009-05-04
18:04:16 UTC (rev 14011)
@@ -10,7 +10,9 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Startup;
import org.jboss.seam.annotations.Transactional;
+import org.jboss.seam.core.Events;
import org.richfaces.photoalbum.domain.User;
+import org.richfaces.photoalbum.service.Constants;
@Scope(ScopeType.SESSION)
@Name("sessionListener")
@@ -23,11 +25,11 @@
@Destroy @Transactional @Observer("org.jboss.seam.sessionExpired")
public void onDestroy(){
- /*if(user.getId() != null && !user.isPreDefined()){
+ if(user.getId() != null && !user.isPreDefined()){
user = em.merge(user);
em.remove(user);
em.flush();
Events.instance().raiseEvent(Constants.USER_DELETED_EVENT, user);
- }*/
+ }
}
}
Modified:
trunk/examples/photoalbum/source/web/src/main/webapp/includes/album/createAlbum.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/examples/photoalbum/source/web/src/main/webapp/includes/fileUpload/uploadResult.xhtml
===================================================================
(Binary files differ)
Modified: trunk/examples/photoalbum/source/web/src/main/webapp/includes/index/tree.xhtml
===================================================================
(Binary files differ)