[jboss-cvs] JBossBlog SVN: r38 - in trunk: . blog-core blog-core/src/etc/META-INF blog-core/src/etc/conf/hibernate 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/model/rome blog-core/src/java/org/jboss/blog/service/permissions blog-core/src/java/org/jboss/blog/service/permissions/acl blog-core/src/java/org/jboss/blog/service/permissions/model 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/service/store/model blog-core/src/java/org/jboss/blog/ui blog-core/src/web/views

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Dec 15 19:16:34 EST 2006


Author: adamw
Date: 2006-12-15 19:16:16 -0500 (Fri, 15 Dec 2006)
New Revision: 38

Added:
   trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogAuthor.java
   trunk/blog-core/src/java/org/jboss/blog/model/BlogAuthor.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogAuthorImpl.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogAuthor.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/EmptyPortalUser.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java
Modified:
   trunk/blog-core/build.xml
   trunk/blog-core/src/etc/META-INF/jboss-service.xml
   trunk/blog-core/src/etc/conf/hibernate/hibernate.cfg.xml
   trunk/blog-core/src/java/org/jboss/blog/model/BlogItem.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogCommentImpl.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogPostImpl.java
   trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java
   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/model/rome/RomeBlogPost.java
   trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeParsingBlogModelService.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.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/HBlogPost.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogComment.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogItem.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/java/org/jboss/blog/ui/CommentEdit.java
   trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
   trunk/blog-core/src/web/views/blog_mod.xhtml
   trunk/blog-core/src/web/views/blog_view.xhtml
   trunk/blog-core/src/web/views/post_mod.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-26

Modified: trunk/blog-core/build.xml
===================================================================
--- trunk/blog-core/build.xml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/build.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -40,6 +40,9 @@
 
     <fileset id="log4j.jar" dir="../lib/xdoclet"><include name="log4j.jar"/></fileset>
 
+    <fileset id="jboss.portal.identity.jars" dir="../lib/jboss-portal">
+        <include name="**/portal-identity-lib.jar"/></fileset>
+
     <!-- Classpath for building the application: includes all dependency jars -->
     <path id="base.jars">
         <fileset refid="rome.jars" />
@@ -118,6 +121,7 @@
         <!-- Copying dependency jars -->
         <copy todir="${dist.lib.dir}"><fileset refid="rome.jars"/></copy>
         <copy todir="${dist.lib.dir}"><fileset refid="jboss.jaae.jars"/></copy>
+        <copy todir="${dist.lib.dir}"><fileset refid="jboss.portal.identity.jars"/></copy>
         <antcall target="copy-libs-for-servlet" />
     </target>
 

Modified: trunk/blog-core/src/etc/META-INF/jboss-service.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -68,6 +68,8 @@
     <mbean code="org.jboss.blog.service.permissions.acl.AclBlogPermissionsService"
            name="blog:service=Permissions"
            xmbean-dd="org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.xml">
+        <depends optional-attribute-name="UserModule"
+                 proxy-type="attribute">portal:service=Module,type=User</depends>
     </mbean>
     <!-- JAAE service -->
     <mbean code="org.jboss.security.acl.AclKernelFactory"
@@ -80,6 +82,8 @@
     <mbean code="org.jboss.blog.service.store.hibernate.HibernateBlogStoreService"
            name="blog:service=Store"
            xmbean-dd="org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.xml" >
+        <depends optional-attribute-name="PermissionsService"
+                 proxy-type="attribute">blog:service=Permissions</depends>
         <depends>jboss.jca:name=BlogDS,service=DataSourceBinding</depends>
     </mbean>
 </server>
\ No newline at end of file

Modified: trunk/blog-core/src/etc/conf/hibernate/hibernate.cfg.xml
===================================================================
--- trunk/blog-core/src/etc/conf/hibernate/hibernate.cfg.xml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/etc/conf/hibernate/hibernate.cfg.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -36,10 +36,12 @@
         <mapping resource="org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml"/>
         <mapping resource="org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml"/>
         <mapping resource="org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml"/>
+        <mapping resource="org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml"/>
 
         <class-cache class="org.jboss.blog.service.store.hibernate.HBlogModel" usage="read-write" />
         <class-cache class="org.jboss.blog.service.store.hibernate.HBlogModelPost" usage="read-write" />
         <class-cache class="org.jboss.blog.service.store.hibernate.HBlogPost" usage="read-write" />
         <class-cache class="org.jboss.blog.service.store.hibernate.HBlogComment" usage="read-write" />
+        <class-cache class="org.jboss.blog.service.store.hibernate.HPortalBlogAuthor" usage="read-write" />
     </session-factory>
 </hibernate-configuration>
\ No newline at end of file

Added: trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogAuthor.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogAuthor.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogAuthor.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,24 @@
+package org.jboss.blog.model;
+
+import org.jboss.blog.tools.BlogTools;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public abstract class AbstractBlogAuthor implements BlogAuthor {
+    private String fullName;
+
+    public String getFullName() {
+        if (fullName == null) {
+            if (BlogTools.isEmpty(getGivenName())) {
+                fullName = getFamilyName();
+            } else if (BlogTools.isEmpty(getFamilyName())) {
+                fullName = getGivenName();
+            } else {
+                fullName = getGivenName() + " " + getFamilyName();
+            }
+        }
+
+        return fullName; 
+    }
+}

Added: trunk/blog-core/src/java/org/jboss/blog/model/BlogAuthor.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/BlogAuthor.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/BlogAuthor.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,12 @@
+package org.jboss.blog.model;
+
+/**
+ * An interface which represents an author of blog posts or comments.
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public interface BlogAuthor {
+    public String getUserName();
+    public String getGivenName();
+    public String getFamilyName();
+    public String getFullName();
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/model/BlogItem.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/BlogItem.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/BlogItem.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -7,7 +7,7 @@
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
 public interface BlogItem extends Comparable{
-    public String getAuthor();
+    public BlogAuthor getAuthor();
     public String getTitle();
     public String getDescription();
     public Date getCreated();

Added: trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogAuthorImpl.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogAuthorImpl.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogAuthorImpl.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,31 @@
+package org.jboss.blog.model.impl;
+
+import org.jboss.blog.model.AbstractBlogAuthor;
+
+/**
+ * A java beans implementation of the blog author interface.
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class BlogAuthorImpl extends AbstractBlogAuthor {
+    private String userName;
+    private String givenName;
+    private String familyName;
+
+    public BlogAuthorImpl(String userName, String givenName, String familyName) {
+        this.userName = userName;
+        this.givenName = givenName;
+        this.familyName = familyName;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public String getGivenName() {
+        return givenName;
+    }
+
+    public String getFamilyName() {
+        return familyName;
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogCommentImpl.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogCommentImpl.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogCommentImpl.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -1,6 +1,7 @@
 package org.jboss.blog.model.impl;
 
 import org.jboss.blog.model.AbstractBlogComment;
+import org.jboss.blog.model.BlogAuthor;
 
 import java.util.Date;
 
@@ -9,13 +10,13 @@
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
 public class BlogCommentImpl extends AbstractBlogComment {
-    private String author;
+    private BlogAuthor author;
     private String title;
     private String description;
     private Date created;
     private String link;
 
-    public BlogCommentImpl(String author, String title,
+    public BlogCommentImpl(BlogAuthor author, String title,
                            String description, Date created,
                            String link) {
         this.author = author;
@@ -25,7 +26,7 @@
         this.link = link;
     }
 
-    public String getAuthor() {
+    public BlogAuthor getAuthor() {
         return author;
     }
 

Modified: trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -1,6 +1,7 @@
 package org.jboss.blog.model.impl;
 
 import org.jboss.blog.model.AbstractBlogModel;
+import org.jboss.blog.model.BlogAuthor;
 
 import java.util.Date;
 import java.util.Set;
@@ -11,7 +12,7 @@
  * @author Adam Warski (adamw at aster.pl)
  */
 public class BlogModelImpl extends AbstractBlogModel {
-    private String author;
+    private BlogAuthor author;
     private String title;
     private String description;
     private String link;
@@ -19,7 +20,7 @@
     private List posts;
     private Set categories;
 
-    public BlogModelImpl(String author, String title, String description,
+    public BlogModelImpl(BlogAuthor author, String title, String description,
                          String link, Date created, List posts,
                          Set categories) {
         this.author = author;
@@ -31,7 +32,7 @@
         this.categories = categories;
     }
 
-    public String getAuthor() {
+    public BlogAuthor getAuthor() {
         return author;
     }
 

Modified: trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogPostImpl.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogPostImpl.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/BlogPostImpl.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -1,6 +1,7 @@
 package org.jboss.blog.model.impl;
 
 import org.jboss.blog.model.AbstractBlogPost;
+import org.jboss.blog.model.BlogAuthor;
 
 import java.util.Date;
 import java.util.List;
@@ -11,7 +12,7 @@
  * @author Adam Warski (adamw at aster.pl)
  */
 public class BlogPostImpl extends AbstractBlogPost {
-    private String author;
+    private BlogAuthor author;
     private String title;
     private String description;
     private Date created;
@@ -21,7 +22,7 @@
     private String commentLink;
     private List comments;
 
-    public BlogPostImpl(String author, String title, String description,
+    public BlogPostImpl(BlogAuthor author, String title, String description,
                         Date created, String link, String guid,
                         Set categories, String commentLink, List comments) {
         this.author = author;
@@ -35,7 +36,7 @@
         this.comments = comments;
     }
 
-    public String getAuthor() {
+    public BlogAuthor getAuthor() {
         return author;
     }
 

Added: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogAuthor.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogAuthor.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogAuthor.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,10 @@
+package org.jboss.blog.model.impl;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class EmptyBlogAuthor extends BlogAuthorImpl {
+    public EmptyBlogAuthor() {
+        super("", "", "");
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -7,6 +7,6 @@
  */
 public class EmptyBlogComment extends BlogCommentImpl {
     public EmptyBlogComment() {
-        super("", "", "", new Date(), "");
+        super(new EmptyBlogAuthor(), "", "", new Date(), "");
     }
 }

Modified: 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-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -7,6 +7,6 @@
  */
 public class EmptyBlogModel extends BlogModelImpl {
     public EmptyBlogModel() {
-        super("", "", "", "", new Date(), new ArrayList(), new HashSet());
+        super(new EmptyBlogAuthor(), "", "", "", new Date(), new ArrayList(), new HashSet());
     }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -8,6 +8,6 @@
  */
 public class EmptyBlogPost extends BlogPostImpl {
     public EmptyBlogPost() {
-        super("", "", "", new Date(), "", "", new HashSet(), null, null);
+        super(new EmptyBlogAuthor(), "", "", new Date(), "", "", new HashSet(), null, null);
     }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeBlogPost.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeBlogPost.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -2,6 +2,8 @@
 
 import org.jboss.blog.model.impl.BlogPostImpl;
 import org.jboss.blog.model.impl.BlogCommentImpl;
+import org.jboss.blog.model.impl.BlogAuthorImpl;
+import org.jboss.blog.model.BlogAuthor;
 import org.jboss.blog.tools.BlogTools;
 
 import java.util.*;
@@ -19,7 +21,7 @@
     private boolean commentsInitialized;
     private List comments;
 
-    public RomeBlogPost(String author, String title, String description, Date created,
+    public RomeBlogPost(BlogAuthor author, String title, String description, Date created,
                         String link, String guid, Set categories, String commentLink) {
         super(author, title, description, created, link, guid, categories, commentLink, null);
     }
@@ -44,8 +46,9 @@
                     SyndEntry post = (SyndEntry) iter.next();
 
                     String author = post.getAuthor();
+                    author = BlogTools.isEmpty(author) ? defaultAuthor : author;
                     comments.add(new BlogCommentImpl(
-                            BlogTools.isEmpty(author) ? defaultAuthor : author,
+                            new BlogAuthorImpl(author, author, ""),
                             post.getTitle(), post.getDescription().getValue(),
                             post.getPublishedDate(), post.getLink()));
                 }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeParsingBlogModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeParsingBlogModelService.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/rome/RomeParsingBlogModelService.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -2,8 +2,8 @@
 
 import org.jboss.blog.model.BlogModel;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
-import org.jboss.blog.model.impl.BlogPostImpl;
 import org.jboss.blog.model.impl.BlogModelImpl;
+import org.jboss.blog.model.impl.BlogAuthorImpl;
 import org.jboss.blog.BlogName;
 import org.jboss.blog.service.AbstractBlogService;
 import org.jboss.blog.service.model.BlogModelService;
@@ -82,8 +82,9 @@
             }
 
             String author = post.getAuthor();
+            author = BlogTools.isEmpty(author) ? defaultAuthor : author;
             posts.add(new RomeBlogPost(
-                    BlogTools.isEmpty(author) ? defaultAuthor : author,
+                    new BlogAuthorImpl(author, author, ""),
                     post.getTitle(), post.getDescription().getValue(),
                     post.getPublishedDate(), post.getLink(),
                     post.getUri(),
@@ -91,8 +92,8 @@
                     commentsRss));
         }
 
-        return new BlogModelImpl(inFeed.getAuthor(), inFeed.getTitle(),
-                inFeed.getDescription(), inFeed.getLink(),
+        return new BlogModelImpl(new BlogAuthorImpl(inFeed.getAuthor(), inFeed.getAuthor(), ""),
+                inFeed.getTitle(), inFeed.getDescription(), inFeed.getLink(),
                 inFeed.getPublishedDate(), Collections.unmodifiableList(posts),
                 Collections.unmodifiableSet(getStringCategories(inFeed.getCategories())));
     }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -1,6 +1,6 @@
 package org.jboss.blog.service.permissions;
 
-import org.jboss.blog.service.permissions.SecurityContext;
+import org.jboss.blog.model.BlogAuthor;
 
 /**
  * A service which enables to check, if a given user can gain access to given
@@ -14,4 +14,14 @@
      * @return True iff the given user can access the given context.
      */
     public boolean hasAccess(SecurityContext context);
+
+    /**
+     * Gets a blog author represented by the given data. If it contains
+     * request information, the currently logged-in user will be returned.
+     * @param data Request data from which to read the blog author
+     * information.
+     * @return A {@link BlogAuthor} representation of the user represented
+     * by the given data, or null, if no such user exists.
+     */
+    public BlogAuthor getBlogAuthor(Object data);
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -7,7 +7,14 @@
 
 import org.jboss.blog.service.permissions.BlogPermissionsService;
 import org.jboss.blog.service.permissions.SecurityContext;
+import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
+import org.jboss.blog.model.BlogAuthor;
+import org.jboss.blog.model.impl.EmptyBlogAuthor;
+import org.jboss.portal.identity.UserModule;
+import org.jboss.portal.identity.IdentityException;
 
+import javax.portlet.PortletRequest;
+
 /**
  * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -16,16 +23,34 @@
  * @jboss.xmbean
  */
 public class AclBlogPermissionsService implements BlogPermissionsService {
+    private UserModule um;
+
     /**
+     * @jmx.managed-attribute
+     * @return User module from portal.
+     */
+    public UserModule getUserModule() {
+        return um;
+    }
+
+    /**
+     * @param um New user module to set.
+     * @jmx.managed-attribute
+     */
+    public void setUserModule(UserModule um) {
+        this.um = um;
+    }
+
+    /**
      * @jmx.managed-operation
      * @jmx.managed-parameter type="org.jboss.blog.service.permissions.SecurityContext"
      */
     public boolean hasAccess(SecurityContext context)
     {
-        boolean hasAccess = true;     
+        boolean hasAccess = true;
         try
         {
-	        //setup the engine identity based on identity provided in the security context
+            //setup the engine identity based on identity provided in the security context
             if(context.getIdentity()!=null)
             {
                 User user = User.getUser(((org.jboss.portal.identity.User)context.getIdentity()).getUserName());
@@ -37,24 +62,24 @@
                 //set an anonymous user
                 UserThreadLocal.setUser(new User());
             }
-	        
-	        if(context instanceof JSFActionContext)
-	        {
-	            JSFActionContext securityContext = (JSFActionContext)context;
-	            
-		        //send this to the engine for access control decision
-		        AclProcessor.getInstance().processJSFActionAccess(
-		        securityContext.getFacesContext(),
-		        securityContext.getManagedBean(),
-		        securityContext.getBusinessAction());
-	        }
-	        else if(context instanceof JSFUIContext)
-	        {
-	            JSFUIContext securityContext = (JSFUIContext)context;
-	            
-		        //send this to the engine for access control decision
-		        AclProcessor.getInstance().processFragmentAccess(securityContext.getFragment(),securityContext.getContextData());		        
-	        }
+
+            if(context instanceof JSFActionContext)
+            {
+                JSFActionContext securityContext = (JSFActionContext)context;
+
+                //send this to the engine for access control decision
+                AclProcessor.getInstance().processJSFActionAccess(
+                        securityContext.getFacesContext(),
+                        securityContext.getManagedBean(),
+                        securityContext.getBusinessAction());
+            }
+            else if(context instanceof JSFUIContext)
+            {
+                JSFUIContext securityContext = (JSFUIContext)context;
+
+                //send this to the engine for access control decision
+                AclProcessor.getInstance().processFragmentAccess(securityContext.getFragment(),securityContext.getContextData());
+            }
         }
         catch(AccessDenied ade)
         {
@@ -64,9 +89,28 @@
         {
             throw new RuntimeException(e);
         }
-        
+
         return hasAccess;
     }
-    
-    
+
+    /**
+     * @jmx.managed-operation
+     * @jmx.managed-parameter type="java.lang.Object"
+     */
+    public BlogAuthor getBlogAuthor(Object data) {
+        try {
+            if (data instanceof PortletRequest) {
+                return new PortalUserBlogAuthor(um.findUserByUserName(
+                        ((PortletRequest) data).getRemoteUser()));
+            }
+
+            if (data instanceof Long) {
+                return new PortalUserBlogAuthor(um.findUserById(data));
+            }
+        } catch (IdentityException e) {
+            return new EmptyBlogAuthor();
+        }
+
+        throw new IllegalArgumentException("Invalid data from which blog author was to be read.");
+    }
 }

Added: trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,31 @@
+package org.jboss.blog.service.permissions.model;
+
+import org.jboss.blog.model.AbstractBlogAuthor;
+import org.jboss.portal.identity.User;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class PortalUserBlogAuthor extends AbstractBlogAuthor {
+    private User user;
+
+    public PortalUserBlogAuthor(User user) {
+        this.user = user;
+    }
+
+    public String getUserName() {
+        return user.getUserName();
+    }
+
+    public String getGivenName() {
+        return user.getGivenName();
+    }
+
+    public String getFamilyName() {
+        return user.getFamilyName();
+    }
+
+    public User getUser() {
+        return user;
+    }
+}

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-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -2,6 +2,7 @@
 
 import org.jboss.blog.BlogName;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
+import org.jboss.blog.model.BlogAuthor;
 import org.jboss.blog.service.store.model.*;
 
 import java.util.List;
@@ -124,4 +125,14 @@
      * blog post and saved.
      */
     public ModifiableBlogComment newBlogComment();
+
+    /**
+     * Creates a new blog author. The author is created basing on
+     * request data.
+     * @param request Object from which request data can be read.
+     * @return The current author, corresponding to the logged-in
+     * user (as determined with the permissions service), or null,
+     * if no user is logged in.
+     */
+    public BlogAuthor newBlogAuthor(Object request);
 }

Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/EmptyPortalUser.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/EmptyPortalUser.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/EmptyPortalUser.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,116 @@
+package org.jboss.blog.service.store.hibernate;
+
+import org.jboss.portal.identity.User;
+import org.jboss.portal.identity.PropertyMap;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class EmptyPortalUser implements User {
+    public Object getId() {
+        return null;
+    }
+
+    public boolean getEnabled() {
+        return false;
+    }
+
+    public void setEnabled(boolean b) {
+
+    }
+
+    public void updatePassword(String string) {
+
+    }
+
+    public boolean validatePassword(String string) {
+        return false;
+    }
+
+    public PropertyMap getProperties() {
+        return null;
+    }
+
+    public String getUserName() {
+        return null;
+    }
+
+    public String getGivenName() {
+        return null;
+    }
+
+    public void setGivenName(String string) {
+
+    }
+
+    public String getFamilyName() {
+        return null;
+    }
+
+    public void setFamilyName(String string) {
+
+    }
+
+    public String getRealEmail() {
+        return null;
+    }
+
+    public void setRealEmail(String string) {
+
+    }
+
+    public String getFakeEmail() {
+        return null;
+    }
+
+    public void setFakeEmail(String string) {
+
+    }
+
+    public Date getRegistrationDate() {
+        return null;
+    }
+
+    public boolean getViewRealEmail() {
+        return false;
+    }
+
+    public void setViewRealEmail(boolean b) {
+
+    }
+
+    public Locale getPreferredLocale() {
+        return null;
+    }
+
+    public void setPreferredLocale(Locale locale) {
+
+    }
+
+    public String getSignature() {
+        return null;
+    }
+
+    public void setSignature(String string) {
+
+    }
+
+    public Date getLastVisitDate() {
+        return null;
+    }
+
+    public void setLastVisitDate(Date date) {
+
+    }
+
+    public String getTheme() {
+        return null;
+    }
+
+    public void setTheme(String string) {
+
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -11,9 +11,9 @@
         </id>
 
         <many-to-one name="post" column="POST_ID" not-null="true" class="HBlogPost" />
-        
-        <property name="author" column="AUTHOR" not-null="true" />
 
+        <many-to-one name="author" column="AUTHOR" not-null="true" class="HPortalBlogAuthor" />
+
         <property name="created" column="CREATED" not-null="true" type="timestamp"
                   update="false" />
 

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -1,6 +1,7 @@
 package org.jboss.blog.service.store.hibernate;
 
 import org.jboss.blog.model.AbstractBlogComment;
+import org.jboss.blog.model.BlogAuthor;
 import org.jboss.blog.service.store.model.ModifiableBlogComment;
 
 import java.util.Date;
@@ -11,7 +12,7 @@
  */
 public class HBlogComment extends AbstractBlogComment implements ModifiableBlogComment {
     private Integer id;
-    private String author;
+    private BlogAuthor author;
     private String title;
     private String description;
     private Date created;
@@ -34,7 +35,8 @@
         this.id = id;
     }
 
-    public String getAuthor() {
+    public BlogAuthor getAuthor() {
+        getStoreService().castAndAssertBlogAuthor(author).setStoreService(getStoreService());
         return author;
     }
 
@@ -46,7 +48,7 @@
         this.post = post;
     }
 
-    public void setAuthor(String author) {
+    public void setAuthor(BlogAuthor author) {
         this.author = author;
     }
 
@@ -81,4 +83,8 @@
     public void setLink(String link) {
         this.link = link;
     }
+
+    public HibernateBlogStoreService getStoreService() {
+        return getPost().getStoreService();
+    }
 }

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-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -17,7 +17,7 @@
             </component>
         </natural-id>
 
-        <property name="author" column="AUTHOR" not-null="true" />
+        <many-to-one name="author" column="AUTHOR" not-null="true" class="HPortalBlogAuthor" />
 
         <property name="created" column="CREATED" not-null="true" type="timestamp"
                   update="false" />

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-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -6,6 +6,7 @@
 import org.jboss.blog.model.AbstractBlogModel;
 import org.jboss.blog.model.BlogPost;
 import org.jboss.blog.model.BlogPostDoesNotExistException;
+import org.jboss.blog.model.BlogAuthor;
 import org.jboss.blog.BlogName;
 import org.jboss.blog.tools.BlogTools;
 
@@ -17,7 +18,7 @@
 public class HBlogModel extends AbstractBlogModel implements ModifiableBlogModel {
     private Integer id;
     private BlogName blogName;
-    private String author;
+    private BlogAuthor author;
     private String title;
     private String description;
     private String link;
@@ -55,11 +56,12 @@
         }
     }
 
-    public String getAuthor() {
+    public BlogAuthor getAuthor() {
+        getStoreService().castAndAssertBlogAuthor(author).setStoreService(getStoreService());
         return author;
     }
 
-    public void setAuthor(String author) {
+    public void setAuthor(BlogAuthor author) {
         this.author = author;
     }
 

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-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -10,7 +10,7 @@
             <generator class="native" />
         </id>
 
-        <property name="author" column="AUTHOR" not-null="true" />
+        <many-to-one name="author" column="AUTHOR" not-null="true" class="HPortalBlogAuthor" />
 
         <property name="created" column="CREATED" not-null="true" type="timestamp"
                   update="false" />

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -5,6 +5,7 @@
 import org.jboss.blog.model.AbstractBlogPost;
 import org.jboss.blog.model.BlogComment;
 import org.jboss.blog.model.BlogCommentDoesNotExistException;
+import org.jboss.blog.model.BlogAuthor;
 import org.jboss.blog.tools.BlogTools;
 
 import java.util.*;
@@ -15,7 +16,7 @@
  */
 public class HBlogPost extends AbstractBlogPost implements ModifiableBlogPost {
     private Integer id;
-    private String author;
+    private BlogAuthor author;
     private String title;
     private String description;
     private String link;
@@ -42,11 +43,12 @@
         this.id = id;
     }
 
-    public String getAuthor() {
+    public BlogAuthor getAuthor() {
+        getStoreService().castAndAssertBlogAuthor(author).setStoreService(getStoreService());
         return author;
     }
 
-    public void setAuthor(String author) {
+    public void setAuthor(BlogAuthor author) {
         this.author = author;
     }
 

Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,15 @@
+<?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="HPortalBlogAuthor"
+           table="BLOG_PORTAL_AUTHORS">
+        <id name="id" column="AUTHOR_ID">
+            <generator class="native" />
+        </id>
+
+        <property name="jbp_id" column="JBP_ID" not-null="true" />
+    </class>
+</hibernate-mapping>
\ No newline at end of file

Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -0,0 +1,73 @@
+package org.jboss.blog.service.store.hibernate;
+
+import org.jboss.blog.model.AbstractBlogAuthor;
+import org.jboss.blog.model.BlogAuthor;
+import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
+import org.jboss.portal.identity.User;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class HPortalBlogAuthor extends AbstractBlogAuthor {
+    private Integer id;
+    private Long jbp_id;
+
+    private boolean initDone;
+    private User user;
+    private HibernateBlogStoreService storeService;
+
+    private void initUser() {
+        BlogAuthor author = getStoreService().getPermissionsService().getBlogAuthor(jbp_id);
+
+        if (!(author instanceof PortalUserBlogAuthor)) {
+            user = new EmptyPortalUser();
+        } else {
+            user = ((PortalUserBlogAuthor) author).getUser();
+        }
+
+        initDone = true;
+    }
+
+    public String getUserName() {
+        if (!initDone) { initUser(); }
+        return user.getUserName();
+    }
+
+    public String getGivenName() {
+        if (!initDone) { initUser(); }
+        return user.getGivenName();
+    }
+
+    public String getFamilyName() {
+        if (!initDone) { initUser(); }
+        return user.getFamilyName();
+    }
+
+    //
+
+    public Long getJbp_id() {
+        return jbp_id;
+    }
+
+    public void setJbp_id(Long jbp_id) {
+        this.jbp_id = jbp_id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    //
+
+    public HibernateBlogStoreService getStoreService() {
+        return storeService;
+    }
+
+    public void setStoreService(HibernateBlogStoreService storeService) {
+        this.storeService = storeService;
+    }
+}

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-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -6,9 +6,12 @@
 import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
 import org.jboss.blog.service.store.model.ModifiableBlogComment;
 import org.jboss.blog.service.AbstractBlogService;
+import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
+import org.jboss.blog.service.permissions.BlogPermissionsService;
 import org.jboss.blog.BlogName;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.model.BlogCommentDoesNotExistException;
+import org.jboss.blog.model.BlogAuthor;
 import org.jboss.blog.tools.BlogTools;
 import org.hibernate.SessionFactory;
 import org.hibernate.cfg.Configuration;
@@ -48,6 +51,15 @@
         BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
     }
 
+    HPortalBlogAuthor castAndAssertBlogAuthor(BlogAuthor author) {
+        BlogTools.assertNotNull(author, "Blog author cannot be null.");
+        if (!(author instanceof HPortalBlogAuthor)) {
+            throw new IllegalArgumentException("Author must be obtained from this store service.");
+        }
+
+        return (HPortalBlogAuthor) author;
+    }
+
     HBlogModel castAndAssertBlogModel(ModifiableBlogModel model) {
         BlogTools.assertNotNull(model, "Blog model cannot be null.");
         if (!(model instanceof HBlogModel)) {
@@ -175,7 +187,7 @@
         post.setStoreService(this);
 
         return post;
-    }    
+    }
 
     /**
      * @jmx.managed-operation
@@ -186,6 +198,36 @@
 
     /**
      * @jmx.managed-operation
+     * @jmx.managed-parameter type="java.lang.Object"
+     */
+    public BlogAuthor newBlogAuthor(Object request) {
+        BlogAuthor author = permissionsService.getBlogAuthor(request);
+
+        if (!(author instanceof PortalUserBlogAuthor)) {
+            throw new IllegalArgumentException("Invalid author!");
+        }
+
+        Object jbp_id = ((PortalUserBlogAuthor) author).getUser().getId();
+        HPortalBlogAuthor hpba = (HPortalBlogAuthor) sf.getCurrentSession()
+                .createQuery("from HPortalBlogAuthor as author where author.jbp_id = :id")
+                .setParameter("id", jbp_id)
+                .uniqueResult();
+
+        if (hpba != null) {
+            // Blog author already exists.
+            return hpba;
+        }
+
+        // Creating new blog author.
+        hpba = new HPortalBlogAuthor();
+        hpba.setJbp_id((Long) jbp_id);
+        sf.getCurrentSession().save(hpba);
+
+        return hpba;
+    }
+
+    /**
+     * @jmx.managed-operation
      * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
      */
     public void saveNewBlogModel(ModifiableBlogModel model) throws BlogModelAlreadyExistsException {
@@ -272,9 +314,9 @@
 
         // TODO Thread-unsafe checking
         if ((hpost.getId() == null) ||
-            ((Long) sf.getCurrentSession().createQuery("select count(*) from " +
-                    "HBlogModelPost as bmp where bmp.model = :model and bmp.post = :post")
-                    .setEntity("model", hmodel).setEntity("post", hpost).uniqueResult()).longValue() == 0) {
+                ((Long) sf.getCurrentSession().createQuery("select count(*) from " +
+                        "HBlogModelPost as bmp where bmp.model = :model and bmp.post = :post")
+                        .setEntity("model", hmodel).setEntity("post", hpost).uniqueResult()).longValue() == 0) {
 
             HBlogModelPost hbmp = new HBlogModelPost(hmodel, hpost);
             hmodel.getModelPosts().add(hbmp);
@@ -294,7 +336,7 @@
 
         HBlogModelPost hbmp = (HBlogModelPost) sf.getCurrentSession().createQuery(
                 "from HBlogModelPost as bmp where bmp.model = :model " +
-                "and bmp.post = :post").setEntity("model", hmodel)
+                        "and bmp.post = :post").setEntity("model", hmodel)
                 .setEntity("post", hpost).uniqueResult();
 
         if (hbmp == null) {
@@ -379,4 +421,24 @@
 
         return ret;
     }
+
+    //
+
+    private BlogPermissionsService permissionsService;
+
+    /**
+     * @jmx.managed-attribute
+     * @return Current permissions service.
+     */
+    public BlogPermissionsService getPermissionsService() {
+        return permissionsService;
+    }
+
+    /**
+     * @param permissionsService New permissions service to set.
+     * @jmx.managed-attribute
+     */
+    public void setPermissionsService(BlogPermissionsService permissionsService) {
+        this.permissionsService = permissionsService;
+    }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogComment.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogComment.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogComment.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -10,7 +10,7 @@
 public interface ModifiableBlogComment extends ModifiableBlogItem, BlogComment {
     /**
      * Gets a unique id identifing this object. The comment returned
-     * by the {@link ModifiableBlogPost#getModifiableBlogComment(Object)}
+     * by the {@link ModifiableBlogPost#getModifiableBlogComment(Serializable)}
      * should be representing the same comment. Shouldn't be called on
      * new comment, which aren't yet added to a blog post (or are added to
      * a blog post which is itself not yet in any model).

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogItem.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogItem.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogItem.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -1,14 +1,15 @@
 package org.jboss.blog.service.store.model;
 
 import org.jboss.blog.model.BlogItem;
+import org.jboss.blog.model.BlogAuthor;
 
 import java.util.Date;
 
 /**
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
-public interface ModifiableBlogItem extends BlogItem { 
-    public void setAuthor(String author);
+public interface ModifiableBlogItem extends BlogItem {
+    public void setAuthor(BlogAuthor author);
     public void setTitle(String title);
     public void setDescription(String description);
     public void setLink(String link);

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -21,7 +21,6 @@
     private boolean initDone;
 
     private String title;
-    private String author;
     private String description;
     private String link;
 
@@ -38,15 +37,6 @@
         this.title = title;
     }
 
-    public String getAuthor() {
-        if (!initDone) { init(); }
-        return author;
-    }
-
-    public void setAuthor(String author) {
-        this.author = author;
-    }
-
     public String getDescription() {
         if (!initDone) { init(); }
         return description;
@@ -93,7 +83,6 @@
             model = new EmptyBlogModel();
         }
 
-        author = model.getAuthor();
         title = model.getTitle();
         description = model.getDescription();
         link = model.getLink();
@@ -110,9 +99,6 @@
 
             boolean changed = false;
 
-            if (!BlogTools.objectsEqual(author, mbm.getAuthor())) {
-                changed = true; mbm.setAuthor(author); }
-
             if (!BlogTools.objectsEqual(title, mbm.getTitle())) {
                 changed = true; mbm.setTitle(title); }
 
@@ -139,7 +125,8 @@
             ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().newBlogModel(
                     getState().getSelectedBlogName());
 
-            mbm.setAuthor(author);
+            mbm.setAuthor(BlogTools.getBlogService().getStoreService().
+                    newBlogAuthor(getBlogView().getRequest()));
             mbm.setTitle(title);
             mbm.setLink(link);
             mbm.setDescription(description);

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -64,7 +64,7 @@
     // A list of posts to show in the current view.
     private List posts;
 
-    private Object getRequest() {
+    Object getRequest() {
         return FacesContext.getCurrentInstance().getExternalContext().getRequest();
     }
 

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -18,21 +18,12 @@
     private UIData commentsData;
 
     private String title;
-    private String author;
     private String description;
 
     public CommentEdit() {
 
     }
 
-    public String getAuthor() {
-        return author;
-    }
-
-    public void setAuthor(String author) {
-        this.author = author;
-    }
-
     public String getDescription() {
         return description;
     }
@@ -95,7 +86,8 @@
 
             comment = BlogTools.getBlogService().getStoreService().newBlogComment();
 
-            comment.setAuthor(author);
+            comment.setAuthor(BlogTools.getBlogService().getStoreService().
+                    newBlogAuthor(getBlogView().getRequest()));
 
             comment.setTitle(title);
             comment.setDescription(description);

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java	2006-12-16 00:16:16 UTC (rev 38)
@@ -21,7 +21,6 @@
     private boolean initDone;
 
     private String title;
-    private String author;
     private String description;
     private String link;
     private String guid;
@@ -42,15 +41,6 @@
         this.title = title;
     }
 
-    public String getAuthor() {
-        if (!initDone) { init(); }
-        return author;
-    }
-
-    public void setAuthor(String author) {
-        this.author = author;
-    }
-
     public String getDescription() {
         if (!initDone) { init(); }
         return description;
@@ -132,7 +122,6 @@
         if (blogView.getSelectedPostTitleAsId() != null) {
             BlogPost post = blogView.getSelectedPost();
 
-            author = post.getAuthor();
             title = post.getTitle();
             description = post.getDescription();
             link = post.getLink();
@@ -185,7 +174,8 @@
 
             post = BlogTools.getBlogService().getStoreService().newBlogPost();
 
-            post.setAuthor(author);
+            post.setAuthor(BlogTools.getBlogService().getStoreService().
+                    newBlogAuthor(getBlogView().getRequest()));
 
             post.setTitle(title);
             post.setLink(link);
@@ -232,9 +222,6 @@
             boolean changed = false;
 
             // Changing post properties.
-            if (!BlogTools.objectsEqual(author, post.getAuthor())) {
-                changed = true; post.setAuthor(author); }
-
             if (!BlogTools.objectsEqual(title, post.getTitle())) {
                 changed = true; post.setTitle(title); }
 

Modified: trunk/blog-core/src/web/views/blog_mod.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_mod.xhtml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/web/views/blog_mod.xhtml	2006-12-16 00:16:16 UTC (rev 38)
@@ -19,12 +19,6 @@
                                 maxlength="255" size="32" />
                     </h:panelGroup>
 
-                    <h:panelGroup>Author: (*)</h:panelGroup>
-                    <h:panelGroup>
-                        <h:inputText value="#{blogEdit.author}" required="true"
-                                     maxlength="255" size="32" />
-                    </h:panelGroup>
-
                     <h:panelGroup>Link: (*)</h:panelGroup>
                     <h:panelGroup>
                         <h:inputText value="#{blogEdit.link}" required="true"

Modified: trunk/blog-core/src/web/views/blog_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_view.xhtml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/web/views/blog_view.xhtml	2006-12-16 00:16:16 UTC (rev 38)
@@ -46,7 +46,7 @@
                               rendered="#{!blogView.postsExpandable}" />
                 </span>
                 <span class="post-data">
-                    created on #{post.createdTime}, #{post.createdDate} by #{post.author}.
+                    created on #{post.createdTime}, #{post.createdDate} by #{post.author.fullName}.
                 </span>
 
                 <h:panelGroup rendered="#{!blogView.viewPostsOnSeparatePage and

Modified: trunk/blog-core/src/web/views/post_mod.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_mod.xhtml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/web/views/post_mod.xhtml	2006-12-16 00:16:16 UTC (rev 38)
@@ -19,12 +19,6 @@
                                      maxlength="255" size="32" />
                     </h:panelGroup>
 
-                    <h:panelGroup>Author: (*)</h:panelGroup>
-                    <h:panelGroup>
-                        <h:inputText value="#{postEdit.author}" required="true"
-                                     maxlength="255" size="32" />
-                    </h:panelGroup>
-
                     <h:panelGroup>Link: (*)</h:panelGroup>
                     <h:panelGroup>
                         <h:inputText value="#{postEdit.link}" required="true"

Modified: trunk/blog-core/src/web/views/post_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_view.xhtml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/web/views/post_view.xhtml	2006-12-16 00:16:16 UTC (rev 38)
@@ -27,7 +27,7 @@
         <span class="post-data">
             created on #{blogView.selectedPost.createdTime},
             #{blogView.selectedPost.createdDate}
-            by #{blogView.selectedPost.author}.
+            by #{blogView.selectedPost.author.fullName}.
         </span>
         </p>
 
@@ -50,7 +50,7 @@
                     <span class="post-title">#{comment.title}</span>
                     <span class="post-data">
                         created on #{comment.createdTime}, #{comment.createdDate}
-                        by #{comment.author}.
+                        by #{comment.author.fullName}.
                     </span>
 
                     <p class="post-description">
@@ -88,12 +88,6 @@
                                      maxlength="255" size="32" />
                     </h:panelGroup>
 
-                    <h:panelGroup>Author: (*)</h:panelGroup>
-                    <h:panelGroup>
-                        <h:inputText value="#{commentEdit.author}" required="true"
-                                     maxlength="255" size="32" />
-                    </h:panelGroup>
-
                     <h:panelGroup>Description: (*)</h:panelGroup>
                     <h:panelGroup>
                         <h:inputTextarea value="#{commentEdit.description}"

Modified: trunk/blog-core/src/web/views/view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/view.xhtml	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/blog-core/src/web/views/view.xhtml	2006-12-16 00:16:16 UTC (rev 38)
@@ -8,12 +8,12 @@
         <ui:param name="requiredPermission" value="acl://viewCategory" />
         <ui:define name="content">
             <h2>
-                #{blogView.blogModel.title} created by
                 <h:panelGroup rendered="#{not empty blogView.blogName.category}">
-                #{blogView.blogModel.author}, category: #{blogView.blogName.category}
+                #{blogView.blogModel.title}, category: #{blogView.blogName.category}
                 </h:panelGroup>
+
                 <h:panelGroup rendered="#{empty blogView.blogName.category}">
-                #{blogView.blogModel.author}
+                #{blogView.blogModel.title}
                 </h:panelGroup>
             </h2>
 

Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws	2006-12-05 23:49:59 UTC (rev 37)
+++ trunk/jbossblog.iws	2006-12-16 00:16:16 UTC (rev 38)
@@ -17,20 +17,48 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogViewState.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogViewState.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java" 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/service/store/BlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.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/model/rome/RomeParsingBlogModelService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/rome/RomeParsingBlogModelService.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/AbstractBlogAuthor.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/model" />
+      <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="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogAuthor.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogCommentImpl.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogCommentImpl.java" />
+      <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/views/blog_mod.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml" />
+      <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/HPortalBlogAuthor.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml" />
+      <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/java/org/jboss/blog/service/permissions/BlogPermissionsService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogAuthorImpl.java" />
+      <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/etc/conf/hibernate/hibernate.cfg.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/conf/hibernate/hibernate.cfg.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/EmptyPortalUser.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogItem.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogItem.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogItem.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogItem.java" />
+      <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/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogComment.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogComment.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/comment_del.xhtml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/build.xml" afterPath="$PROJECT_DIR$/blog-core/build.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" />
-      <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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java" />
-      <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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/rome/RomeBlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/rome/RomeBlogPost.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogAuthor.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogPostImpl.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogPostImpl.java" />
+      <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="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java" />
     </list>
   </component>
   <component name="ChangeListSynchronizer" />
@@ -154,106 +182,7 @@
     </subPane>
   </component>
   <component name="FileEditorManager">
-    <leaf>
-      <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="17" column="64" selection-start="818" selection-end="818" vertical-scroll-proportion="0.44117647">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="AclBlogPermissionsService.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="31" column="40" selection-start="1141" selection-end="1141" vertical-scroll-proportion="0.4074703">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="JBossPortalUtil.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="54" column="23" selection-start="1481" selection-end="1481" vertical-scroll-proportion="0.34271523">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="comment_del.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/comment_del.xhtml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="47" selection-start="572" selection-end="572" vertical-scroll-proportion="0.3633218">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="CommentEdit.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="107" column="53" selection-start="2908" selection-end="2908" vertical-scroll-proportion="0.5925297">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
-            </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">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="44" column="40" selection-start="1646" selection-end="1646" vertical-scroll-proportion="0.7385399">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="acl-mapping.xml" pinned="false" current="true" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="88" column="47" selection-start="3790" selection-end="3790" vertical-scroll-proportion="0.61799663">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="PostEdit.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="228" column="37" selection-start="6439" selection-end="6439" vertical-scroll-proportion="0.23089983">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <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="237" column="29" selection-start="6827" selection-end="6827" vertical-scroll-proportion="0.6258278">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="HibernateBlogStoreService.java" pinned="false" current="false" current-in-tab="false">
-        <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="370" column="17" selection-start="13065" selection-end="13065" vertical-scroll-proportion="0.9524618">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-    </leaf>
+    <leaf />
   </component>
   <component name="FindManager">
     <FindUsagesManager>
@@ -349,6 +278,10 @@
           <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="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
+        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -360,6 +293,46 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
+          <option name="myItemId" value="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/lib/jboss-portal/portal-identity-lib.jar" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/lib/jboss-portal/portal-identity-lib.jar!/org/jboss/portal/identity" />
+          <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="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/lib/jboss-portal/portal-identity-lib.jar" />
+          <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>
@@ -580,6 +553,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>
@@ -782,6 +789,48 @@
           <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/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/permissions" />
+          <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/acl" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -820,6 +869,86 @@
           <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/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/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/service/model/rome" />
+          <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/configuration" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -987,7 +1116,7 @@
       <showLibraryContents />
       <hideEmptyPackages />
       <abbreviatePackageNames />
-      <showStructure ProjectPane="false" PackagesPane="false" Scope="false" Favorites="false" />
+      <showStructure Favorites="false" ProjectPane="false" Scope="false" PackagesPane="false" />
       <autoscrollToSource />
       <autoscrollFromSource />
       <sortByType />
@@ -1015,27 +1144,15 @@
       <recent name="org.jboss.blog.service.configuration" />
     </key>
     <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+      <recent name="org.jboss.blog.service.store.hibernate" />
+      <recent name="org.jboss.blog.service.permissions.acl" />
+      <recent name="org.jboss.blog.service.permissions.model" />
       <recent name="org.jboss.blog.service.model.rome" />
       <recent name="org.jboss.blog.service.model.caching" />
-      <recent name="org.jboss.blog.service.store.hibernate" />
-      <recent name="org.jboss.blog.service.store.hibernate.filter" />
-      <recent name="org.jboss.blog.model.impl" />
     </key>
   </component>
   <component name="RestoreUpdateTree" />
   <component name="RunManager">
-    <configuration default="true" type="Applet" factoryName="Applet">
-      <module name="" />
-      <option name="MAIN_CLASS_NAME" />
-      <option name="HTML_FILE_NAME" />
-      <option name="HTML_USED" value="false" />
-      <option name="WIDTH" value="400" />
-      <option name="HEIGHT" value="300" />
-      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
-      <option name="VM_PARAMETERS" />
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
-      <option name="ALTERNATIVE_JRE_PATH" />
-    </configuration>
     <configuration default="true" type="Remote" factoryName="Remote">
       <option name="USE_SOCKET_TRANSPORT" value="true" />
       <option name="SERVER_MODE" value="false" />
@@ -1043,6 +1160,16 @@
       <option name="HOST" value="localhost" />
       <option name="PORT" value="5005" />
     </configuration>
+    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <module name="" />
+    </configuration>
     <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
       <module name="" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -1062,15 +1189,17 @@
         <option name="Make" value="true" />
       </method>
     </configuration>
-    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <module name="" />
       <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
       <option name="VM_PARAMETERS" />
-      <option name="PROGRAM_PARAMETERS" />
-      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" />
-      <option name="ENABLE_SWING_INSPECTOR" value="false" />
-      <module name="" />
     </configuration>
   </component>
   <component name="ScopeViewComponent">
@@ -1149,22 +1278,22 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="25" width="1690" height="1004" extended-state="6" />
+    <frame x="0" y="25" width="1680" height="1000" extended-state="0" />
     <editor active="true" />
     <layout>
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
       <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="13" />
       <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" order="7" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26118946" order="0" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32839224" order="1" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26095003" order="0" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32760596" order="1" />
       <window_info id="Structure" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24367674" order="7" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22690992" order="9" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22680412" order="9" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39977092" order="6" />
       <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="4" />
       <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="10" />
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="5" />
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24524832" order="1" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24491055" order="1" />
       <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" order="11" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24984577" order="2" />
@@ -1268,121 +1397,113 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogComment.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="9" column="41" selection-start="256" selection-end="256" vertical-scroll-proportion="0.16304348">
+        <state line="102" column="25" selection-start="4486" selection-end="4486" vertical-scroll-proportion="0.4076539">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/id_edit.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="47" column="70" selection-start="2207" selection-end="2207" vertical-scroll-proportion="0.97231835">
+        <state line="66" column="63" selection-start="3550" selection-end="3550" vertical-scroll-proportion="0.64403975">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <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="237" column="29" selection-start="6827" selection-end="6827" vertical-scroll-proportion="0.6258278">
+        <state line="32" column="4" selection-start="1007" selection-end="1007" vertical-scroll-proportion="0.024232633">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java">
+    <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="228" column="37" selection-start="6439" selection-end="6439" vertical-scroll-proportion="0.23089983">
+        <state line="50" column="26" selection-start="1331" selection-end="1331" vertical-scroll-proportion="0.024232633">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/comment_del.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="47" selection-start="572" selection-end="572" vertical-scroll-proportion="0.3633218">
+        <state line="97" column="49" selection-start="2785" selection-end="2785" vertical-scroll-proportion="0.5723473">
           <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/model/rome/RomeBlogPost.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="15" column="43" selection-start="834" selection-end="834" vertical-scroll-proportion="0.38726333">
+        <state line="23" column="11" selection-start="690" selection-end="690" vertical-scroll-proportion="0.25902668">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/rome/RomeParsingBlogModelService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+        <state line="66" column="43" selection-start="2156" selection-end="2156" vertical-scroll-proportion="0.43295637">
           <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/etc/conf/hibernate/hibernate.cfg.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="106" column="48" selection-start="3564" selection-end="3564" vertical-scroll-proportion="0.6425041">
+        <state line="39" column="81" selection-start="1940" selection-end="1940" vertical-scroll-proportion="0.67715234">
           <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/HibernateBlogStoreService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="17" column="64" selection-start="818" selection-end="818" vertical-scroll-proportion="0.44117647">
+        <state line="217" column="23" selection-start="7222" selection-end="7222" vertical-scroll-proportion="0.571192">
           <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/JBossPortalUtil.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="54" column="23" selection-start="1481" selection-end="1481" vertical-scroll-proportion="0.34271523">
+        <state line="12" column="40" selection-start="464" selection-end="464" vertical-scroll-proportion="0.2907916">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="370" column="17" selection-start="13065" selection-end="13065" vertical-scroll-proportion="0.9524618">
+        <state line="18" column="44" selection-start="559" selection-end="559" vertical-scroll-proportion="0.3634895">
           <folding />
         </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/model/AbstractBlogAuthor.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="31" column="40" selection-start="1141" selection-end="1141" vertical-scroll-proportion="0.4074703">
+        <state line="7" column="22" selection-start="160" selection-end="160" vertical-scroll-proportion="0.16483517">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="107" column="53" selection-start="2908" selection-end="2908" vertical-scroll-proportion="0.5925297">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="102" column="36" selection-start="3285" selection-end="3285" vertical-scroll-proportion="0.81832796">
+          <folding />
         </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/web/views/view.xhtml">
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
       <provider selected="true" editor-type-id="text-editor">
-        <state line="44" column="40" selection-start="1646" selection-end="1646" vertical-scroll-proportion="0.7385399">
+        <state line="18" column="12" selection-start="830" selection-end="830" vertical-scroll-proportion="0.45302013">
           <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/web/views/post_view.xhtml">
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
       <provider selected="true" editor-type-id="text-editor">
-        <state line="88" column="47" selection-start="3790" selection-end="3790" vertical-scroll-proportion="0.61799663">
+        <state line="23" column="58" selection-start="941" selection-end="941" vertical-scroll-proportion="0.5646481">
           <folding />
         </state>
       </provider>




More information about the jboss-cvs-commits mailing list