[jboss-cvs] JBossBlog SVN: r89 - trunk-esial/blog-core/src/java/org/jboss/blog/ui.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 19 12:25:34 EDT 2007


Author: frite
Date: 2007-03-19 12:25:34 -0400 (Mon, 19 Mar 2007)
New Revision: 89

Added:
   trunk-esial/blog-core/src/java/org/jboss/blog/ui/CategoryEdit.java
Log:


Added: trunk-esial/blog-core/src/java/org/jboss/blog/ui/CategoryEdit.java
===================================================================
--- trunk-esial/blog-core/src/java/org/jboss/blog/ui/CategoryEdit.java	                        (rev 0)
+++ trunk-esial/blog-core/src/java/org/jboss/blog/ui/CategoryEdit.java	2007-03-19 16:25:34 UTC (rev 89)
@@ -0,0 +1,169 @@
+package org.jboss.blog.ui;
+
+import org.jboss.blog.model.BlogModel;
+import org.jboss.blog.model.BlogModelDoesNotExistException;
+import org.jboss.blog.model.impl.EmptyBlogModel;
+import org.jboss.blog.tools.BlogTools;
+import org.jboss.blog.tools.UITools;
+import org.jboss.blog.service.store.model.ModifiableBlogModel;
+import org.jboss.blog.service.store.model.ModifiableBlogCategory;
+import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
+import org.jboss.blog.BlogName;
+
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class CategoryEdit {
+    private State state;
+    private BlogView blogView;
+
+    private boolean initDone;
+    
+    private String name;
+    private String description;
+
+    
+    public CategoryEdit() {
+        initDone = false;
+    }
+
+    public String getName(){
+    	 if (!initDone) { init(); }
+         return name;
+    }
+    
+    public void setName(String name){
+    	this.name = name;
+    }
+    
+
+    public String getDescription() {
+        if (!initDone) { init(); }
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+
+    public State getState() {
+        return state;
+    }
+
+    public void setState(State state) {
+        this.state = state;
+    }
+
+    public BlogView getBlogView() {
+        return blogView;
+    }
+
+    public void setBlogView(BlogView blogView) {
+        this.blogView = blogView;
+    }
+
+    //
+
+    private void init() {
+    	
+        name = getState().getSelectedCategory();
+        ModifiableBlogCategory mbc = BlogTools.getBlogService().getStoreService().retrieveBlogCategory(name);
+        if(mbc==null){
+        	description="";
+        }
+        else{
+        	description = mbc.getDescription();
+        }
+        
+        initDone = true;
+    }
+
+    // Actions
+
+    public String save() {
+        try {
+            ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+                    blogView.getBlogName());
+
+            boolean changed = false;
+
+            if (!BlogTools.objectsEqual(description, mbm.getDescription())) {
+                changed = true; mbm.setDescription(description); }
+
+            if (changed) {
+                UITools.addInfoMessage("Blog category data saved.");
+            } else {
+                UITools.addInfoMessage("No blog category data was modified.");
+            }
+        } catch (BlogModelDoesNotExistException e) {
+            UITools.addMessageBlogDoesntExist(blogView.getBlogName());
+        }
+
+        return blogView.getReturnTo();
+    }
+
+    public String saveNew() {
+
+        try {
+        	ModifiableBlogCategory mbc = BlogTools.getBlogService().getStoreService().newBlogCategory();
+        	
+        	mbc.setName(name);
+        	mbc.setDescription(getDescription());
+
+        	ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().retrieveBlogModel(blogView.getBlogName()/*getState().getSelectedBlogName()*/);
+
+        	mbm.addCategory(mbc);
+        	
+            UITools.addInfoMessage("New blog category created.");
+        } catch (IllegalArgumentException e) {
+            UITools.addErrorMessage("Bad argument: " + getState().getSelectedBlogName() + ".");
+        }catch(BlogModelDoesNotExistException e){
+        	UITools.addErrorMessage("Blog Model does not exist" + getState().getSelectedBlogName() + ".");
+        }
+
+        return UITools.BLOG_VIEW;
+    }
+
+    public String delete() {
+        try {
+            BlogName toDelete = getState().getSelectedBlogName();
+
+            ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+                    toDelete);
+
+            BlogTools.getBlogService().getStoreService().deleteBlogModel(mbm);
+
+            getState().setSelectedBlogName(null);
+
+            UITools.addInfoMessage("Blog category deleted.");
+
+            // If this was the last category with this id, we must return to the admin panel.
+            if (BlogTools.getBlogService().getStoreService().retrieveAllCategories(toDelete).size() == 0) {
+                return UITools.ADMIN_PANEL;
+            } else {
+                return UITools.ID_EDIT;
+            }
+        } catch (BlogModelDoesNotExistException e) {
+            UITools.addMessageBlogDoesntExist(blogView.getBlogName());
+
+            return UITools.ID_EDIT;
+        } catch(Throwable t) {
+            t.printStackTrace();
+            throw new RuntimeException(t);
+        }
+
+    }
+
+    public String backFromDelete() {
+        getState().setSelectedBlogName(null);
+
+        return UITools.ID_EDIT;
+    }
+
+    public String back() {
+        return UITools.CAT_MAN;
+    }
+}




More information about the jboss-cvs-commits mailing list