[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