[jboss-cvs] JBossBlog SVN: r85 - trunk-esial/blog-core/src/java/org/jboss/blog/service/store/hibernate.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 19 12:21:33 EDT 2007
Author: frite
Date: 2007-03-19 12:21:33 -0400 (Mon, 19 Mar 2007)
New Revision: 85
Modified:
trunk-esial/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
Log:
Modified: trunk-esial/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
===================================================================
--- trunk-esial/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2007-03-19 16:15:24 UTC (rev 84)
+++ trunk-esial/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2007-03-19 16:21:33 UTC (rev 85)
@@ -5,6 +5,7 @@
import org.jboss.blog.service.store.model.ModifiableBlogPost;
import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
import org.jboss.blog.service.store.model.ModifiableBlogComment;
+import org.jboss.blog.service.store.model.ModifiableBlogCategory;
import org.jboss.blog.service.AbstractBlogService;
import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
import org.jboss.blog.service.permissions.BlogPermissionsService;
@@ -12,6 +13,7 @@
import org.jboss.blog.model.BlogModelDoesNotExistException;
import org.jboss.blog.model.BlogCommentDoesNotExistException;
import org.jboss.blog.model.BlogAuthor;
+import org.jboss.blog.model.BlogCategory;
import org.jboss.blog.tools.BlogTools;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
@@ -68,7 +70,16 @@
return (HBlogModel) model;
}
+
+ HBlogCategory castAndAssertBlogCategory(BlogCategory category) {
+ BlogTools.assertNotNull(category, "Blog category cannot be null.");
+ if (!(category instanceof HBlogCategory)) {
+ throw new IllegalArgumentException("Category must be obtained from this store service.");
+ }
+ return (HBlogCategory) category;
+ }
+
HBlogPost castAndAssertBlogPost(ModifiableBlogPost post) {
BlogTools.assertNotNull(post, "Blog post cannot be null.");
if (!(post instanceof HBlogPost)) {
@@ -107,13 +118,27 @@
* @jmx.managed-operation
* @jmx.managed-parameter type="org.jboss.blog.BlogName"
*/
- public List retrieveAllCategories(BlogName blogName) {
+ public List retrieveAllGroups(BlogName blogName) {
assertBlogNameNotNull(blogName);
return sf.getCurrentSession().createQuery(
"select model.blogName from HBlogModel as model " +
"where model.blogName.id = :id")
.setParameter("id", blogName.getId()).list();
}
+
+
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="org.jboss.blog.BlogName"
+ */
+ public List retrieveAllCategories(BlogName blogName) {
+ assertBlogNameNotNull(blogName);
+ return sf.getCurrentSession().createQuery(
+ "select model.categories from HBlogModel as model " +
+ "where model.blogName.id = :id")
+ .setParameter("id", blogName.getId()).list();
+ }
private boolean blogExists(BlogName blogName) {
Long count = (Long) sf.getCurrentSession().createQuery(
@@ -154,7 +179,26 @@
return hbm;
}
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String"
+ */
+ public ModifiableBlogCategory retrieveBlogCategory(String name){
+
+ HBlogCategory hbc = (HBlogCategory) sf.getCurrentSession()
+ .createQuery("from HBlogCategory as cat where cat.name = :name")
+ .setCacheable(true).setParameter("name", name).uniqueResult();
+ //if (hbc == null) {
+ // throw new BlogModelDoesNotExistException(blogName.toString());
+ //}
+ if (hbc != null){
+ hbc.setStoreService(this);
+ }
+ return hbc;
+ }
+
/**
* @jmx.managed-operation
* @jmx.managed-parameter type="org.jboss.blog.BlogName"
@@ -181,6 +225,16 @@
/**
* @jmx.managed-operation
*/
+ public ModifiableBlogCategory newBlogCategory() {
+ HBlogCategory category = new HBlogCategory();
+ category.setStoreService(this);
+
+ return category;
+ }
+
+ /**
+ * @jmx.managed-operation
+ */
public ModifiableBlogPost newBlogPost() {
HBlogPost post = new HBlogPost();
post.setModelPosts(new ArrayList());
@@ -244,6 +298,22 @@
/**
* @jmx.managed-operation
+ * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogCategory"
+ */
+ public void saveNewBlogCategory(ModifiableBlogCategory category) /*throws BlogCategoryAlreadyExistsException*/ {
+ HBlogCategory hcategory = castAndAssertBlogCategory(category);
+ //assertBlogNameNotNull(hmodel.getBlogName());
+
+ // TODO: checking if the blog already exist or not. Can it be done in a better way?
+ //if (blogExists(hmodel.getBlogName())) {
+ // throw new BlogModelAlreadyExistsException(hmodel.getBlogName().toString());
+ //}
+
+ sf.getCurrentSession().save(category);
+ }
+
+ /**
+ * @jmx.managed-operation
* @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
*/
public void deleteBlogModel(ModifiableBlogModel model) {
@@ -307,7 +377,7 @@
* To the given blog model, adds the given post.
* @param model Model to which the post should be added.
* @param post Post to add.
- */
+ */
void addPost(HBlogModel model, HBlogPost post) {
HBlogModel hmodel = castAndAssertBlogModel(model);
HBlogPost hpost = castAndAssertBlogPost(post);
@@ -324,7 +394,21 @@
sf.getCurrentSession().save(hbmp);
}
}
+
+ /**
+ * To the given blog model, adds the given category.
+ * @param model Model to which the post should be added.
+ * @param category Category to add.
+ */
+ void addCategory(HBlogModel model, HBlogCategory category) {
+ HBlogModel hmodel = castAndAssertBlogModel(model);
+ HBlogCategory hcat = castAndAssertBlogCategory(category);
+ hmodel.getCategories().add(hcat);
+ sf.getCurrentSession().saveOrUpdate(hcat);
+
+ }
+
/**
* From the given blog model, removes the given post.
* @param model Model from which the post shold be removed.
More information about the jboss-cvs-commits
mailing list