[jboss-cvs] JBossBlog SVN: r22 - in trunk: . blog-core/src/etc/META-INF blog-core/src/java/org/jboss/blog/model blog-core/src/java/org/jboss/blog/model/impl blog-core/src/java/org/jboss/blog/service/store blog-core/src/java/org/jboss/blog/service/store/hibernate blog-core/src/java/org/jboss/blog/tools blog-core/src/java/org/jboss/blog/ui blog-core/src/web/WEB-INF blog-core/src/web/views

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 9 09:24:56 EST 2006


Author: adamw
Date: 2006-11-09 09:24:41 -0500 (Thu, 09 Nov 2006)
New Revision: 22

Added:
   trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java
   trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
Removed:
   trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java
Modified:
   trunk/blog-core/src/etc/META-INF/jboss-service.xml
   trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java
   trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
   trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
   trunk/blog-core/src/web/WEB-INF/faces-config.xml
   trunk/blog-core/src/web/WEB-INF/web.xml
   trunk/blog-core/src/web/views/blog_view.xhtml
   trunk/blog-core/src/web/views/post_view.xhtml
   trunk/blog-core/src/web/views/view.xhtml
   trunk/jbossblog.iws
Log:
http://jira.jboss.com/jira/browse/JBBLOG-12

Modified: trunk/blog-core/src/etc/META-INF/jboss-service.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-11-09 14:24:41 UTC (rev 22)
@@ -116,11 +116,12 @@
         <attribute name="QueryCacheEnabled">false</attribute>
 
         <!-- Logging -->
-        <attribute name="ShowSqlEnabled">false</attribute>
+        <attribute name="ShowSqlEnabled">true</attribute>
 
         <!-- Mapping files -->
         <attribute name="MapResources">
             org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml,
+            org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml
             org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml
         </attribute>
 

Modified: trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -1,6 +1,7 @@
 package org.jboss.blog.model;
 
 import java.util.Iterator;
+import java.util.List;
 
 /**
  * A base class for {@link BlogModel} implementations.
@@ -19,4 +20,11 @@
         throw new BlogPostDoesNotExistException(guid);
     }
 
+    public List getPosts(int from, int to) {
+        List posts = getPosts();
+        to = Math.min(posts.size(), to);
+        from = Math.min(to, from);
+
+        return posts.subList(from, to);
+    }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -18,11 +18,23 @@
 
     /**
      *
-     * @return Sorted set of {@link BlogPost} - posts for this blog model.
+     * @return Sorted list of {@link BlogPost} - posts for this blog model.
      */
     public List getPosts();
 
     /**
+     * Gets a specified sublist of {@link BlogModel#getPosts()}. This method
+     * should be used instead of interating over the full list beacuse of
+     * possible performance improvements.
+     * @param from Index of first post to be contained in the returned list.
+     * @param to First index after the last post to be contained in the
+     * returned list.
+     * @return Sorted sublist of {@link BlogPost}, containing posts on
+     * positions from <code>from</code> to <code>to</code>.  
+     */
+    public List getPosts(int from, int to);
+
+    /**
      *
      * @return Set of {@link java.lang.String} - name of categories to
      * which this model belongs.

Deleted: trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -1,13 +0,0 @@
-package org.jboss.blog.model.impl;
-
-import java.util.Date;
-import java.util.HashSet;
-
-/**
- * @author Adam Warski (adamw at aster.pl)
- */
-public class DoesNotExistBlogPost extends BlogPostImpl {
-    public DoesNotExistBlogPost(String author, String title) {
-        super(author, title, "", new Date(), null, null, new HashSet(), null);
-    }
-}

Added: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,12 @@
+package org.jboss.blog.model.impl;
+
+import java.util.*;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class EmptyBlogModel extends BlogModelImpl {
+    public EmptyBlogModel() {
+        super("", "", "", "", new Date(), new ArrayList(), new HashSet());
+    }
+}

Copied: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java (from rev 18, trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java)
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java	2006-11-03 21:31:39 UTC (rev 18)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,13 @@
+package org.jboss.blog.model.impl;
+
+import java.util.Date;
+import java.util.HashSet;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class EmptyBlogPost extends BlogPostImpl {
+    public EmptyBlogPost() {
+        super("", "", "", new Date(), "", "", new HashSet(), null);
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -2,9 +2,7 @@
 
 import org.jboss.blog.BlogName;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
-import org.jboss.blog.service.store.model.ModifiableBlogModel;
-import org.jboss.blog.service.store.model.ModifiableBlogPost;
-import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
+import org.jboss.blog.service.store.model.*;
 
 import java.util.List;
 
@@ -79,6 +77,38 @@
     public void deleteBlogModel(ModifiableBlogModel model)
             throws IllegalArgumentException;
 
+    /**
+     * Adds the given post to the given blog model. This method should be used
+     * instead of modifying the {@link ModifiableBlogModel#getPosts()}
+     * list.
+     * @param model Model to which the post should be added.
+     * @param post Post to add.
+     * @throws IllegalArgumentException If either model or post is null, or
+     * they haven't been obtained from this store service.
+     */
+    public void addPost(ModifiableBlogModel model, ModifiableBlogPost post)
+            throws IllegalArgumentException;
+
+    /**
+     * Removes the given post from the given blog model. This method should be used
+     * instead of modifying the {@link ModifiableBlogModel#getPosts()}
+     * list.
+     * @param model Model from which the post should be removed.
+     * @param post Post to remove.
+     * @throws IllegalArgumentException If either model or post is null, or
+     * they haven't been obtained from this store service.
+     */
+    public void removePost(ModifiableBlogModel model, ModifiableBlogPost post)
+            throws IllegalArgumentException;
+
+    /**
+     * Deletes the given post from all blog models.
+     * @param post Post to delete.
+     * @throws IllegalArgumentException If either model or post is null, or
+     * they haven't been obtained from this store service.
+     */
+    public void deletePost(ModifiableBlogPost post);
+
     // Factory methods
 
     /**

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml	2006-11-09 14:24:41 UTC (rev 22)
@@ -4,9 +4,8 @@
           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
 <hibernate-mapping package="org.jboss.blog.service.store.hibernate">
-    <class
-            name="HBlogModel"
-            table="BLOG_MODELS">
+    <class name="HBlogModel"
+           table="BLOG_MODELS">
         <id name="id" column="BLOG_ID">
             <generator class="native" />
         </id>
@@ -29,10 +28,9 @@
 
         <property name="description" column="DESCRIPTION" type="text" />
 
-        <bag name="posts" table="BLOG_MODELS_POSTS" order-by="CREATED desc"
-             cascade="all-delete-orphan">
+        <bag name="posts" inverse="true">
             <key column="BLOG_ID" not-null="true" />
-            <many-to-many column="POST_ID" class="HBlogPost" />
+            <one-to-many class="HBlogModelPost" /> 
         </bag>
     </class>
 </hibernate-mapping>
\ No newline at end of file

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -22,6 +22,8 @@
 
     private Set categories;
 
+    private HibernateBlogStoreService storeService;
+
     public HBlogModel() {
         categories = Collections.emptySet();
     }
@@ -91,6 +93,14 @@
         this.posts = posts;
     }
 
+    public HibernateBlogStoreService getStoreService() {
+        return storeService;
+    }
+
+    public void setStoreService(HibernateBlogStoreService storeService) {
+        this.storeService = storeService;
+    }
+
     public void setCategories(Set categories) {
         if ((categories != null) && (categories.size() > 1)) {
             throw new IllegalArgumentException("Only one categorty per model is supported");
@@ -110,4 +120,8 @@
     public Set getCategories() {
         return categories;
     }
+
+    public List getPosts(int from, int to) {
+        return storeService.getPosts(this, from, to);
+    } 
 }

Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml	2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="org.jboss.blog.service.store.hibernate">
+    <class name="HBlogModelPost"
+           table="BLOG_MODELS_POSTS">
+        <id name="id" column="BLOG_MODEL_ID">
+            <generator class="native" />
+        </id>
+        
+        <natural-id>
+            <many-to-one name="model" class="HBlogModel" column="BLOG_ID" />
+            <many-to-one name="post" class="HBlogPost" column="POST_ID" />
+        </natural-id>
+    </class>
+</hibernate-mapping>
\ No newline at end of file

Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,64 @@
+package org.jboss.blog.service.store.hibernate;
+
+import org.jboss.blog.tools.BlogTools;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class HBlogModelPost {
+    private Integer id;
+    private HBlogModel model;
+    private HBlogPost post;
+
+    public HBlogModelPost() {
+        
+    }
+
+    public HBlogModelPost(HBlogModel model, HBlogPost post) {
+        this.model = model;
+        this.post = post;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public HBlogModel getModel() {
+        return model;
+    }
+
+    public void setModel(HBlogModel model) {
+        this.model = model;
+    }
+
+    public HBlogPost getPost() {
+        return post;
+    }
+
+    public void setPost(HBlogPost post) {
+        this.post = post;
+    }
+
+    private int hashCode(Integer i) {
+        return i == null ? 0 : i.hashCode();
+    }
+
+    public int hashCode() {
+        return hashCode(model.getId()) + hashCode(post.getId());
+    }
+
+    public boolean equals(Object obj) {
+        if (!(obj instanceof HBlogModelPost)) {
+            return false;
+        }
+
+        HBlogModelPost hbmp = (HBlogModelPost) obj;
+
+        return BlogTools.objectsEqual(hbmp.getModel().getId(), getModel().getId()) &&
+                BlogTools.objectsEqual(hbmp.getPost().getId(), getPost().getId());
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml	2006-11-09 14:24:41 UTC (rev 22)
@@ -4,9 +4,8 @@
           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
 <hibernate-mapping package="org.jboss.blog.service.store.hibernate">
-    <class
-            name="HBlogPost"
-            table="BLOG_POSTS">
+    <class name="HBlogPost"
+           table="BLOG_POSTS">
         <id name="id" column="POST_ID">
             <generator class="native" />
         </id>

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -42,6 +42,28 @@
 
     }
 
+    private void assertBlogNameNotNull(BlogName blogName) {
+        BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+    }
+
+    private HBlogModel castAndAssertBlogModel(ModifiableBlogModel model) {
+        BlogTools.assertNotNull(model, "Blog model cannot be null.");
+        if (!(model instanceof HBlogModel)) {
+            throw new IllegalArgumentException("Model must be obtained from this store service.");
+        }
+
+        return (HBlogModel) model;
+    }
+
+    private HBlogPost castAndAssertBlogPost(ModifiableBlogPost post) {
+        BlogTools.assertNotNull(post, "Blog post cannot be null.");
+        if (!(post instanceof HBlogPost)) {
+            throw new IllegalArgumentException("Post must be obtained from this store service.");
+        }
+
+        return (HBlogPost) post;
+    }
+
     /**
      * @jmx.managed-operation
      */
@@ -62,7 +84,7 @@
      * @jmx.managed-parameter type="org.jboss.blog.BlogName"
      */
     public List getAllCategories(BlogName blogName) {
-        BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+        assertBlogNameNotNull(blogName);
         return sf.getCurrentSession().createQuery(
                 "select model.blogName from HBlogModel as model " +
                 "where model.blogName.id = :id")
@@ -84,7 +106,7 @@
      * @jmx.managed-parameter type="org.jboss.blog.BlogName"
      */
     public boolean getBlogModifiable(BlogName blogName) {
-        BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+        assertBlogNameNotNull(blogName);
         return blogExists(blogName);
     }
 
@@ -94,17 +116,19 @@
      */
     public ModifiableBlogModel getBlogModel(BlogName blogName)
             throws BlogModelDoesNotExistException {
-        BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+        assertBlogNameNotNull(blogName);
 
-        ModifiableBlogModel mbm = (ModifiableBlogModel) sf.getCurrentSession()
+        HBlogModel hbm = (HBlogModel) sf.getCurrentSession()
                 .createQuery("from HBlogModel as model where model.blogName = :name")
                 .setParameter("name", blogName).uniqueResult();
 
-        if (mbm == null) {
+        if (hbm == null) {
             throw new BlogModelDoesNotExistException(blogName.toString());
         }
 
-        return mbm;
+        hbm.setStoreService(this);
+
+        return hbm;
     }    
 
     /**
@@ -112,11 +136,12 @@
      * @jmx.managed-parameter type="org.jboss.blog.BlogName"
      */
     public ModifiableBlogModel newBlogModel(BlogName blogName) {
-        BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+        assertBlogNameNotNull(blogName);
 
         HBlogModel hbm = new HBlogModel();
         hbm.setBlogName(blogName);
         hbm.setPosts(new ArrayList());
+        hbm.setStoreService(this);
 
         return hbm;
     }
@@ -136,13 +161,8 @@
      * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
      */
     public void saveNewBlogModel(ModifiableBlogModel model) throws BlogModelAlreadyExistsException {
-        BlogTools.assertNotNull(model, "Blog model cannot be null.");
-        if (!(model instanceof HBlogModel)) {
-            throw new IllegalArgumentException("Model must be earlier constructed with " +
-                    "the factory method.");
-        }
-        HBlogModel hmodel = (HBlogModel) model;
-        BlogTools.assertNotNull(hmodel.getBlogName(), "Blog name cannot be null.");
+        HBlogModel hmodel = castAndAssertBlogModel(model);
+        assertBlogNameNotNull(hmodel.getBlogName());
 
         // TODO: checking if the blog already exist or not. Can it be done in a better way?
         if (blogExists(hmodel.getBlogName())) {
@@ -157,8 +177,60 @@
      * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
      */
     public void deleteBlogModel(ModifiableBlogModel model) {
-        BlogTools.assertNotNull(model, "Blog model cannot be null");
+        HBlogModel hmodel = castAndAssertBlogModel(model);
 
-        sf.getCurrentSession().delete(model);
+        sf.getCurrentSession().delete(hmodel);
     }
+
+    /**
+     * @jmx.managed-operation
+     * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
+     * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
+     */
+    public void addPost(ModifiableBlogModel model, ModifiableBlogPost post) {
+        HBlogModel hmodel = castAndAssertBlogModel(model);
+        HBlogPost hpost = castAndAssertBlogPost(post);
+
+        // TODO Thread-unsafe checking
+        if (((Integer) sf.getCurrentSession().createQuery("select count(*) from " +
+            "HBlogModelPost as bmp where bmp.model = :model and bmp.post = :post")
+            .setEntity("model", hmodel).setEntity("post", hpost).uniqueResult()).intValue() == 0) {
+            hmodel.getPosts().add(hpost);
+            sf.getCurrentSession().save(new HBlogModelPost(hmodel, hpost));
+        }
+    }
+
+    /**
+     * @jmx.managed-operation
+     * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
+     * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
+     */
+    public void removePost(ModifiableBlogModel model, ModifiableBlogPost post) {
+        HBlogModel hmodel = castAndAssertBlogModel(model);
+        HBlogPost hpost = castAndAssertBlogPost(post);
+
+        hmodel.getPosts().remove(hpost);
+        sf.getCurrentSession().createQuery("delete from HBlogModelPost as bmp " +
+                "where bmp.model = :model and bmp.post = :post")
+                .setEntity("model", hmodel).setEntity("post", hpost).executeUpdate();
+    }
+
+    /**
+     * @jmx.managed-operation
+     * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
+     */
+    public void deletePost(ModifiableBlogPost post) {
+        HBlogPost hpost = castAndAssertBlogPost(post);
+
+        sf.getCurrentSession().createQuery("delete from HBlogModelPost as bmp " +
+                "where bmp.post = :post").setEntity("post", hpost).executeUpdate();
+    }
+
+    //
+
+    List getPosts(HBlogModel model, int from, int to) {
+        return sf.getCurrentSession().createQuery(
+                "select bmp.post from HBlogModelPost bmp where bmp.model = :model")
+                .setEntity("model", model).setFirstResult(from).setMaxResults(to-from).list();
+    }
 }

Added: trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,13 @@
+package org.jboss.blog.tools;
+
+import javax.faces.context.FacesContext;
+import javax.faces.application.FacesMessage;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class UITools {
+    public static void addMessage(String message) {
+        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message));
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -1,17 +1,30 @@
 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;
+
 /**
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
 public class BlogEdit {
     private State state;
+    private BlogView blogView;
 
+    private boolean initDone;
+
     private String title;
-    private String autor;
+    private String author;
     private String description;
     private String link;
 
+    public BlogEdit() {
+        initDone = false;
+    }
+
     public String getTitle() {
+        if (!initDone) { init(); }
         return title;
     }
 
@@ -19,15 +32,17 @@
         this.title = title;
     }
 
-    public String getAutor() {
-        return autor;
+    public String getAuthor() {
+        if (!initDone) { init(); }
+        return author;
     }
 
-    public void setAutor(String autor) {
-        this.autor = autor;
+    public void setAuthor(String author) {
+        this.author = author;
     }
 
     public String getDescription() {
+        if (!initDone) { init(); }
         return description;
     }
 
@@ -36,6 +51,7 @@
     }
 
     public String getLink() {
+        if (!initDone) { init(); }
         return link;
     }
 
@@ -51,6 +67,34 @@
         this.state = state;
     }
 
+    public BlogView getBlogView() {
+        return blogView;
+    }
+
+    public void setBlogView(BlogView blogView) {
+        this.blogView = blogView;
+    }
+
+    //
+
+    private void init() {
+        BlogModel model;
+
+        try {
+            model = BlogTools.getBlogService().getStoreService().getBlogModel(
+                    blogView.getBlogName());
+        } catch (BlogModelDoesNotExistException e) {
+            model = new EmptyBlogModel();
+        }
+
+        author = model.getAuthor();
+        title = model.getTitle();
+        description = model.getDescription();
+        link = model.getLink();
+
+        initDone = true;
+    }
+
     // Actions
 
     private String getReturnTo() {

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2006-11-09 14:24:41 UTC (rev 22)
@@ -3,12 +3,14 @@
 import org.jboss.blog.model.BlogModel;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.model.BlogPost;
-import org.jboss.blog.model.impl.DoesNotExistBlogPost;
+import org.jboss.blog.model.impl.EmptyBlogPost;
+import org.jboss.blog.model.impl.EmptyBlogModel;
 import org.jboss.blog.BlogName;
 import org.jboss.blog.service.store.BlogStoreService;
 import org.jboss.blog.service.store.model.ModifiableBlogModel;
 import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
 import org.jboss.blog.tools.BlogTools;
+import org.jboss.blog.tools.UITools;
 
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIData;
@@ -55,6 +57,7 @@
     private Boolean viewPostsOnSeparatePage;
     private Boolean viewAllPosts;
     private Boolean postsExpandable;
+    private Boolean blogModifiable;
 
     private Object getRequest() {
         return FacesContext.getCurrentInstance().getExternalContext().getRequest();
@@ -76,9 +79,11 @@
         if (blogModel == null) {
             try {
                 blogModel = BlogTools.getBlogService().getModelService().getBlogModel(
-                        getBlogName());
+                    getBlogName());
             } catch (BlogModelDoesNotExistException e) {
-                throw new RuntimeException(e);
+                UITools.addMessage("The blog you requested does not exist: " +
+                        getBlogName().toString() + ".");
+                blogModel = new EmptyBlogModel();
             }
         }
 
@@ -129,6 +134,15 @@
         return postsExpandable;
     }
 
+    public Boolean getBlogModifiable() {
+        if (blogModifiable == null) {
+            blogModifiable = Boolean.valueOf(BlogTools.getBlogService().getStoreService().
+                    getBlogModifiable(getBlogName()));
+        }
+
+        return blogModifiable;
+    }
+
     //
 
     public boolean getHasPrevious() {
@@ -154,7 +168,7 @@
     }
 
     public List getPosts() {
-        return getBlogModel().getPosts().subList(getFrom().intValue(), getTo().intValue());
+        return getBlogModel().getPosts(getFrom().intValue(), getTo().intValue());
     }
 
     public String getSelectedPostTitleAsId() {
@@ -165,10 +179,6 @@
         getBlogViewState().setSelectedPostTitleAsId(selectedPostId);
     }
 
-    private BlogPost getDoesNotExistBlogEntry() {
-        return new DoesNotExistBlogPost("JBoss Blog", "This entry doesn't exist");
-    }
-
     private BlogPost searchForBlogPost(List entries, String id, int from, int to) {
         for (int i=from; i<=to; i++) {
             BlogPost current = (BlogPost) entries.get(i);
@@ -180,12 +190,17 @@
         return null;
     }
 
+    private BlogPost postDoesNotExist(String id) {
+        UITools.addMessage("The post you requested: " + id + " does not exist.");
+        return new EmptyBlogPost();
+    }
+
     public BlogPost getSelectedPost() {
         String id = getSelectedPostTitleAsId();
         List entries = getBlogModel().getPosts();
 
         if (id == null) {
-            return getDoesNotExistBlogEntry();
+            return postDoesNotExist(id);
         }
 
         BlogPost ret;
@@ -201,7 +216,7 @@
         }
 
         if (ret == null) {
-            return getDoesNotExistBlogEntry();
+            return postDoesNotExist(id);
         }
 
         return ret;

Modified: trunk/blog-core/src/web/WEB-INF/faces-config.xml
===================================================================
--- trunk/blog-core/src/web/WEB-INF/faces-config.xml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/WEB-INF/faces-config.xml	2006-11-09 14:24:41 UTC (rev 22)
@@ -32,6 +32,10 @@
             <property-name>state</property-name>
             <value>#{state}</value>
         </managed-property>
+        <managed-property>
+            <property-name>blogView</property-name>
+            <value>#{blogView}</value>
+        </managed-property>
     </managed-bean>
 
     <managed-bean>

Modified: trunk/blog-core/src/web/WEB-INF/web.xml
===================================================================
--- trunk/blog-core/src/web/WEB-INF/web.xml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/WEB-INF/web.xml	2006-11-09 14:24:41 UTC (rev 22)
@@ -23,11 +23,13 @@
     <!-- Servlet environment -->
     <context-param>
         <param-name>blogId</param-name>
-        <param-value>http://finance.yahoo.com/rss/headline?s=rhat</param-value>
+        <!--<param-value>http://finance.yahoo.com/rss/headline?s=rhat</param-value>-->
+        <param-value>id0</param-value>
     </context-param>
     <context-param>
         <param-name>blogCategory</param-name>
-        <param-value></param-value>
+        <!--<param-value></param-value>-->
+        <param-value>cat0</param-value>
     </context-param>
     <context-param>
         <param-name>numberOfPostsPerPage</param-name>

Modified: trunk/blog-core/src/web/views/blog_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_view.xhtml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/views/blog_view.xhtml	2006-11-09 14:24:41 UTC (rev 22)
@@ -6,11 +6,9 @@
       xmlns:blog="http://www.jboss.org/portal/jbossblog">
 <ui:composition template="view.xhtml">
     <ui:define name="editlink">
-        <h:form>
-            <h:commandLink value="Edit"
-                           action="blog_edit"
-                           actionListener="#{blogView.blogEditFromBlogView}" />
-        </h:form>
+        <h:commandLink value="Edit"
+                       action="blog_edit"
+                       actionListener="#{blogView.blogEditFromBlogView}" />
     </ui:define>
 
     <ui:define name="viewmain">

Modified: trunk/blog-core/src/web/views/post_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_view.xhtml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/views/post_view.xhtml	2006-11-09 14:24:41 UTC (rev 22)
@@ -6,11 +6,9 @@
       xmlns:blog="http://www.jboss.org/portal/jbossblog">
 <ui:composition template="view.xhtml">
     <ui:define name="editlink">
-        <h:form>
-            <h:commandLink value="Edit"
-                           action="blog_edit"
-                           actionListener="#{blogView.blogEditFromPostView}" />
-        </h:form>
+        <h:commandLink value="Edit"
+                       action="blog_edit"
+                       actionListener="#{blogView.blogEditFromPostView}" />
     </ui:define>
 
     <ui:define name="viewmain">
@@ -18,7 +16,7 @@
 
         <b>#{blogView.selectedPost.title}</b><br />
         #{blogView.selectedPost.description}
-                
+
         <h2>Navigation</h2>
         <h:form>
             <h:commandLink action="blog_view" actionListener="#{blogView.backFromPostView}">

Modified: trunk/blog-core/src/web/views/view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/view.xhtml	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/views/view.xhtml	2006-11-09 14:24:41 UTC (rev 22)
@@ -12,9 +12,13 @@
                 Description: #{blogView.blogModel.description} <br />
                 Author: #{blogView.blogModel.author}
 
-                <blog:isAllowed fragment="acl://manageCategory" contextData="#{blogView.blogName}">
-                    <p>Click here to edit: <ui:insert name="editlink" /></p>
-                </blog:isAllowed>
+                <h:panelGroup rendered="#{blogView.blogModifiable}">
+                    <blog:isAllowed fragment="acl://manageCategory" contextData="#{blogView.blogName}">
+                        <h:form>
+                            <p>Click here to edit: <ui:insert name="editlink" /></p>
+                        </h:form>
+                    </blog:isAllowed>
+                </h:panelGroup>
 
                 <p><h:messages /></p>
 

Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws	2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/jbossblog.iws	2006-11-09 14:24:41 UTC (rev 22)
@@ -17,29 +17,27 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogModel.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/index.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/index.xhtml" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewpost.xhtml" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml" afterPath="" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/State.java" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/userview_t.xhtml" afterPath="" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/common.xhtml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java" afterPath="" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/userblogview_t.xhtml" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java" />
     </list>
   </component>
   <component name="ChangeListSynchronizer" />
@@ -164,99 +162,28 @@
   </component>
   <component name="FileEditorManager">
     <leaf>
-      <file leaf-file-name="view.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
+      <file leaf-file-name="BlogView.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="9" column="25" selection-start="486" selection-end="486" vertical-scroll-proportion="0.22727273">
-              <folding />
+            <state line="170" column="81" selection-start="4999" selection-end="4999" vertical-scroll-proportion="-2.2021945">
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
             </state>
           </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
         </entry>
       </file>
-      <file leaf-file-name="acl-permissions.xml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
+      <file leaf-file-name="BlogEdit.java" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="31" column="45" selection-start="1295" selection-end="1295" vertical-scroll-proportion="0.54545456">
-              <folding />
+            <state line="10" column="13" selection-start="296" selection-end="296" vertical-scroll-proportion="0.23510972">
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="faces-config.xml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="48" column="31" selection-start="1821" selection-end="1821" vertical-scroll-proportion="0.53872055">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
-            <state />
-          </provider>
-          <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="acl-mapping.xml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="48" column="44" selection-start="2529" selection-end="2529" vertical-scroll-proportion="0.54545456">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="blog_view.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="4" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3181818">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="post_view.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="10" column="50" selection-start="460" selection-end="460" vertical-scroll-proportion="0.25252524">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="blog_mod.xhtml" pinned="false" current="true" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="10" column="8" selection-start="518" selection-end="518" vertical-scroll-proportion="0.25252524">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="blog_edit.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="6" column="63" selection-start="333" selection-end="333" vertical-scroll-proportion="0.15151516">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
     </leaf>
   </component>
   <component name="FindManager">
@@ -557,6 +484,40 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="jbossblog.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -595,6 +556,128 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="jbossblog.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="jbossblog.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="jbossblog.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -693,6 +776,44 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="jbossblog.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/etc" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -736,7 +857,7 @@
       <showLibraryContents />
       <hideEmptyPackages />
       <abbreviatePackageNames />
-      <showStructure PackagesPane="false" Scope="false" Favorites="false" ProjectPane="false" />
+      <showStructure ProjectPane="false" Scope="false" PackagesPane="false" Favorites="false" />
       <autoscrollToSource />
       <autoscrollFromSource />
       <sortByType />
@@ -1011,136 +1132,114 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="52" column="4" selection-start="962" selection-end="962" vertical-scroll-proportion="0.8951613">
+        <state line="7" column="13" selection-start="137" selection-end="137" vertical-scroll-proportion="0.16935484">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/common.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="10" column="28" selection-start="455" selection-end="455" vertical-scroll-proportion="0.25252524">
+        <state line="12" column="13" selection-start="275" selection-end="275" vertical-scroll-proportion="-0.31451613">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="37" column="24" selection-start="1251" selection-end="1251" vertical-scroll-proportion="0.75">
+        <state line="123" column="61" selection-start="5910" selection-end="5910" vertical-scroll-proportion="1.0247934">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="70" column="26" selection-start="2538" selection-end="2538" vertical-scroll-proportion="0.42975205">
+        <state line="10" column="17" selection-start="214" selection-end="214" vertical-scroll-proportion="0.16935484">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="214" column="44" selection-start="6183" selection-end="6183" vertical-scroll-proportion="0.30806452">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="22" column="46" selection-start="607" selection-end="607" vertical-scroll-proportion="0.43548387">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="48" column="31" selection-start="1821" selection-end="1821" vertical-scroll-proportion="0.53872055">
+        <state line="16" column="25" selection-start="484" selection-end="484" vertical-scroll-proportion="0.29032257">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
-        <state />
-      </provider>
-      <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="31" column="45" selection-start="1295" selection-end="1295" vertical-scroll-proportion="0.54545456">
+        <state line="86" column="58" selection-start="3470" selection-end="3470" vertical-scroll-proportion="0.4919355">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="48" column="44" selection-start="2529" selection-end="2529" vertical-scroll-proportion="0.54545456">
+        <state line="7" column="11" selection-start="289" selection-end="289" vertical-scroll-proportion="0.16935484">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="10" column="50" selection-start="460" selection-end="460" vertical-scroll-proportion="0.25252524">
+        <state line="29" column="32" selection-start="1097" selection-end="1097" vertical-scroll-proportion="0.7016129">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="9" column="25" selection-start="486" selection-end="486" vertical-scroll-proportion="0.22727273">
+        <state line="2" column="38" selection-start="87" selection-end="87" vertical-scroll-proportion="0.048387095">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="4" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3181818">
+        <state line="8" column="40" selection-start="361" selection-end="361" vertical-scroll-proportion="0.18808778">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="6" column="63" selection-start="333" selection-end="333" vertical-scroll-proportion="0.15151516">
+        <state line="18" column="46" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3291536">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="53" column="19" selection-start="1926" selection-end="1926" vertical-scroll-proportion="0.72066116">
+        <state line="228" column="29" selection-start="7807" selection-end="7807" vertical-scroll-proportion="0.6708464">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="83" column="20" selection-start="2501" selection-end="2501" vertical-scroll-proportion="0.59504133">
-          <folding />
+        <state line="170" column="81" selection-start="4999" selection-end="4999" vertical-scroll-proportion="-2.2021945">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="10" column="8" selection-start="518" selection-end="518" vertical-scroll-proportion="0.25252524">
-          <folding />
+        <state line="10" column="13" selection-start="296" selection-end="296" vertical-scroll-proportion="0.23510972">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
   </component>
 </project>




More information about the jboss-cvs-commits mailing list