[jboss-cvs] JBossBlog SVN: r66 - in trunk: blog-common/src/java/org/jboss/blog and 17 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 14 11:34:45 EDT 2007


Author: adamw
Date: 2007-03-14 11:34:45 -0400 (Wed, 14 Mar 2007)
New Revision: 66

Added:
   trunk/blog-common/src/java/org/jboss/blog/BlogName.java
   trunk/blog-common/src/java/org/jboss/blog/service/
   trunk/blog-common/src/java/org/jboss/blog/service/AbstractBlogService.java
   trunk/blog-common/src/java/org/jboss/blog/service/BlogService.java
   trunk/blog-common/src/java/org/jboss/blog/service/configuration/
   trunk/blog-common/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java
   trunk/blog-common/src/java/org/jboss/blog/service/model/
   trunk/blog-common/src/java/org/jboss/blog/service/model/BlogModelService.java
   trunk/blog-common/src/java/org/jboss/blog/service/name/
   trunk/blog-common/src/java/org/jboss/blog/service/name/BlogNameService.java
   trunk/blog-common/src/java/org/jboss/blog/service/permissions/
   trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
   trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java
   trunk/blog-common/src/java/org/jboss/blog/service/store/
   trunk/blog-common/src/java/org/jboss/blog/service/store/BlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/tools/FacesTools.java
   trunk/blog-core/src/java/org/jboss/blog/tools/PortletTools.java
Removed:
   trunk/blog-core/src/java/org/jboss/blog/BlogName.java
   trunk/blog-core/src/java/org/jboss/blog/rome/
   trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java
   trunk/blog-core/src/java/org/jboss/blog/service/BlogService.java
   trunk/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java
   trunk/blog-core/src/java/org/jboss/blog/service/model/BlogModelService.java
   trunk/blog-core/src/java/org/jboss/blog/service/name/BlogNameService.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/SecurityContext.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java
Modified:
   trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java
   trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java
   trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java
   trunk/blog-core/src/java/org/jboss/blog/service/model/DelegatingModelService.java
   trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java
   trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java
   trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java
   trunk/blog-core/src/java/org/jboss/blog/tools/UITools.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/IdEdit.java
   trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
   trunk/jbossblog.iws
Log:
Refactoring

Copied: trunk/blog-common/src/java/org/jboss/blog/BlogName.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/BlogName.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/BlogName.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/BlogName.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,61 @@
+package org.jboss.blog;
+
+import org.jboss.blog.tools.BasicTools;
+
+import java.io.Serializable;
+
+/**
+ * Class representing a name of a blog. This name consists of a blog id
+ * and a category. Having it defined, it can be determined what blog should
+ * be displayed/ edited/ etc.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class BlogName implements Serializable {
+    private String id;
+    private String category;
+
+    public BlogName() {
+        
+    }
+
+    public BlogName(String id, String category) {
+        this.id = id;
+        this.category = category;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public int hashCode() {
+        return (id == null ? 0 : id.hashCode()) +
+                (category == null ? 0 : category.hashCode());
+    }
+
+    public boolean equals(Object obj) {
+        if (!(obj instanceof BlogName)) {
+            return false;
+        }
+
+        BlogName bn = (BlogName) obj;
+
+        return BasicTools.objectsEqual(id, bn.id) &&
+                BasicTools.objectsEqual(category, bn.category);
+    }
+
+    public String toString() {
+        return "(" + id + ", " + category + ")";
+    }
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/AbstractBlogService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/AbstractBlogService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/AbstractBlogService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,10 @@
+package org.jboss.blog.service;
+
+import org.jboss.system.ServiceMBeanSupport;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public abstract class AbstractBlogService extends ServiceMBeanSupport {
+    protected static final String REQUEST_NULL_EX_MSG = "Request can't be null."; 
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/BlogService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/BlogService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/BlogService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/BlogService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,29 @@
+package org.jboss.blog.service;
+
+import org.jboss.blog.service.permissions.BlogPermissionsService;
+import org.jboss.blog.service.name.BlogNameService;
+import org.jboss.blog.service.model.BlogModelService;
+import org.jboss.blog.service.configuration.BlogConfigurationService;
+import org.jboss.blog.service.store.BlogStoreService;
+
+/**
+ * A central point tieing all other blog services and providing a way to access
+ * them.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface BlogService {
+    public BlogPermissionsService getPermissionsService();
+    public void setPermissionsService(BlogPermissionsService permissionsService);
+
+    public BlogNameService getNameService();
+    public void setNameService(BlogNameService nameService);
+    
+    public BlogModelService getModelService();
+    public void setModelService(BlogModelService modelService);
+
+    public BlogConfigurationService getConfigurationService();
+    public void setConfigurationService(BlogConfigurationService configurationService);
+
+    public BlogStoreService getStoreService();
+    public void setStoreService(BlogStoreService storeService);
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,45 @@
+package org.jboss.blog.service.configuration;
+
+/**
+ * A service which enables to read blog configuration. This can be, for
+ * example, reading portlet or servlet preferences, basing on a request
+ * object.
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public interface BlogConfigurationService {
+    /**
+     *
+     * @param request Request from which to read the configuration.
+     * @return Number of posts to be shown on the main blog view page. Shuld
+     * never return null.
+     */
+    public Integer getNumberOfPostsPerPage(Object request);
+
+    /**
+     *
+     * @param request Request from which to read the configuration.
+     * @return True iff posts body should be viewable on a separate page,
+     * that is, after clicking on an entry title, should a special post-view
+     * page be opened, or should the entry be expanded. Should never return
+     * null.
+     */
+    public Boolean getViewPostsOnSeparatePage(Object request);
+
+    /**
+     *
+     * @param request Request from which to read the configuration.
+     * @return True iff all posts should be expanded by default.
+     * Still, posts can be viewed on a separate pages, if the
+     * configuration states so. This can be useful for blogs with
+     * comments.
+     */
+    public Boolean getViewAllPosts(Object request);
+
+    /**
+     *
+     * @param request Request from which to read the configuration.
+     * @return True iff authorized users can add comments to posts
+     * in this blog.
+     */
+    public Boolean getCommentsEnabled(Object request);
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/model/BlogModelService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/model/BlogModelService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/model/BlogModelService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/model/BlogModelService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,22 @@
+package org.jboss.blog.service.model;
+
+import org.jboss.blog.BlogName;
+import org.jboss.blog.model.BlogModel;
+import org.jboss.blog.model.BlogModelDoesNotExistException;
+
+/**
+ * A service which enables to obtain a blog model (parsed blog information and
+ * entries), having a blog name.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface BlogModelService {
+    /**
+     * Basing on the given blog name, reads (parses/ creates/ etc) a blog
+     * category.
+     * @param name Name of the blog for which the model should be read.
+     * @return A category of a blog with the given name.
+     * @throws org.jboss.blog.model.BlogModelDoesNotExistException If a blog
+     * with the given name couldn't be found.
+     */
+    public BlogModel retrieveBlogModel(BlogName name) throws BlogModelDoesNotExistException;
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/name/BlogNameService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/name/BlogNameService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/name/BlogNameService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/name/BlogNameService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,20 @@
+package org.jboss.blog.service.name;
+
+import org.jboss.blog.BlogName;
+import org.jboss.system.ServiceMBean;
+
+/**
+ * A service which enables to determine the blog name, having a request object.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface BlogNameService extends ServiceMBean {
+    /**
+     * From the given request objest, reads name of the blog (that is,
+     * id-category pair) that is currently selected.
+     * @param request Current request object. Typically, this will be either
+     * an instance of ServletRequest or PortletRequest.
+     * @return Name of the selected blog, which should be displayed/ edited
+     * etc.
+     */
+    public BlogName retrieveBlogName(Object request);
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,27 @@
+package org.jboss.blog.service.permissions;
+
+import org.jboss.blog.model.BlogAuthor;
+
+/**
+ * A service which enables to check, if a given user can gain access to given
+ * contexts.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface BlogPermissionsService {
+    /**
+     * Checks if the given user has access to the given context.
+     * @param context Context which the user tries to access.
+     * @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 retrieveBlogAuthor(Object data);
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/permissions/SecurityContext.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,9 @@
+package org.jboss.blog.service.permissions;
+
+/**
+ * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
+ */
+public interface SecurityContext
+{
+    public Object getIdentity();
+}

Copied: trunk/blog-common/src/java/org/jboss/blog/service/store/BlogStoreService.java (from rev 63, trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/store/BlogStoreService.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/store/BlogStoreService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,138 @@
+package org.jboss.blog.service.store;
+
+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;
+
+/**
+ * A service which enables to manage blogs, categories and posts.
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public interface BlogStoreService {
+    // Blog model accessors
+
+    /**
+     * Reads a list of all blogs.
+     * @return A list of {@link org.jboss.blog.BlogName} objects, with a null
+     * category name.
+     */
+    public List retrieveAllBlogs();
+
+    /**
+     * Reads a list of all categories.
+     * @param blogName Name of the blog for which to read the categoriezs. The
+     * category part of the name will be ignored.
+     * @return A list of {@link org.jboss.blog.BlogName} objects, with the id
+     * part equal to the one passed in the parameter.
+     * @throws IllegalArgumentException If blog name is null.
+     */
+    public List retrieveAllCategories(BlogName blogName)
+            throws IllegalArgumentException;
+
+    /**
+     * Checks if a blog with the given blog name can be modified.
+     * @param blogName Name of the blog to check.
+     * @return True if this blog can be modified using this store service.
+     * @throws IllegalArgumentException If blog name is null.
+     */
+    public boolean retrieveBlogModifiable(BlogName blogName)
+            throws IllegalArgumentException;
+
+    /**
+     * Gets a blog model for the specified blog.
+     * @param blogName Name of blog for which to get the model. Cannot be null.
+     * @return A model for the specified blog.
+     * @throws IllegalArgumentException If blog name is null.
+     * @throws BlogModelDoesNotExistException If there is no blog with the
+     * specified name.
+     */
+    public ModifiableBlogModel retrieveBlogModel(BlogName blogName)
+            throws BlogModelDoesNotExistException, IllegalArgumentException;
+
+    // Blog model operations
+
+    /**
+     * Saves a newly created blog model.
+     * @param model Model to save. Only models obtained earlier with
+     * the {@link BlogStoreService#newBlogModel(org.jboss.blog.BlogName)}
+     * should be passed as a parameter.
+     * @throws IllegalArgumentException If model is null, the model was
+     * constructed in an inappropriate way or if blog name is null.
+     * @throws BlogModelAlreadyExistsException When a blog with the given name
+     * already exists.
+     */
+    public void saveNewBlogModel(ModifiableBlogModel model)
+            throws BlogModelAlreadyExistsException, IllegalArgumentException;
+
+    /**
+     * Deletes the given blog model (and all posts, if they do not belong to
+     * any other blog models).
+     * @param model Model to delete. Should be earlier obtained with
+     * {@link BlogStoreService#retrieveBlogModel(org.jboss.blog.BlogName)}.
+     * @throws IllegalArgumentException If model is null, is a new model
+     * or wasn't obtained from this store service.
+     */
+    public void deleteBlogModel(ModifiableBlogModel model)
+            throws IllegalArgumentException;
+
+    /**
+     * Deletes the given post.
+     * @param post Post to delete.
+     * @throws IllegalArgumentException If post is null, is a new post
+     * or wasn't obtained from this store service.
+     */
+    public void deletePost(ModifiableBlogPost post)
+            throws IllegalArgumentException;
+
+    /**
+     * Deletes the given comment.
+     * @param comment Comment to delete.
+     * @throws IllegalArgumentException If comment is null, is a new
+     * comment or wasn't obtained from this store service.
+     */
+    public void deleteComment(ModifiableBlogComment comment)
+            throws IllegalArgumentException;
+
+    // Factory methods
+
+    /**
+     * Creates a new blog model, with an empty list of posts
+     * and empty set of categories.
+     * @param blogName Name of the new blog model.
+     * @return A new blog model, which can be later saved.
+     * @throws IllegalArgumentException If blog name is null.
+     * @throws BlogModelAlreadyExistsException If a model with the given
+     * blog name already exists.
+     */
+    public ModifiableBlogModel newBlogModel(BlogName blogName)
+            throws IllegalArgumentException, BlogModelAlreadyExistsException;
+
+    /**
+     * Creates a new blog post, with an empty set of categories. To later
+     * save the post, simply add it to a model.
+     * @return A new blog post, which can be later added to a
+     * blog model and saved.
+     */
+    public ModifiableBlogPost newBlogPost();
+
+    /**
+     * Creates a new blog comment. To later save the it, simply add it
+     * to a post.
+     * @return A new blog comment, which can be later added to a
+     * 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);
+}

Modified: trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -78,4 +78,19 @@
     public static Set emptySet() {
         return emptySet;
     }
+
+    /**
+     * Checks if the link is an outside link.
+     * @param link Link to check.
+     * @return True iff the given link is an outside link.
+     */
+    public static boolean isExternalLink(String link) {
+        if (link == null) {
+            return false;
+        }
+
+        link = link.trim();
+        return link.startsWith("http:") || link.startsWith("ftp:")
+                || link.startsWith("https:") || link.startsWith("file:");
+    }
 }

Deleted: trunk/blog-core/src/java/org/jboss/blog/BlogName.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/BlogName.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/BlogName.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,61 +0,0 @@
-package org.jboss.blog;
-
-import org.jboss.blog.tools.BasicTools;
-
-import java.io.Serializable;
-
-/**
- * Class representing a name of a blog. This name consists of a blog id
- * and a category. Having it defined, it can be determined what blog should
- * be displayed/ edited/ etc.
- * @author Adam Warski (adamw at aster.pl)
- */
-public class BlogName implements Serializable {
-    private String id;
-    private String category;
-
-    public BlogName() {
-        
-    }
-
-    public BlogName(String id, String category) {
-        this.id = id;
-        this.category = category;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getCategory() {
-        return category;
-    }
-
-    public void setCategory(String category) {
-        this.category = category;
-    }
-
-    public int hashCode() {
-        return (id == null ? 0 : id.hashCode()) +
-                (category == null ? 0 : category.hashCode());
-    }
-
-    public boolean equals(Object obj) {
-        if (!(obj instanceof BlogName)) {
-            return false;
-        }
-
-        BlogName bn = (BlogName) obj;
-
-        return BasicTools.objectsEqual(id, bn.id) &&
-                BasicTools.objectsEqual(category, bn.category);
-    }
-
-    public String toString() {
-        return "(" + id + ", " + category + ")";
-    }
-}

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,10 +0,0 @@
-package org.jboss.blog.service;
-
-import org.jboss.system.ServiceMBeanSupport;
-
-/**
- * @author Adam Warski (adamw at aster.pl)
- */
-public abstract class AbstractBlogService extends ServiceMBeanSupport {
-    protected static final String REQUEST_NULL_EX_MSG = "Request can't be null."; 
-}

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/BlogService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/BlogService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/BlogService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,29 +0,0 @@
-package org.jboss.blog.service;
-
-import org.jboss.blog.service.permissions.BlogPermissionsService;
-import org.jboss.blog.service.name.BlogNameService;
-import org.jboss.blog.service.model.BlogModelService;
-import org.jboss.blog.service.configuration.BlogConfigurationService;
-import org.jboss.blog.service.store.BlogStoreService;
-
-/**
- * A central point tieing all other blog services and providing a way to access
- * them.
- * @author Adam Warski (adamw at aster.pl)
- */
-public interface BlogService {
-    public BlogPermissionsService getPermissionsService();
-    public void setPermissionsService(BlogPermissionsService permissionsService);
-
-    public BlogNameService getNameService();
-    public void setNameService(BlogNameService nameService);
-    
-    public BlogModelService getModelService();
-    public void setModelService(BlogModelService modelService);
-
-    public BlogConfigurationService getConfigurationService();
-    public void setConfigurationService(BlogConfigurationService configurationService);
-
-    public BlogStoreService getStoreService();
-    public void setStoreService(BlogStoreService storeService);
-}

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,45 +0,0 @@
-package org.jboss.blog.service.configuration;
-
-/**
- * A service which enables to read blog configuration. This can be, for
- * example, reading portlet or servlet preferences, basing on a request
- * object.
- * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
- */
-public interface BlogConfigurationService {
-    /**
-     *
-     * @param request Request from which to read the configuration.
-     * @return Number of posts to be shown on the main blog view page. Shuld
-     * never return null.
-     */
-    public Integer getNumberOfPostsPerPage(Object request);
-
-    /**
-     *
-     * @param request Request from which to read the configuration.
-     * @return True iff posts body should be viewable on a separate page,
-     * that is, after clicking on an entry title, should a special post-view
-     * page be opened, or should the entry be expanded. Should never return
-     * null.
-     */
-    public Boolean getViewPostsOnSeparatePage(Object request);
-
-    /**
-     *
-     * @param request Request from which to read the configuration.
-     * @return True iff all posts should be expanded by default.
-     * Still, posts can be viewed on a separate pages, if the
-     * configuration states so. This can be useful for blogs with
-     * comments.
-     */
-    public Boolean getViewAllPosts(Object request);
-
-    /**
-     *
-     * @param request Request from which to read the configuration.
-     * @return True iff authorized users can add comments to posts
-     * in this blog.
-     */
-    public Boolean getCommentsEnabled(Object request);
-}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,7 +1,7 @@
 package org.jboss.blog.service.configuration;
 
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.BasicTools;
+import org.jboss.blog.tools.FacesTools;
 
 /**
  * A name service which reads blog configuration from init parameters.
@@ -19,7 +19,7 @@
     public Integer getNumberOfPostsPerPage(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         try {
-            return Integer.valueOf(BlogTools.getInitParam(
+            return Integer.valueOf(FacesTools.getInitParam(
                     getNumberOfPostsPerPageName()));
         } catch (NumberFormatException e) {
             return new Integer(0);
@@ -32,7 +32,7 @@
      */
     public Boolean getViewPostsOnSeparatePage(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-        return Boolean.valueOf(BlogTools.getInitParam(
+        return Boolean.valueOf(FacesTools.getInitParam(
                 getViewPostsOnSeparatePageName()));
     }
 
@@ -42,7 +42,7 @@
      */
     public Boolean getViewAllPosts(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-        return Boolean.valueOf(BlogTools.getInitParam(
+        return Boolean.valueOf(FacesTools.getInitParam(
                 getViewAllPostsName()));
     }
 
@@ -52,7 +52,7 @@
      */
     public Boolean getCommentsEnabled(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-        return Boolean.valueOf(BlogTools.getInitParam(
+        return Boolean.valueOf(FacesTools.getInitParam(
                 getCommentsEnabledName()));
     }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,7 +1,7 @@
 package org.jboss.blog.service.configuration;
 
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.BasicTools;
+import org.jboss.blog.tools.PortletTools;
 
 /**
  * A name service which reads blog configuration from portlet preferences.
@@ -19,8 +19,8 @@
     public Integer getNumberOfPostsPerPage(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         try {
-            return Integer.valueOf(BlogTools.getPortletPreference(
-                    BlogTools.castToPortletRequest(this, request),
+            return Integer.valueOf(PortletTools.getPortletPreference(
+                    PortletTools.castToPortletRequest(this, request),
                     getNumberOfPostsPerPageName()));
         } catch (NumberFormatException e) {
             return new Integer(0);
@@ -33,8 +33,8 @@
      */
     public Boolean getViewPostsOnSeparatePage(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-        return Boolean.valueOf(BlogTools.getPortletPreference(
-                BlogTools.castToPortletRequest(this, request),
+        return Boolean.valueOf(PortletTools.getPortletPreference(
+                PortletTools.castToPortletRequest(this, request),
                 getViewPostsOnSeparatePageName()));
     }
 
@@ -44,8 +44,8 @@
      */
     public Boolean getViewAllPosts(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-        return Boolean.valueOf(BlogTools.getPortletPreference(
-                BlogTools.castToPortletRequest(this, request),
+        return Boolean.valueOf(PortletTools.getPortletPreference(
+                PortletTools.castToPortletRequest(this, request),
                 getViewAllPostsName()));
     }
 
@@ -55,8 +55,8 @@
      */
     public Boolean getCommentsEnabled(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-         return Boolean.valueOf(BlogTools.getPortletPreference(
-                BlogTools.castToPortletRequest(this, request),
+         return Boolean.valueOf(PortletTools.getPortletPreference(
+                PortletTools.castToPortletRequest(this, request),
                 getCommentsEnabledName()));
     }
 }

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/model/BlogModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/BlogModelService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/BlogModelService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,22 +0,0 @@
-package org.jboss.blog.service.model;
-
-import org.jboss.blog.BlogName;
-import org.jboss.blog.model.BlogModel;
-import org.jboss.blog.model.BlogModelDoesNotExistException;
-
-/**
- * A service which enables to obtain a blog model (parsed blog information and
- * entries), having a blog name.
- * @author Adam Warski (adamw at aster.pl)
- */
-public interface BlogModelService {
-    /**
-     * Basing on the given blog name, reads (parses/ creates/ etc) a blog
-     * category.
-     * @param name Name of the blog for which the model should be read.
-     * @return A category of a blog with the given name.
-     * @throws org.jboss.blog.model.BlogModelDoesNotExistException If a blog
-     * with the given name couldn't be found.
-     */
-    public BlogModel retrieveBlogModel(BlogName name) throws BlogModelDoesNotExistException;
-}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/model/DelegatingModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/DelegatingModelService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/DelegatingModelService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -3,7 +3,7 @@
 import org.jboss.blog.model.BlogModel;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.BlogName;
-import org.jboss.blog.tools.BlogTools;
+import org.jboss.blog.tools.BasicTools;
 import org.jboss.blog.service.AbstractBlogService;
 
 /**
@@ -21,7 +21,7 @@
      * @jmx.managed-parameter type="org.jboss.blog.BlogName"
      */
     public BlogModel retrieveBlogModel(BlogName name) throws BlogModelDoesNotExistException {
-        if (BlogTools.isExternalLink(name.getId())) {
+        if (BasicTools.isExternalLink(name.getId())) {
             return externalDelegateModelService.retrieveBlogModel(name);
         }
 

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/name/BlogNameService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/name/BlogNameService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/name/BlogNameService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,20 +0,0 @@
-package org.jboss.blog.service.name;
-
-import org.jboss.blog.BlogName;
-import org.jboss.system.ServiceMBean;
-
-/**
- * A service which enables to determine the blog name, having a request object.
- * @author Adam Warski (adamw at aster.pl)
- */
-public interface BlogNameService extends ServiceMBean {
-    /**
-     * From the given request objest, reads name of the blog (that is,
-     * id-category pair) that is currently selected.
-     * @param request Current request object. Typically, this will be either
-     * an instance of ServletRequest or PortletRequest.
-     * @return Name of the selected blog, which should be displayed/ edited
-     * etc.
-     */
-    public BlogName retrieveBlogName(Object request);
-}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,8 +1,8 @@
 package org.jboss.blog.service.name;
 
 import org.jboss.blog.BlogName;
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.BasicTools;
+import org.jboss.blog.tools.FacesTools;
 
 /**
  * A name service which reads the blog name from init parameters.
@@ -18,7 +18,7 @@
      */
     public BlogName retrieveBlogName(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
-        return new BlogName(BlogTools.getInitParam(getIdName()),
-                BlogTools.getInitParam(getCategoryName()));
+        return new BlogName(FacesTools.getInitParam(getIdName()),
+                FacesTools.getInitParam(getCategoryName()));
     }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,8 +1,8 @@
 package org.jboss.blog.service.name;
 
 import org.jboss.blog.BlogName;
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.BasicTools;
+import org.jboss.blog.tools.PortletTools;
 
 import javax.portlet.PortletRequest;
 
@@ -38,9 +38,9 @@
     public BlogName retrieveBlogName(Object request) {
         BasicTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         
-        PortletRequest req = BlogTools.castToPortletRequest(this, request);
+        PortletRequest req = PortletTools.castToPortletRequest(this, request);
         
-        return new BlogName(BlogTools.getPortletPreference(req, getIdName()),
-                BlogTools.getPortletPreference(req, getCategoryName()));
+        return new BlogName(PortletTools.getPortletPreference(req, getIdName()),
+                PortletTools.getPortletPreference(req, getCategoryName()));
     }
 }

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,27 +0,0 @@
-package org.jboss.blog.service.permissions;
-
-import org.jboss.blog.model.BlogAuthor;
-
-/**
- * A service which enables to check, if a given user can gain access to given
- * contexts.
- * @author Adam Warski (adamw at aster.pl)
- */
-public interface BlogPermissionsService {
-    /**
-     * Checks if the given user has access to the given context.
-     * @param context Context which the user tries to access.
-     * @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 retrieveBlogAuthor(Object data);
-}

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/permissions/SecurityContext.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/SecurityContext.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/SecurityContext.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,9 +0,0 @@
-package org.jboss.blog.service.permissions;
-
-/**
- * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- */
-public interface SecurityContext
-{
-    public Object getIdentity();
-}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -11,7 +11,7 @@
 import javax.faces.component.UIComponent;
 
 //logging
-import org.jboss.blog.tools.BlogTools;
+import org.jboss.blog.tools.UITools;
 
 //servlet
 import javax.el.ELException;
@@ -103,7 +103,7 @@
 	        
 	        //feed this context to the Authorization system which will decide whether
 	        //access should be granted or not
-	        boolean isAccessAllowed = BlogTools.getBlogService().getPermissionsService().hasAccess(securityContext);
+	        boolean isAccessAllowed = UITools.getBlogService().getPermissionsService().hasAccess(securityContext);
 
             if(isAccessAllowed)
 	        {

Modified: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -18,7 +18,7 @@
 //myfaces integration
 import org.apache.log4j.Logger;
 import org.apache.myfaces.application.ActionListenerImpl;
-import org.jboss.blog.tools.BlogTools;
+import org.jboss.blog.tools.UITools;
 
 /**
  * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
@@ -81,7 +81,7 @@
 	        
 	        //feed this context to the Authorization system which will decide whether
 	        //access should be granted or not
-	        isAccessAllowed = BlogTools.getBlogService().getPermissionsService().hasAccess(securityContext);
+	        isAccessAllowed = UITools.getBlogService().getPermissionsService().hasAccess(securityContext);
         }
         catch(NoSuchMethodException nsme)
         {

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,138 +0,0 @@
-package org.jboss.blog.service.store;
-
-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;
-
-/**
- * A service which enables to manage blogs, categories and posts.
- * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
- */
-public interface BlogStoreService {
-    // Blog model accessors
-
-    /**
-     * Reads a list of all blogs.
-     * @return A list of {@link org.jboss.blog.BlogName} objects, with a null
-     * category name.
-     */
-    public List retrieveAllBlogs();
-
-    /**
-     * Reads a list of all categories.
-     * @param blogName Name of the blog for which to read the categoriezs. The
-     * category part of the name will be ignored.
-     * @return A list of {@link org.jboss.blog.BlogName} objects, with the id
-     * part equal to the one passed in the parameter.
-     * @throws IllegalArgumentException If blog name is null.
-     */
-    public List retrieveAllCategories(BlogName blogName)
-            throws IllegalArgumentException;
-
-    /**
-     * Checks if a blog with the given blog name can be modified.
-     * @param blogName Name of the blog to check.
-     * @return True if this blog can be modified using this store service.
-     * @throws IllegalArgumentException If blog name is null.
-     */
-    public boolean retrieveBlogModifiable(BlogName blogName)
-            throws IllegalArgumentException;
-
-    /**
-     * Gets a blog model for the specified blog.
-     * @param blogName Name of blog for which to get the model. Cannot be null.
-     * @return A model for the specified blog.
-     * @throws IllegalArgumentException If blog name is null.
-     * @throws BlogModelDoesNotExistException If there is no blog with the
-     * specified name.
-     */
-    public ModifiableBlogModel retrieveBlogModel(BlogName blogName)
-            throws BlogModelDoesNotExistException, IllegalArgumentException;
-
-    // Blog model operations
-
-    /**
-     * Saves a newly created blog model.
-     * @param model Model to save. Only models obtained earlier with
-     * the {@link BlogStoreService#newBlogModel(org.jboss.blog.BlogName)}
-     * should be passed as a parameter.
-     * @throws IllegalArgumentException If model is null, the model was
-     * constructed in an inappropriate way or if blog name is null.
-     * @throws BlogModelAlreadyExistsException When a blog with the given name
-     * already exists.
-     */
-    public void saveNewBlogModel(ModifiableBlogModel model)
-            throws BlogModelAlreadyExistsException, IllegalArgumentException;
-
-    /**
-     * Deletes the given blog model (and all posts, if they do not belong to
-     * any other blog models).
-     * @param model Model to delete. Should be earlier obtained with
-     * {@link BlogStoreService#retrieveBlogModel(org.jboss.blog.BlogName)}.
-     * @throws IllegalArgumentException If model is null, is a new model
-     * or wasn't obtained from this store service.
-     */
-    public void deleteBlogModel(ModifiableBlogModel model)
-            throws IllegalArgumentException;
-
-    /**
-     * Deletes the given post.
-     * @param post Post to delete.
-     * @throws IllegalArgumentException If post is null, is a new post
-     * or wasn't obtained from this store service.
-     */
-    public void deletePost(ModifiableBlogPost post)
-            throws IllegalArgumentException;
-
-    /**
-     * Deletes the given comment.
-     * @param comment Comment to delete.
-     * @throws IllegalArgumentException If comment is null, is a new
-     * comment or wasn't obtained from this store service.
-     */
-    public void deleteComment(ModifiableBlogComment comment)
-            throws IllegalArgumentException;
-
-    // Factory methods
-
-    /**
-     * Creates a new blog model, with an empty list of posts
-     * and empty set of categories.
-     * @param blogName Name of the new blog model.
-     * @return A new blog model, which can be later saved.
-     * @throws IllegalArgumentException If blog name is null.
-     * @throws BlogModelAlreadyExistsException If a model with the given
-     * blog name already exists.
-     */
-    public ModifiableBlogModel newBlogModel(BlogName blogName)
-            throws IllegalArgumentException, BlogModelAlreadyExistsException;
-
-    /**
-     * Creates a new blog post, with an empty set of categories. To later
-     * save the post, simply add it to a model.
-     * @return A new blog post, which can be later added to a
-     * blog model and saved.
-     */
-    public ModifiableBlogPost newBlogPost();
-
-    /**
-     * Creates a new blog comment. To later save the it, simply add it
-     * to a post.
-     * @return A new blog comment, which can be later added to a
-     * 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);
-}

Deleted: trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,92 +0,0 @@
-package org.jboss.blog.tools;
-
-import org.jboss.blog.service.BlogService;
-import org.jboss.mx.util.MBeanProxyExt;
-import org.jboss.mx.util.MBeanServerLocator;
-
-import javax.portlet.PortletRequest;
-import javax.faces.context.FacesContext;
-
-/**
- * Various common and usefull functions.
- * @author Adam Warski (adamw at aster.pl)
- */
-public class BlogTools {
-    /**
-     * Using the given request object, tries to read a given portlet preference.
-     * @param req Request from which to read.
-     * @param prefName Name of the preference to read.
-     * @return Value of the given portlet preference or null, if the preference 
-     * is not set.
-     */
-    public static String getPortletPreference(PortletRequest req, String prefName) {
-        return req.getPreferences().getValue(prefName, null);
-    }
-
-    /**
-     * Reads the given init parameter value..
-     * @param initParamName Name of the init parameter to read.
-     * @return Value of the given init parameter or null, if the init parameter
-     * is not set.
-     */
-    public static String getInitParam(String initParamName) {
-        return FacesContext.getCurrentInstance().getExternalContext().
-                getInitParameter(initParamName);
-    }
-
-    /**
-     * Checks if the given request object is of class PortletRequest and if not,
-     * throws an IllegalArgumentException.
-     * @param caller Caller of this function, which class's name will be
-     * included in the exception message.
-     * @param request Request object to cast.
-     * @return The given request object cast to PortletRequest.
-     * @throws IllegalArgumentException When the given request object is not of
-     * class PortletRequest.
-     */
-    public static PortletRequest castToPortletRequest(Object caller, Object request) {
-        if (!(request instanceof PortletRequest)) {
-            throw new IllegalArgumentException(caller.getClass().getName() +
-                    " accepts only PortletRequest parameters, not of class: " +
-                    (request == null ? "NULL" : request.getClass().getName()));
-        }
-
-        return (PortletRequest) request;
-    }
-
-    private static BlogService instance;
-
-    /**
-     *
-     * @return An instance of the blog service.
-     */
-    public static synchronized BlogService getBlogService() {
-        try {
-            if (instance == null) {
-                instance = (BlogService) MBeanProxyExt.create(
-                        BlogService.class,
-                        "blog:service=Main",
-                        MBeanServerLocator.locate());
-            }
-
-            return instance;
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Checks if the link is an outside link.
-     * @param link Link to check.
-     * @return True iff the given link is an outside link.
-     */
-    public static boolean isExternalLink(String link) {
-        if (link == null) {
-            return false;
-        }
-
-        link = link.trim();
-        return link.startsWith("http:") || link.startsWith("ftp:")
-                || link.startsWith("https:") || link.startsWith("file:");
-    }
-}

Added: trunk/blog-core/src/java/org/jboss/blog/tools/FacesTools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/FacesTools.java	                        (rev 0)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/FacesTools.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,19 @@
+package org.jboss.blog.tools;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class FacesTools {
+    /**
+     * Reads the given init parameter value..
+     * @param initParamName Name of the init parameter to read.
+     * @return Value of the given init parameter or null, if the init parameter
+     * is not set.
+     */
+    public static String getInitParam(String initParamName) {
+        return FacesContext.getCurrentInstance().getExternalContext().
+                getInitParameter(initParamName);
+    }
+}

Added: trunk/blog-core/src/java/org/jboss/blog/tools/PortletTools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/PortletTools.java	                        (rev 0)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/PortletTools.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -0,0 +1,39 @@
+package org.jboss.blog.tools;
+
+import javax.portlet.PortletRequest;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class PortletTools {
+    /**
+     * Checks if the given request object is of class PortletRequest and if not,
+     * throws an IllegalArgumentException.
+     * @param caller Caller of this function, which class's name will be
+     * included in the exception message.
+     * @param request Request object to cast.
+     * @return The given request object cast to PortletRequest.
+     * @throws IllegalArgumentException When the given request object is not of
+     * class PortletRequest.
+     */
+    public static PortletRequest castToPortletRequest(Object caller, Object request) {
+        if (!(request instanceof PortletRequest)) {
+            throw new IllegalArgumentException(caller.getClass().getName() +
+                    " accepts only PortletRequest parameters, not of class: " +
+                    (request == null ? "NULL" : request.getClass().getName()));
+        }
+
+        return (PortletRequest) request;
+    }
+
+    /**
+     * Using the given request object, tries to read a given portlet preference.
+     * @param req Request from which to read.
+     * @param prefName Name of the preference to read.
+     * @return Value of the given portlet preference or null, if the preference
+     * is not set.
+     */
+    public static String getPortletPreference(PortletRequest req, String prefName) {
+        return req.getPreferences().getValue(prefName, null);
+    }
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,6 +1,9 @@
 package org.jboss.blog.tools;
 
 import org.jboss.blog.BlogName;
+import org.jboss.blog.service.BlogService;
+import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.mx.util.MBeanServerLocator;
 
 import javax.faces.context.FacesContext;
 import javax.faces.application.FacesMessage;
@@ -46,4 +49,25 @@
     public static void addMessageCommentDoesntExist() {
         addErrorMessage("The comment you requested does not exist.");
     }
+
+    public static BlogService instance;
+    
+    /**
+     *
+     * @return An instance of the blog service.
+     */
+    public static synchronized BlogService getBlogService() {
+        try {
+            if (instance == null) {
+                instance = (BlogService) MBeanProxyExt.create(
+                        BlogService.class,
+                        "blog:service=Main",
+                        MBeanServerLocator.locate());
+            }
+
+            return instance;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 }

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -3,7 +3,6 @@
 import org.jboss.blog.model.BlogModel;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.model.impl.EmptyBlogModel;
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.UITools;
 import org.jboss.blog.tools.BasicTools;
 import org.jboss.blog.service.store.model.ModifiableBlogModel;
@@ -68,7 +67,7 @@
         BlogModel model;
 
         try {
-            model = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+            model = UITools.getBlogService().getStoreService().retrieveBlogModel(
                     blogView.getBlogName());
         } catch (BlogModelDoesNotExistException e) {
             model = new EmptyBlogModel();
@@ -84,7 +83,7 @@
 
     public String save() {
         try {
-            ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+            ModifiableBlogModel mbm = UITools.getBlogService().getStoreService().retrieveBlogModel(
                     blogView.getBlogName());
 
             boolean changed = false;
@@ -109,10 +108,10 @@
 
     public String saveNew() {
         try {
-            ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().newBlogModel(
+            ModifiableBlogModel mbm = UITools.getBlogService().getStoreService().newBlogModel(
                     getState().getSelectedBlogName());
 
-            mbm.setAuthor(BlogTools.getBlogService().getStoreService().
+            mbm.setAuthor(UITools.getBlogService().getStoreService().
                     newBlogAuthor(getBlogView().getRequest()));
             mbm.setTitle(title);
             // TODO: sensible value here
@@ -120,7 +119,7 @@
             mbm.setDescription(description);
             mbm.setCreated(new Date());
 
-            BlogTools.getBlogService().getStoreService().saveNewBlogModel(mbm);
+            UITools.getBlogService().getStoreService().saveNewBlogModel(mbm);
 
             UITools.addInfoMessage("New blog category created.");
         } catch (BlogModelAlreadyExistsException e) {
@@ -134,17 +133,17 @@
         try {
             BlogName toDelete = getState().getSelectedBlogName();
 
-            ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+            ModifiableBlogModel mbm = UITools.getBlogService().getStoreService().retrieveBlogModel(
                     toDelete);
 
-            BlogTools.getBlogService().getStoreService().deleteBlogModel(mbm);
+            UITools.getBlogService().getStoreService().deleteBlogModel(mbm);
 
             getState().setSelectedBlogName(null);
 
             UITools.addInfoMessage("Blog category deleted.");
 
             // If this was the last category with this id, we must return to the admin panel.
-            if (BlogTools.getBlogService().getStoreService().retrieveAllCategories(toDelete).size() == 0) {
+            if (UITools.getBlogService().getStoreService().retrieveAllCategories(toDelete).size() == 0) {
                 return UITools.ADMIN_PANEL;
             } else {
                 return UITools.ID_EDIT;

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -9,7 +9,6 @@
 import org.jboss.blog.BlogName;
 import org.jboss.blog.service.store.model.ModifiableBlogPost;
 import org.jboss.blog.service.store.model.ModifiableBlogModel;
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.UITools;
 
 import javax.faces.context.FacesContext;
@@ -86,7 +85,7 @@
             // Blog name from the state has precedence over the default one.
             blogName = getState().getSelectedBlogName();
             if (blogName == null) {
-                blogName = BlogTools.getBlogService().getNameService().retrieveBlogName(getRequest());
+                blogName = UITools.getBlogService().getNameService().retrieveBlogName(getRequest());
             }
         }
 
@@ -104,7 +103,7 @@
     public BlogModel getBlogModel() {
         if (blogModel == null) {
             try {
-                blogModel = BlogTools.getBlogService().getModelService().retrieveBlogModel(
+                blogModel = UITools.getBlogService().getModelService().retrieveBlogModel(
                         getBlogName());
             } catch (BlogModelDoesNotExistException e) {
                 UITools.addMessageBlogDoesntExist(getBlogName());
@@ -117,7 +116,7 @@
 
     public Boolean getCommentsEnabled() {
         if (commentsEnabled == null) {
-            commentsEnabled = BlogTools.getBlogService().getConfigurationService().
+            commentsEnabled = UITools.getBlogService().getConfigurationService().
                     getCommentsEnabled(getRequest());
         }
 
@@ -126,7 +125,7 @@
 
     public Integer getNumberOfPostsPerPage() {
         if (numberOfPostsPerPage == null) {
-            numberOfPostsPerPage = BlogTools.getBlogService().getConfigurationService().
+            numberOfPostsPerPage = UITools.getBlogService().getConfigurationService().
                     getNumberOfPostsPerPage(getRequest());
         }
 
@@ -135,7 +134,7 @@
 
     public Boolean getViewPostsOnSeparatePage() {
         if (viewPostsOnSeparatePage == null) {
-            viewPostsOnSeparatePage = BlogTools.getBlogService().getConfigurationService().
+            viewPostsOnSeparatePage = UITools.getBlogService().getConfigurationService().
                     getViewPostsOnSeparatePage(getRequest());
         }
 
@@ -144,7 +143,7 @@
 
     public Boolean getViewAllPosts() {
         if (viewAllPosts == null) {
-            viewAllPosts = BlogTools.getBlogService().getConfigurationService().
+            viewAllPosts = UITools.getBlogService().getConfigurationService().
                     getViewAllPosts(getRequest());
         }
 
@@ -170,7 +169,7 @@
 
     public Boolean getBlogModifiable() {
         if (blogModifiable == null) {
-            blogModifiable = Boolean.valueOf(BlogTools.getBlogService().getStoreService().
+            blogModifiable = Boolean.valueOf(UITools.getBlogService().getStoreService().
                     retrieveBlogModifiable(getBlogName()));
         }
 
@@ -233,7 +232,7 @@
     }
 
     ModifiableBlogModel getModifiableModel() throws BlogModelDoesNotExistException {
-        return BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+        return UITools.getBlogService().getStoreService().retrieveBlogModel(
                 getBlogName());
     }
 

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,6 +1,5 @@
 package org.jboss.blog.ui;
 
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.UITools;
 import org.jboss.blog.service.store.model.ModifiableBlogPost;
 import org.jboss.blog.service.store.model.ModifiableBlogComment;
@@ -84,9 +83,9 @@
         try {
             ModifiableBlogComment comment;
 
-            comment = BlogTools.getBlogService().getStoreService().newBlogComment();
+            comment = UITools.getBlogService().getStoreService().newBlogComment();
 
-            comment.setAuthor(BlogTools.getBlogService().getStoreService().
+            comment.setAuthor(UITools.getBlogService().getStoreService().
                     newBlogAuthor(getBlogView().getRequest()));
 
             comment.setTitle(title);
@@ -111,7 +110,7 @@
         try {
             ModifiableBlogComment comment = getSelectedModifiableComment();
 
-            BlogTools.getBlogService().getStoreService().deleteComment(comment);
+            UITools.getBlogService().getStoreService().deleteComment(comment);
 
             UITools.addInfoMessage("Comment deleted.");
         } catch (BlogModelDoesNotExistException e) {

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -1,6 +1,5 @@
 package org.jboss.blog.ui;
 
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.UITools;
 import org.jboss.blog.tools.BasicTools;
 import org.jboss.blog.BlogName;
@@ -44,7 +43,7 @@
     private void populateRawIds() {
         if (rawIds == null) {
             // TODO: filter with permissions of the logged in person
-            rawIds = BlogTools.getBlogService().getStoreService().retrieveAllBlogs();
+            rawIds = UITools.getBlogService().getStoreService().retrieveAllBlogs();
         }
     }
 
@@ -65,7 +64,7 @@
     public List getCategories() {
         if (categories == null) {
             // TODO: filter with permissions of the logged in person
-            List rawCategories = BlogTools.getBlogService().getStoreService()
+            List rawCategories = UITools.getBlogService().getStoreService()
                     .retrieveAllCategories(new BlogName(getState().getSelectedBlogId(), null));
             categories = new ArrayList();
 

Modified: trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java	2007-03-14 15:34:45 UTC (rev 66)
@@ -3,7 +3,6 @@
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.model.BlogPost;
 import org.jboss.blog.model.BlogPostDoesNotExistException;
-import org.jboss.blog.tools.BlogTools;
 import org.jboss.blog.tools.UITools;
 import org.jboss.blog.tools.BasicTools;
 import org.jboss.blog.service.store.model.ModifiableBlogModel;
@@ -66,7 +65,7 @@
 
     public List getBlogs() {
         if (blogs == null) {
-            List blogNames = BlogTools.getBlogService().getStoreService().retrieveAllCategories(
+            List blogNames = UITools.getBlogService().getStoreService().retrieveAllCategories(
                     blogView.getBlogName());
             blogs = new ArrayList();
 
@@ -140,9 +139,9 @@
         try {
             ModifiableBlogPost post;
 
-            post = BlogTools.getBlogService().getStoreService().newBlogPost();
+            post = UITools.getBlogService().getStoreService().newBlogPost();
 
-            post.setAuthor(BlogTools.getBlogService().getStoreService().
+            post.setAuthor(UITools.getBlogService().getStoreService().
                     newBlogAuthor(getBlogView().getRequest()));
 
             post.setTitle(title);
@@ -156,7 +155,7 @@
             // Adding the post to all selected categories.
             // TODO permissions for category-level? Both here, save() and post_mod.xhtml
             for (Iterator iter = selectedCategories.iterator(); iter.hasNext();) {
-                ModifiableBlogModel blog = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+                ModifiableBlogModel blog = UITools.getBlogService().getStoreService().retrieveBlogModel(
                         (BlogName) iter.next());
                 blog.addPost(post);
             }
@@ -200,14 +199,14 @@
             // Adding & removing posts from categories.
             for (Iterator iter = addedCategories.iterator(); iter.hasNext();) {
                 changed = true;
-                model = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+                model = UITools.getBlogService().getStoreService().retrieveBlogModel(
                         (BlogName) iter.next());
                 model.addPost(post);
             }
 
             for (Iterator iter = removedCategories.iterator(); iter.hasNext();) {
                 changed = true;
-                model = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+                model = UITools.getBlogService().getStoreService().retrieveBlogModel(
                         (BlogName) iter.next());
                 model.removePost(post);
             }
@@ -228,12 +227,12 @@
 
     public String delete() {
         try {
-            ModifiableBlogModel model = BlogTools.getBlogService().getStoreService().retrieveBlogModel(
+            ModifiableBlogModel model = UITools.getBlogService().getStoreService().retrieveBlogModel(
                     blogView.getBlogName());
             ModifiableBlogPost post = model.getModifiableBlogPostByTitleAsId(
                     blogView.getSelectedPostTitleAsId());
 
-            BlogTools.getBlogService().getStoreService().deletePost(post);
+            UITools.getBlogService().getStoreService().deletePost(post);
 
             UITools.addInfoMessage("Post deleted.");
         } catch (BlogModelDoesNotExistException e) {

Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws	2007-03-14 15:27:58 UTC (rev 65)
+++ trunk/jbossblog.iws	2007-03-14 15:34:45 UTC (rev 66)
@@ -17,11 +17,54 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-common/blog-model.iml" afterPath="" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/blog-common.iml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/jbossblog.ipr" afterPath="$PROJECT_DIR$/jbossblog.ipr" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/rome/CommentRssModuleGenerator.java" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/DelegatingModelService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/DelegatingModelService.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/IdEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/IdEdit.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.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/java/org/jboss/blog/service/name/InitParamsBlogNameService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/FacesTools.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/model/BlogModelService.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/BlogTools.java" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/rome/CommentRssModuleImpl.java" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/model" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/name/BlogNameService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/AbstractBlogService.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/SecurityContext.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/rome" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/BlogName.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="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/rome/CommentRssModule.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/BlogService.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" afterPath="" />
+      <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="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/rome/CommentRssModuleParser.java" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/configuration" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/PortletTools.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/rome" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/tools/BasicTools.java" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/tools/BasicTools.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/store" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/jbossblog.iws" afterPath="$PROJECT_DIR$/jbossblog.iws" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/blog-core.iml" afterPath="$PROJECT_DIR$/blog-core/blog-core.iml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java" />
+      <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="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/BlogNameService.java" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/name" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/BlogModelService.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/BlogName.java" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/BlogService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/store/BlogStoreService.java" />
     </list>
   </component>
   <component name="ChangeListSynchronizer" />
@@ -520,10 +563,630 @@
           <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>
+      <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>
+      <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" />
+          <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>
+      <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" />
+          <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/ui" />
+          <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" />
+          <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/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" />
+          <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/test" />
+          <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" />
+          <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>
+      <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" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <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" />
+          <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>
+      <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" />
+          <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/name" />
+          <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" />
+          <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>
+      <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" />
+          <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>
+      </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" />
+          <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>
+      <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-common" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
         </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-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+          <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-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/src/java/org" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/src/java/org/jboss/blog" />
+          <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-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/src/java/org" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/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-common/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-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/src/java/org" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/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-common/src/java/org/jboss/blog/service" />
+          <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-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/src/java/org" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/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-common/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-common/src/java/org/jboss/blog/rome" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
     </subPane>
   </component>
   <component name="ProjectReloadState">
@@ -558,7 +1221,10 @@
   </component>
   <component name="RecentsManager">
     <key name="MoveMembersDialog.RECENTS_KEY">
+      <recent name="org.jboss.blog.tools.UITools" />
+      <recent name="org.jboss.blog.tools.PortletTools" />
       <recent name="org.jboss.blog.tools.BasicTools" />
+      <recent name="org.jboss.blog.tools.FacesTools" />
     </key>
     <key name="CopyClassDialog.RECENTS_KEY">
       <recent name="org.jboss.blog.ui" />
@@ -568,11 +1234,11 @@
       <recent name="org.jboss.blog.service.configuration" />
     </key>
     <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
-      <recent name="org.jboss.blog" />
-      <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.store" />
+      <recent name="org.jboss.blog.service.permissions" />
+      <recent name="org.jboss.blog.service.name" />
+      <recent name="org.jboss.blog.service.model" />
+      <recent name="org.jboss.blog.service.configuration" />
     </key>
   </component>
   <component name="RestoreUpdateTree" />
@@ -703,13 +1369,13 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="25" width="1680" height="1000" extended-state="0" />
-    <editor active="false" />
+    <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="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24799506" order="0" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24799506" 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="false" weight="0.22565866" order="9" />
@@ -821,29 +1487,41 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
       <provider selected="true" editor-type-id="text-editor">
+        <state line="1" column="2" selection-start="39" selection-end="39" vertical-scroll-proportion="0.017814728">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java">
+      <provider selected="true" editor-type-id="text-editor">
         <state line="9" column="17" selection-start="242" selection-end="242" vertical-scroll-proportion="0.16033255">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/BlogTools.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="15" column="46" selection-start="407" selection-end="407" vertical-scroll-proportion="0.2672209">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="19" column="27" selection-start="632" selection-end="632" vertical-scroll-proportion="0.23159145">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/FacesTools.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="1" column="2" selection-start="39" selection-end="39" vertical-scroll-proportion="0.017814728">
+        <state line="0" column="20" selection-start="20" selection-end="20" vertical-scroll-proportion="0.0">
           <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/PortletTools.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="7" column="13" selection-start="149" selection-end="149" vertical-scroll-proportion="0.12470309">
+          <folding />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/build.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state line="17" column="65" selection-start="847" selection-end="847" vertical-scroll-proportion="0.017814728">




More information about the jboss-cvs-commits mailing list