[jboss-cvs] JBossBlog SVN: r21 - in trunk: . blog-core/src/etc/META-INF blog-core/src/java/org/jboss/blog/service/permissions/acl blog-core/src/java/org/jboss/blog/service/store blog-core/src/java/org/jboss/blog/service/store/hibernate blog-core/src/java/org/jboss/blog/ui blog-core/src/web/WEB-INF blog-core/src/web/views

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 8 18:17:43 EST 2006


Author: adamw
Date: 2006-11-08 18:17:29 -0500 (Wed, 08 Nov 2006)
New Revision: 21

Added:
   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/State.java
   trunk/blog-core/src/web/views/blog_edit.xhtml
   trunk/blog-core/src/web/views/blog_mod.xhtml
   trunk/blog-core/src/web/views/blog_view.xhtml
   trunk/blog-core/src/web/views/common.xhtml
   trunk/blog-core/src/web/views/post_view.xhtml
   trunk/blog-core/src/web/views/view.xhtml
Removed:
   trunk/blog-core/src/java/org/jboss/blog/ui/CurrentView.java
   trunk/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java
   trunk/blog-core/src/web/views/userblogview_t.xhtml
   trunk/blog-core/src/web/views/userview_t.xhtml
   trunk/blog-core/src/web/views/viewblog.xhtml
   trunk/blog-core/src/web/views/viewpost.xhtml
Modified:
   trunk/blog-core/src/etc/META-INF/acl-mapping.xml
   trunk/blog-core/src/etc/META-INF/acl-permissions.xml
   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/service/store/BlogStoreService.java
   trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
   trunk/blog-core/src/web/WEB-INF/faces-config.xml
   trunk/blog-core/src/web/views/index.xhtml
   trunk/jbossblog.iws
Log:
http://jira.jboss.com/jira/browse/JBBLOG-12

Modified: trunk/blog-core/src/etc/META-INF/acl-mapping.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-mapping.xml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/etc/META-INF/acl-mapping.xml	2006-11-08 23:17:29 UTC (rev 21)
@@ -36,10 +36,10 @@
 			</resource>
 		</function>
 
-        <function id="manageCategories" name="Manage Categories">
+        <function id="manageCategory" name="Manage Category">
 			<!-- ui protection -->
-			<resource type="fragment" criteriaId="manageCategories://ui">
-				<id>acl://manageCategories</id>
+			<resource type="fragment" criteriaId="manageCategory://ui">
+				<id>acl://manageCategory</id>
 			</resource>
 			<!-- action protection -->
 			<!--<resource type="jsfAction" criteriaId="manageCategories://action">
@@ -49,17 +49,17 @@
 			<implies>accessAdminModule</implies>
 		</function>
 
-        <function id="manageBlogs" name="Manage Blogs">
+        <function id="manageBlog" name="Manage Blog">
 			<!-- ui protection -->
-			<resource type="fragment" criteriaId="manageBlogs://ui">
-				<id>acl://manageBlogs</id>
+			<resource type="fragment" criteriaId="manageBlog://ui">
+				<id>acl://manageBlog</id>
 			</resource>
 			<!-- action protection -->
 			<!--<resource type="jsfAction" criteriaId="manageBlogs://action">
 				<class>org.jboss.blog.ui.action.AdminController</class>
 				<method>manageBlogs</method>
 			</resource>-->
-            <implies>manageCategories</implies>
+            <implies>manageCategory</implies>
 		</function>
 	</module>
 	
@@ -72,10 +72,10 @@
 			</resource>
 		</function>
 
-        <function id="viewComments" name="View Comments">
+        <function id="viewComment" name="View Comment">
 			<!-- ui protection -->
-			<resource type="fragment" criteriaId="viewComments://ui">
-				<id>acl://viewComments</id>
+			<resource type="fragment" criteriaId="viewComment://ui">
+				<id>acl://viewComment</id>
 			</resource>
 			<implies>viewCategory</implies>
 		</function>
@@ -90,34 +90,35 @@
 				<class>org.jboss.blog.ui.action.NewTopic</class>
 				<method>execute</method>
 			</resource>-->
-            <implies>viewComments</implies>
+            <implies>viewComment</implies>
         </function>
 	</module>		
 	
 	<!-- Blog Owner usecases -->
-	<module id="ownerModule" name="Owner Module">
-		<function id="managePosts" name="Manage Posts">
+	<module id="ownerModule" name="Owner Module">        
+        <function id="manageComment" name="Manage Comment">
 			<!-- ui protection -->
-			<resource type="fragment" criteriaId="managePosts://ui">
-				<id>acl://managePosts</id>
+			<resource type="fragment" criteriaId="manageComment://ui">
+				<id>acl://moveTopics</id>
 			</resource>
 			<!-- action protection -->
-			<!--<resource type="jsfAction" criteriaId="managePosts://action">
+			<!--<resource type="jsfAction" criteriaId="manageComments://action">				
 				<class>org.jboss.portlet.Blogs.ui.action.ModeratorAction</class>
-				<method>managePosts</method>
+				<method>manageComments</method>
 			</resource>-->
 		</function>
-        
-        <function id="manageComments" name="Manage Comments">
+
+        <function id="managePost" name="Manage Post">
 			<!-- ui protection -->
-			<resource type="fragment" criteriaId="manageComments://ui">
-				<id>acl://moveTopics</id>
+			<resource type="fragment" criteriaId="managePost://ui">
+				<id>acl://managePosts</id>
 			</resource>
 			<!-- action protection -->
-			<!--<resource type="jsfAction" criteriaId="manageComments://action">				
+			<!--<resource type="jsfAction" criteriaId="managePosts://action">
 				<class>org.jboss.portlet.Blogs.ui.action.ModeratorAction</class>
-				<method>manageComments</method>
+				<method>managePosts</method>
 			</resource>-->
-		</function>
+            <implies>manageComment</implies>
+        </function>
 	</module>
 </acl>
\ No newline at end of file

Modified: trunk/blog-core/src/etc/META-INF/acl-permissions.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-permissions.xml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/etc/META-INF/acl-permissions.xml	2006-11-08 23:17:29 UTC (rev 21)
@@ -28,7 +28,9 @@
 		<!--permission action="readCategory">
 			<criteria for="readCategory://ui">param[0].title.toLowerCase().startsWith('unit testing')</criteria>
 		</permission-->	
-		<permission action="viewComments"/>
+		<permission action="viewComment"/>
+        <permission action="manageCategory"/>
+        <!-- <permission action="all"/>	-->
 
         <!-- Owner Module permissions -->
 	</role>

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	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -69,8 +69,14 @@
 	        {
 	            contextStr = this.contextData.getValue();
 	        }
-	        
-	        //resourcesetup
+
+            ExpressionFactory f = ctx.getExpressionFactory();
+
+            // getting the value of fragment, in case it is a value binding.
+            ValueExpression expr = f.createValueExpression(ctx,resource,Object.class);
+	        resource = expr.getValue(ELAdaptor.getELContext(facesContext)).toString();
+
+            //resourcesetup
 	        Object[] runtime = null;
 	        if(contextStr!=null && contextStr.trim().length()>0)
 	        {
@@ -82,9 +88,8 @@
 	                String parameter = st.nextToken();
 	                Object parameterValue;
 	                
-	                //evaluate this expression to a value
-	                ExpressionFactory f = ctx.getExpressionFactory();
-	                ValueExpression expr = f.createValueExpression(ctx,parameter,Object.class);
+	                //evaluate this expression to a value	                
+	                expr = f.createValueExpression(ctx,parameter,Object.class);
 	                parameterValue = expr.getValue(ELAdaptor.getELContext(facesContext));
 	                                
 	                runtime[i++] = parameterValue;

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	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -63,11 +63,16 @@
 	            //this means a business action is going to be called...this needs to be authorized
 	            VariableResolver variableResolver = application.getVariableResolver();
 	            String expression = methodBinding.getExpressionString();
-	            String[] methodInfo = this.parseExpression(expression); 
-	            
-	            managedBean = variableResolver.resolveVariable(facesContext,methodInfo[0]);
+	            String[] methodInfo = this.parseExpression(expression);
+
+                if (methodInfo == null) {
+                    // This is not a method binding.
+                    return true;
+                }
+
+                managedBean = variableResolver.resolveVariable(facesContext,methodInfo[0]);
 	            businessAction = managedBean.getClass().getMethod(methodInfo[1],null);
-	        }
+            }
 	        
 	        //start building the SecurityContext here for the Authorization System
 	        JSFActionContext securityContext = new JSFActionContext(JBossPortalUtil.getUser(),facesContext);	        
@@ -93,13 +98,17 @@
     
     private String[] parseExpression(String expression)
     {
-        String[] values = new String[2];
-        
         int startIndex = expression.indexOf('{') + 1;
+
+        if (startIndex == 0) {
+            return null;
+        }
+
         int endIndex = expression.trim().length()-1;
         int dotIndex = expression.indexOf('.');
-        
-        
+
+        String[] values = new String[2];
+                
         values[0] = expression.substring(startIndex,dotIndex).trim();
         values[1] = expression.substring(dotIndex+1,endIndex).trim();
         

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -34,6 +34,15 @@
             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 getBlogModifiable(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.

Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -69,10 +69,29 @@
                 .setParameter("id", blogName.getId()).list();
     }
 
+    private boolean blogExists(BlogName blogName) {
+        Long count = (Long) sf.getCurrentSession().createQuery(
+                "select count(*) from HBlogModel as model where " +
+                "model.blogName = :name")
+                .setParameter("name", blogName)
+                .uniqueResult();
+
+        return (count.longValue() > 0);
+    }
+
     /**
      * @jmx.managed-operation
      * @jmx.managed-parameter type="org.jboss.blog.BlogName"
      */
+    public boolean getBlogModifiable(BlogName blogName) {
+        BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+        return blogExists(blogName);
+    }
+
+    /**
+     * @jmx.managed-operation
+     * @jmx.managed-parameter type="org.jboss.blog.BlogName"
+     */
     public ModifiableBlogModel getBlogModel(BlogName blogName)
             throws BlogModelDoesNotExistException {
         BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
@@ -125,14 +144,8 @@
         HBlogModel hmodel = (HBlogModel) model;
         BlogTools.assertNotNull(hmodel.getBlogName(), "Blog name cannot be null.");
 
-        // TODO: checking if the entry already exist or not. Can it be done in a better way?
-        Long count = (Long) sf.getCurrentSession().createQuery(
-                "select count(*) from HBlogModel as model where " +
-                "model.blogName = :name")
-                .setParameter("name", hmodel.getBlogName())
-                .uniqueResult();
-
-        if (count.longValue() > 0) {
+        // TODO: checking if the blog already exist or not. Can it be done in a better way?
+        if (blogExists(hmodel.getBlogName())) {
             throw new BlogModelAlreadyExistsException(hmodel.getBlogName().toString());
         }
 

Added: trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,69 @@
+package org.jboss.blog.ui;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class BlogEdit {
+    private State state;
+
+    private String title;
+    private String autor;
+    private String description;
+    private String link;
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getAutor() {
+        return autor;
+    }
+
+    public void setAutor(String autor) {
+        this.autor = autor;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getLink() {
+        return link;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+
+    public State getState() {
+        return state;
+    }
+
+    public void setState(State state) {
+        this.state = state;
+    }
+
+    // Actions
+
+    private String getReturnTo() {
+        String viewName = state.getReturnTo();
+        return viewName == null ? "blog_view" : viewName;
+    }
+
+    public String save() {
+        System.out.println("SAVING");
+        return getReturnTo();
+    }
+
+    public String back() {
+        return getReturnTo();
+    }
+}

Copied: trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java (from rev 20, trunk/blog-core/src/java/org/jboss/blog/ui/CurrentView.java)
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/CurrentView.java	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,297 @@
+package org.jboss.blog.ui;
+
+import org.jboss.blog.model.BlogModel;
+import org.jboss.blog.model.BlogModelDoesNotExistException;
+import org.jboss.blog.model.BlogPost;
+import org.jboss.blog.model.impl.DoesNotExistBlogPost;
+import org.jboss.blog.BlogName;
+import org.jboss.blog.service.store.BlogStoreService;
+import org.jboss.blog.service.store.model.ModifiableBlogModel;
+import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
+import org.jboss.blog.tools.BlogTools;
+
+import javax.faces.context.FacesContext;
+import javax.faces.component.UIData;
+import javax.faces.event.ActionEvent;
+import java.util.List;
+import java.util.Iterator;
+import java.util.Date;
+
+/**
+ * A request-scoped bean allowing to access current view setup - what and how
+ * should be displayed.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class BlogView {
+    public BlogView() {
+
+    }
+
+    // Faces-managed properties
+    private UIData postsData;
+    private State state;
+
+    public UIData getPostsData() {
+        return postsData;
+    }
+
+    public void setPostsData(UIData postsData) {
+        this.postsData = postsData;
+    }
+
+    public State getState() {
+        return state;
+    }
+
+    public void setState(State state) {
+        this.state = state;
+    }
+
+    // Cached properties
+    private BlogName blogName;
+    private BlogModel blogModel;
+    private BlogViewState blogViewState;
+    private Integer numberOfPostsPerPage;
+    private Boolean viewPostsOnSeparatePage;
+    private Boolean viewAllPosts;
+    private Boolean postsExpandable;
+
+    private Object getRequest() {
+        return FacesContext.getCurrentInstance().getExternalContext().getRequest();
+    }
+
+    public BlogName getBlogName() {
+        if (blogName == null) {
+            // Blog name from the state has precedence over the default one.
+            blogName = getState().getSelectedBlogName();
+            if (blogName == null) {
+                blogName = BlogTools.getBlogService().getNameService().getBlogName(getRequest());
+            }
+        }
+
+        return blogName;
+    }
+
+    public BlogModel getBlogModel() {
+        if (blogModel == null) {
+            try {
+                blogModel = BlogTools.getBlogService().getModelService().getBlogModel(
+                        getBlogName());
+            } catch (BlogModelDoesNotExistException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        return blogModel;
+    }
+
+    public Integer getNumberOfPostsPerPage() {
+        if (numberOfPostsPerPage == null) {
+            numberOfPostsPerPage = BlogTools.getBlogService().getConfigurationService().
+                    getNumberOfPostsPerPage(getRequest());
+        }
+
+        return numberOfPostsPerPage;
+    }
+
+    public Boolean getViewPostsOnSeparatePage() {
+        if (viewPostsOnSeparatePage == null) {
+            viewPostsOnSeparatePage = BlogTools.getBlogService().getConfigurationService().
+                    getViewPostsOnSeparatePage(getRequest());
+        }
+
+        return viewPostsOnSeparatePage;
+    }
+
+    public Boolean getViewAllPosts() {
+        if (viewAllPosts == null) {
+            viewAllPosts = BlogTools.getBlogService().getConfigurationService().
+                    getViewAllPosts(getRequest());
+        }
+
+        return viewAllPosts;
+    }
+
+    public BlogViewState getBlogViewState() {
+        if (blogViewState == null) {
+            blogViewState = getState().getBlogViewState(getBlogName());
+        }
+
+        return blogViewState;
+    }
+
+    public Boolean getPostsExpandable() {
+        if (postsExpandable == null) {
+            postsExpandable = Boolean.valueOf(!getViewAllPosts().booleanValue() ||
+                    getViewPostsOnSeparatePage().booleanValue());
+        }
+
+        return postsExpandable;
+    }
+
+    //
+
+    public boolean getHasPrevious() {
+        return getFrom().intValue() > 0;
+    }
+
+    public boolean getHasNext() {
+        return getTo().intValue() < getBlogModel().getPosts().size()-1;
+    }
+
+    public Integer getTo() {
+        return new Integer(getFrom().intValue() + getNumberOfPostsPerPage().intValue());
+    }
+
+    public Integer getFrom() {
+        return getBlogViewState().getFrom();
+    }
+
+    private void setFrom(Integer from) {
+        BlogViewState bvs = getBlogViewState();
+        bvs.setFrom(from);
+        setSelectedPostTitleAsId(null);
+    }
+
+    public List getPosts() {
+        return getBlogModel().getPosts().subList(getFrom().intValue(), getTo().intValue());
+    }
+
+    public String getSelectedPostTitleAsId() {
+        return getBlogViewState().getSelectedPostTitleAsId();
+    }
+
+    private void setSelectedPostTitleAsId(String selectedPostId) {
+        getBlogViewState().setSelectedPostTitleAsId(selectedPostId);
+    }
+
+    private BlogPost getDoesNotExistBlogEntry() {
+        return new DoesNotExistBlogPost("JBoss Blog", "This entry doesn't exist");
+    }
+
+    private BlogPost searchForBlogPost(List entries, String id, int from, int to) {
+        for (int i=from; i<=to; i++) {
+            BlogPost current = (BlogPost) entries.get(i);
+            if (id.equals(current.getTitleAsId())) {
+                return current;
+            }
+        }
+
+        return null;
+    }
+
+    public BlogPost getSelectedPost() {
+        String id = getSelectedPostTitleAsId();
+        List entries = getBlogModel().getPosts();
+
+        if (id == null) {
+            return getDoesNotExistBlogEntry();
+        }
+
+        BlogPost ret;
+
+        // First looking in the specified range.
+        ret = searchForBlogPost(entries, id, Math.max(getFrom().intValue(), 0),
+                Math.min(getTo().intValue(), entries.size()-1));
+
+        // If unsuccessfull, looking in all entries (we may find something if
+        // after selecting the entry, new entries have been added/ remvoed).
+        if (ret == null) {
+            ret = searchForBlogPost(entries, id, 0, entries.size()-1);
+        }
+
+        if (ret == null) {
+            return getDoesNotExistBlogEntry();
+        }
+
+        return ret;
+    }
+
+    // Actions
+
+    public String next() {
+        setFrom(new Integer(getFrom().intValue() + getNumberOfPostsPerPage().intValue()));
+
+        return null;
+    }
+
+    public String previous() {
+        setFrom(new Integer(Math.max(getFrom().intValue() - getNumberOfPostsPerPage().intValue(), 0)));
+
+        return null;
+    }
+
+    public String postView() {
+        BlogPost selected = (BlogPost) postsData.getRowData();
+
+        setSelectedPostTitleAsId(selected.getTitleAsId());
+
+        if (getViewPostsOnSeparatePage().booleanValue()) {
+            return "post_view";
+        } else {
+            return null;
+        }
+    }
+
+    // Action listeners
+
+    public void backFromPostView(ActionEvent e) {
+        setSelectedPostTitleAsId(null);
+    }
+
+    public void blogEditFromBlogView(ActionEvent e) {
+        getState().setReturnTo("blog_view");
+    }
+
+    public void blogEditFromPostView(ActionEvent e) {
+        getState().setReturnTo("post_view");
+    }
+
+    //
+
+    public String testAdd() {
+        int number = (int) (Math.random() * 10);
+
+        System.out.println("Adding " + number + ".");
+
+        try {
+            BlogStoreService bss = BlogTools.getBlogService().getStoreService();
+            ModifiableBlogModel mbm = bss.newBlogModel(
+                    new BlogName("id0", "cat" + number));
+
+            mbm.setAuthor("author" + number);
+            mbm.setCreated(new Date());
+            mbm.setTitle("title" + number);
+
+            try {
+                bss.saveNewBlogModel(mbm);
+            } catch (BlogModelAlreadyExistsException e) {
+                System.out.println("Not added " + number + ".");
+                return null;
+            }
+
+            System.out.println("Added " + number + ".");
+
+            return null;
+        } catch (RuntimeException e) {
+            e.printStackTrace();
+            throw e;
+        }
+    }
+
+    public String testList() {
+        try {
+            List l = BlogTools.getBlogService().getStoreService().getAllBlogs();
+
+            for (Iterator iter = l.iterator(); iter.hasNext();) {
+                System.out.print(iter.next());
+            }
+            System.out.println("---");
+        } catch (RuntimeException e) {
+            e.printStackTrace();
+            throw e;
+        }
+
+        return null;
+    }
+}

Deleted: trunk/blog-core/src/java/org/jboss/blog/ui/CurrentView.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/CurrentView.java	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/CurrentView.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -1,284 +0,0 @@
-package org.jboss.blog.ui;
-
-import org.jboss.blog.model.BlogModel;
-import org.jboss.blog.model.BlogModelDoesNotExistException;
-import org.jboss.blog.model.BlogPost;
-import org.jboss.blog.model.impl.DoesNotExistBlogPost;
-import org.jboss.blog.BlogName;
-import org.jboss.blog.service.store.BlogStoreService;
-import org.jboss.blog.service.store.model.ModifiableBlogModel;
-import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
-import org.jboss.blog.tools.BlogTools;
-
-import javax.faces.context.FacesContext;
-import javax.faces.component.UIData;
-import java.util.List;
-import java.util.Iterator;
-import java.util.Date;
-
-/**
- * A request-scoped bean allowing to access current view setup - what and how
- * should be displayed.
- * @author Adam Warski (adamw at aster.pl)
- */
-public class CurrentView {
-    public CurrentView() {
-
-    }
-
-    // Faces-managed properties
-    private UIData postsData;
-    private GlobalViewState viewState;
-
-    public UIData getPostsData() {
-        return postsData;
-    }
-
-    public void setPostsData(UIData postsData) {
-        this.postsData = postsData;
-    }
-
-    public GlobalViewState getViewState() {
-        return viewState;
-    }
-
-    public void setViewState(GlobalViewState viewState) {
-        this.viewState = viewState;
-    }
-
-    // Cached properties
-    private BlogName blogName;
-    private BlogModel blogModel;
-    private BlogViewState blogViewState;
-    private Integer numberOfPostsPerPage;
-    private Boolean viewPostsOnSeparatePage;
-    private Boolean viewAllPosts;
-    private Boolean postsExpandable;
-
-    private Object getRequest() {
-        return FacesContext.getCurrentInstance().getExternalContext().getRequest();
-    }
-
-    public BlogName getBlogName() {
-        if (blogName == null) {
-            blogName = BlogTools.getBlogService().getNameService().getBlogName(getRequest());
-        }
-
-        return blogName;
-    }
-
-    public BlogModel getBlogModel() {
-        if (blogModel == null) {
-            try {
-                blogModel = BlogTools.getBlogService().getModelService().getBlogModel(
-                        getBlogName());
-            } catch (BlogModelDoesNotExistException e) {
-                throw new RuntimeException(e);
-            }
-        }
-
-        return blogModel;
-    }
-
-    public Integer getNumberOfPostsPerPage() {
-        if (numberOfPostsPerPage == null) {
-            numberOfPostsPerPage = BlogTools.getBlogService().getConfigurationService().
-                    getNumberOfPostsPerPage(getRequest());
-        }
-
-        return numberOfPostsPerPage;
-    }
-
-    public Boolean getViewPostsOnSeparatePage() {
-        if (viewPostsOnSeparatePage == null) {
-            viewPostsOnSeparatePage = BlogTools.getBlogService().getConfigurationService().
-                    getViewPostsOnSeparatePage(getRequest());
-        }
-
-        return viewPostsOnSeparatePage;
-    }
-
-    public Boolean getViewAllPosts() {
-        if (viewAllPosts == null) {
-            viewAllPosts = BlogTools.getBlogService().getConfigurationService().
-                    getViewAllPosts(getRequest());
-        }
-
-        return viewAllPosts;
-    }
-
-    public BlogViewState getBlogViewState() {
-        if (blogViewState == null) {
-            blogViewState = viewState.getBlogViewState(getBlogName());
-        }
-
-        return blogViewState;
-    }
-
-    public Boolean getPostsExpandable() {
-        if (postsExpandable == null) {
-            postsExpandable = Boolean.valueOf(!getViewAllPosts().booleanValue() ||
-                    getViewPostsOnSeparatePage().booleanValue());
-        }
-
-        return postsExpandable;
-    }
-
-    //
-
-    public boolean getHasPrevious() {
-        return getFrom().intValue() > 0;
-    }
-
-    public boolean getHasNext() {
-        return getTo().intValue() < getBlogModel().getPosts().size()-1;
-    }
-
-    public Integer getTo() {
-        return new Integer(getFrom().intValue() + getNumberOfPostsPerPage().intValue());
-    }
-
-    public Integer getFrom() {
-        return getBlogViewState().getFrom();
-    }
-
-    private void setFrom(Integer from) {
-        BlogViewState bvs = getBlogViewState();
-        bvs.setFrom(from);
-        setSelectedPostTitleAsId(null);
-    }
-
-    public List getPosts() {
-        return getBlogModel().getPosts().subList(getFrom().intValue(), getTo().intValue());
-    }
-
-    public String getSelectedPostTitleAsId() {
-        return getBlogViewState().getSelectedPostTitleAsId();
-    }
-
-    private void setSelectedPostTitleAsId(String selectedPostId) {
-        getBlogViewState().setSelectedPostTitleAsId(selectedPostId);
-    }
-
-    private BlogPost getDoesNotExistBlogEntry() {
-        return new DoesNotExistBlogPost("JBoss Blog", "This entry doesn't exist");
-    }
-
-    private BlogPost searchForBlogPost(List entries, String id, int from, int to) {
-        for (int i=from; i<=to; i++) {
-            BlogPost current = (BlogPost) entries.get(i);
-            if (id.equals(current.getTitleAsId())) {
-                return current;
-            }
-        }
-
-        return null;
-    }
-
-    public BlogPost getSelectedPost() {
-        String id = getSelectedPostTitleAsId();
-        List entries = getBlogModel().getPosts();
-
-        if (id == null) {
-            return getDoesNotExistBlogEntry();
-        }
-
-        BlogPost ret;
-
-        // First looking in the specified range.
-        ret = searchForBlogPost(entries, id, Math.max(getFrom().intValue(), 0),
-                Math.min(getTo().intValue(), entries.size()-1));
-
-        // If unsuccessfull, looking in all entries (we may find something if
-        // after selecting the entry, new entries have been added/ remvoed).
-        if (ret == null) {
-            ret = searchForBlogPost(entries, id, 0, entries.size()-1);
-        }
-
-        if (ret == null) {
-            return getDoesNotExistBlogEntry();
-        }
-
-        return ret;
-    }
-
-    // Actions
-
-    public String next() {
-        setFrom(new Integer(getFrom().intValue() + getNumberOfPostsPerPage().intValue()));
-
-        return null;
-    }
-
-    public String previous() {
-        setFrom(new Integer(Math.max(getFrom().intValue() - getNumberOfPostsPerPage().intValue(), 0)));
-
-        return null;
-    }
-
-    public String back() {
-        setSelectedPostTitleAsId(null);
-
-        return "back";
-    }
-
-    public String viewPost() {
-        BlogPost selected = (BlogPost) postsData.getRowData();
-
-        setSelectedPostTitleAsId(selected.getTitleAsId());
-
-        if (getViewPostsOnSeparatePage().booleanValue()) {
-            return "viewpost";
-        } else {
-            return null;
-        }
-    }
-
-    //
-
-    public String testAdd() {
-        int number = (int) (Math.random() * 10);
-
-        System.out.println("Adding " + number + ".");
-
-        try {
-            BlogStoreService bss = BlogTools.getBlogService().getStoreService();
-            ModifiableBlogModel mbm = bss.newBlogModel(
-                    new BlogName("id0", "cat" + number));
-
-            mbm.setAuthor("author" + number);
-            mbm.setCreated(new Date());
-            mbm.setTitle("title" + number);
-
-            try {
-                bss.saveNewBlogModel(mbm);
-            } catch (BlogModelAlreadyExistsException e) {
-                System.out.println("Not added " + number + ".");
-                return null;
-            }
-
-            System.out.println("Added " + number + ".");
-
-            return null;
-        } catch (RuntimeException e) {
-            e.printStackTrace();
-            throw e;
-        }
-    }
-
-    public String testList() {
-        try {
-            List l = BlogTools.getBlogService().getStoreService().getAllBlogs();
-
-            for (Iterator iter = l.iterator(); iter.hasNext();) {
-                System.out.print(iter.next());
-            }
-            System.out.println("---");
-        } catch (RuntimeException e) {
-            e.printStackTrace();
-            throw e;
-        }
-
-        return null;
-    }
-}

Deleted: trunk/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -1,30 +0,0 @@
-package org.jboss.blog.ui;
-
-import org.jboss.blog.BlogName;
-
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * A session-scoped bean that remembers the current view state for each blog
- * that has been viewed.  
- * @author Adam Warski (adamw at aster.pl)
- */
-public class GlobalViewState {
-    // Map BlogName --> BlogViewState.
-    private Map blogViewStates;
-
-    public GlobalViewState() {
-        blogViewStates = new HashMap();
-    }
-
-    public BlogViewState getBlogViewState(BlogName blogName) {
-        BlogViewState ret = (BlogViewState) blogViewStates.get(blogName);
-        if (ret == null) {
-            ret = new BlogViewState();
-            blogViewStates.put(blogName, ret);
-        }
-
-        return ret;
-    }
-}

Copied: trunk/blog-core/src/java/org/jboss/blog/ui/State.java (from rev 15, trunk/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java)
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java	2006-10-24 22:07:48 UTC (rev 15)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/State.java	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,73 @@
+package org.jboss.blog.ui;
+
+import org.jboss.blog.BlogName;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * A session-scoped bean that remembers the current view state for each blog
+ * that has been viewed, plus administration parameters.   
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class State {
+    // Map BlogName --> BlogViewState.
+    private Map blogViewStates;
+
+    private String selectedBlogId;
+    private BlogName selectedBlogName;
+
+    private String returnTo;
+
+    public State() {
+        blogViewStates = new HashMap();
+    }
+
+    public BlogViewState getBlogViewState(BlogName blogName) {
+        BlogViewState ret = (BlogViewState) blogViewStates.get(blogName);
+        if (ret == null) {
+            ret = new BlogViewState();
+            blogViewStates.put(blogName, ret);
+        }
+
+        return ret;
+    }
+
+    /**
+     * Gets the id of the selected blog.
+     * @return Id of the blog selected for editing.
+     */
+    public String getSelectedBlogId() {
+        return selectedBlogId;
+    }
+
+    public void setSelectedBlogId(String selectedBlogId) {
+        this.selectedBlogId = selectedBlogId;
+    }
+
+    /**
+     * Gets the name of the selected blog.
+     * @return Name of the blog selected for viewing/ editing.
+     */
+    public BlogName getSelectedBlogName() {
+        return selectedBlogName;
+    }
+
+    public void setSelectedBlogName(BlogName selectedBlogName) {
+        this.selectedBlogName = selectedBlogName;
+    }
+
+    /**
+     * Gets the return to value.
+     * @return A string naming a view, to which the user should be directed
+     * after completing operations in the current view. Only relevant when
+     * the new view name depends on the originating view.
+     */
+    public String getReturnTo() {
+        return returnTo;
+    }
+
+    public void setReturnTo(String returnTo) {
+        this.returnTo = returnTo;
+    }
+}

Modified: trunk/blog-core/src/web/WEB-INF/faces-config.xml
===================================================================
--- trunk/blog-core/src/web/WEB-INF/faces-config.xml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/WEB-INF/faces-config.xml	2006-11-08 23:17:29 UTC (rev 21)
@@ -15,34 +15,60 @@
     </application>
 
     <managed-bean>
-        <managed-bean-name>currentView</managed-bean-name>
-        <managed-bean-class>org.jboss.blog.ui.CurrentView</managed-bean-class>
+        <managed-bean-name>blogView</managed-bean-name>
+        <managed-bean-class>org.jboss.blog.ui.BlogView</managed-bean-class>
         <managed-bean-scope>request</managed-bean-scope>
         <managed-property>
-            <property-name>viewState</property-name>
-            <value>#{viewState}</value>
+            <property-name>state</property-name>
+            <value>#{state}</value>
         </managed-property>
     </managed-bean>
 
     <managed-bean>
-        <managed-bean-name>viewState</managed-bean-name>
-        <managed-bean-class>org.jboss.blog.ui.GlobalViewState</managed-bean-class>
+        <managed-bean-name>blogEdit</managed-bean-name>
+        <managed-bean-class>org.jboss.blog.ui.BlogEdit</managed-bean-class>
+        <managed-bean-scope>request</managed-bean-scope>
+        <managed-property>
+            <property-name>state</property-name>
+            <value>#{state}</value>
+        </managed-property>
+    </managed-bean>
+
+    <managed-bean>
+        <managed-bean-name>state</managed-bean-name>
+        <managed-bean-class>org.jboss.blog.ui.State</managed-bean-class>
         <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
 
     <navigation-rule>
+        <from-view-id>*</from-view-id>
+        <navigation-case>
+            <from-outcome>blog_view</from-outcome>
+            <to-view-id>/views/index.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+
+    <navigation-rule>
+        <from-view-id>*</from-view-id>
+        <navigation-case>
+            <from-outcome>post_view</from-outcome>
+            <to-view-id>/views/post_view.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+
+    <navigation-rule>
         <from-view-id>/views/index.xhtml</from-view-id>
         <navigation-case>
-            <from-outcome>viewpost</from-outcome>
-            <to-view-id>/views/viewpost.xhtml</to-view-id>
+            <from-outcome>blog_edit</from-outcome>
+            <to-view-id>/views/blog_edit.xhtml</to-view-id>
         </navigation-case>
     </navigation-rule>
 
     <navigation-rule>
-        <from-view-id>/views/viewpost.xhtml</from-view-id>
+        <from-view-id>/views/post_view.xhtml</from-view-id>
         <navigation-case>
-            <from-outcome>back</from-outcome>
-            <to-view-id>/views/index.xhtml</to-view-id>
+            <from-outcome>blog_edit</from-outcome>
+            <to-view-id>/views/blog_edit.xhtml</to-view-id>
         </navigation-case>
     </navigation-rule>
 </faces-config>

Added: trunk/blog-core/src/web/views/blog_edit.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_edit.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/blog_edit.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,16 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:blog="http://www.jboss.org/portal/jbossblog">
+    <ui:composition template="blog_mod.xhtml">
+        <ui:param name="requiredPermission" value="acl://manageCategory" />
+        <ui:define name="editmain">
+            <h:form>
+                <h:commandLink value="Back" action="#{blogEdit.back}" /> <br  />
+                <h:commandLink value="Save" action="#{blogEdit.save}" />
+            </h:form>
+        </ui:define>
+    </ui:composition>
+</div>
\ No newline at end of file

Added: trunk/blog-core/src/web/views/blog_mod.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_mod.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/blog_mod.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,14 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:blog="http://www.jboss.org/portal/jbossblog">
+    <ui:composition template="common.xhtml">
+        <ui:define name="content">
+            <blog:isAllowed fragment="#{requiredPermission}" contextData="#{blogView.blogName}">
+                <ui:insert name="editmain" />
+            </blog:isAllowed>
+        </ui:define>
+    </ui:composition>
+</div>
\ No newline at end of file

Copied: trunk/blog-core/src/web/views/blog_view.xhtml (from rev 20, trunk/blog-core/src/web/views/viewblog.xhtml)
===================================================================
--- trunk/blog-core/src/web/views/viewblog.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/blog_view.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,59 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:blog="http://www.jboss.org/portal/jbossblog">
+<ui:composition template="view.xhtml">
+    <ui:define name="editlink">
+        <h:form>
+            <h:commandLink value="Edit"
+                           action="blog_edit"
+                           actionListener="#{blogView.blogEditFromBlogView}" />
+        </h:form>
+    </ui:define>
+
+    <ui:define name="viewmain">
+        <h2>Entries</h2>
+        <ul>
+        <h:dataTable value="#{blogView.posts}" var="post" binding="#{blogView.postsData}">
+            <h:column>
+            <li>
+                <h:form>
+                    <b>
+                    <h:commandLink value="#{post.title}"
+                                   action="#{blogView.postView}"
+                                   rendered="#{blogView.postsExpandable}" />
+
+                    <h:outputText value="#{post.title}"
+                                  rendered="#{!blogView.postsExpandable}" />
+                    </b><br />
+                </h:form>
+
+                <h:panelGroup rendered="#{blogView.viewAllPosts ||
+                        (blogView.selectedPostTitleAsId == post.titleAsId)}">
+                    #{post.description}
+                </h:panelGroup>
+
+                <hr />
+            </li>
+            </h:column>
+        </h:dataTable>
+        </ul>
+
+        <h2>Navigation</h2>
+        <h:panelGroup rendered="#{blogView.hasPrevious}">
+            <h:form>
+                <h:commandLink action="#{blogView.previous}">Previous</h:commandLink>
+            </h:form>
+            <br />
+        </h:panelGroup>
+
+        <h:panelGroup rendered="#{blogView.hasNext}">
+            <h:form>
+                <h:commandLink action="#{blogView.next}">Next</h:commandLink>
+            </h:form>
+        </h:panelGroup>
+    </ui:define>
+</ui:composition>
+</div>

Copied: trunk/blog-core/src/web/views/common.xhtml (from rev 15, trunk/blog-core/src/web/views/userview_t.xhtml)
===================================================================
--- trunk/blog-core/src/web/views/userview_t.xhtml	2006-10-24 22:07:48 UTC (rev 15)
+++ trunk/blog-core/src/web/views/common.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,12 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:blog="http://www.jboss.org/portal/jbossblog">
+    <!--<link rel='stylesheet' type='text/css' href='/???.css' media='screen'/>-->
+
+    <f:loadBundle basename="Messages" var="messages"/>
+
+    <ui:insert name="content" />
+</div>
\ No newline at end of file

Modified: trunk/blog-core/src/web/views/index.xhtml
===================================================================
--- trunk/blog-core/src/web/views/index.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/index.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -4,5 +4,5 @@
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:blog="http://www.jboss.org/portal/jbossblog">
-<ui:include src="viewblog.xhtml" />
+<ui:include src="blog_view.xhtml" />
 </div>
\ No newline at end of file

Copied: trunk/blog-core/src/web/views/post_view.xhtml (from rev 16, trunk/blog-core/src/web/views/viewpost.xhtml)
===================================================================
--- trunk/blog-core/src/web/views/viewpost.xhtml	2006-11-02 14:53:30 UTC (rev 16)
+++ trunk/blog-core/src/web/views/post_view.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,30 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:blog="http://www.jboss.org/portal/jbossblog">
+<ui:composition template="view.xhtml">
+    <ui:define name="editlink">
+        <h:form>
+            <h:commandLink value="Edit"
+                           action="blog_edit"
+                           actionListener="#{blogView.blogEditFromPostView}" />
+        </h:form>
+    </ui:define>
+
+    <ui:define name="viewmain">
+        <h2>Post</h2>
+
+        <b>#{blogView.selectedPost.title}</b><br />
+        #{blogView.selectedPost.description}
+                
+        <h2>Navigation</h2>
+        <h:form>
+            <h:commandLink action="blog_view" actionListener="#{blogView.backFromPostView}">
+                Back
+            </h:commandLink>
+        </h:form>
+    </ui:define>
+</ui:composition>
+</div>
\ No newline at end of file

Deleted: trunk/blog-core/src/web/views/userblogview_t.xhtml
===================================================================
--- trunk/blog-core/src/web/views/userblogview_t.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/userblogview_t.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -1,14 +0,0 @@
-<div  xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:c="http://java.sun.com/jstl/core"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:blog="http://www.jboss.org/portal/jbossblog">
-    <ui:composition template="userview_t.xhtml">
-        <ui:define name="bloginfo">
-            Title: #{currentView.blogModel.title} <br />
-            Description: #{currentView.blogModel.description} <br />
-            Author: #{currentView.blogModel.author}
-        </ui:define>
-    </ui:composition>
-</div>
\ No newline at end of file

Deleted: trunk/blog-core/src/web/views/userview_t.xhtml
===================================================================
--- trunk/blog-core/src/web/views/userview_t.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/userview_t.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -1,14 +0,0 @@
-<div  xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:c="http://java.sun.com/jstl/core"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:blog="http://www.jboss.org/portal/jbossblog">
-    <!--<link rel='stylesheet' type='text/css' href='/???.css' media='screen'/>-->
-
-    <f:loadBundle basename="Messages" var="messages"/>
-
-    <h2>Info</h2>
-    <ui:insert name="bloginfo" />
-    <ui:insert name="main" />
-</div>
\ No newline at end of file

Copied: trunk/blog-core/src/web/views/view.xhtml (from rev 15, trunk/blog-core/src/web/views/userblogview_t.xhtml)
===================================================================
--- trunk/blog-core/src/web/views/userblogview_t.xhtml	2006-10-24 22:07:48 UTC (rev 15)
+++ trunk/blog-core/src/web/views/view.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -0,0 +1,25 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:blog="http://www.jboss.org/portal/jbossblog">
+    <ui:composition template="common.xhtml">
+        <ui:define name="content">
+            <blog:isAllowed fragment="acl://viewCategory" contextData="#{blogView.blogName}">
+                <h2>Info</h2>
+                Title: #{blogView.blogModel.title} <br />
+                Description: #{blogView.blogModel.description} <br />
+                Author: #{blogView.blogModel.author}
+
+                <blog:isAllowed fragment="acl://manageCategory" contextData="#{blogView.blogName}">
+                    <p>Click here to edit: <ui:insert name="editlink" /></p>
+                </blog:isAllowed>
+
+                <p><h:messages /></p>
+
+                <ui:insert name="viewmain" />
+            </blog:isAllowed>
+        </ui:define>
+    </ui:composition>
+</div>
\ No newline at end of file

Deleted: trunk/blog-core/src/web/views/viewblog.xhtml
===================================================================
--- trunk/blog-core/src/web/views/viewblog.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/viewblog.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -1,57 +0,0 @@
-<div  xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:c="http://java.sun.com/jstl/core"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:blog="http://www.jboss.org/portal/jbossblog">
-<ui:composition template="userblogview_t.xhtml">
-    <ui:define name="main">
-        <h2>Test</h2>
-        <h:form>
-        <p><h:commandLink value="Add" action="#{currentView.testAdd}" /></p>
-        <p><h:commandLink value="List" action="#{currentView.testList}" /></p>
-        </h:form>
-
-        <h2>Entries</h2>
-        <ul>
-        <h:dataTable value="#{currentView.posts}" var="post" binding="#{currentView.postsData}">
-            <h:column>
-            <li>
-                <h:form>
-                    <b>
-                    <h:commandLink value="#{post.title}"
-                                   action="#{currentView.viewPost}"
-                                   rendered="#{currentView.postsExpandable}" />
-
-                    <h:outputText value="#{post.title}"
-                                  rendered="#{!currentView.postsExpandable}" />
-                    </b><br />
-                </h:form>
-
-                <h:panelGroup rendered="#{currentView.viewAllPosts ||
-                        (currentView.selectedPostTitleAsId == post.titleAsId)}">
-                    #{post.description}
-                </h:panelGroup>
-
-                <hr />
-            </li>
-            </h:column>
-        </h:dataTable>
-        </ul>
-
-        <h2>Navigation</h2>
-        <h:panelGroup rendered="#{currentView.hasPrevious}">
-            <h:form>
-                <h:commandLink action="#{currentView.previous}">Previous</h:commandLink>
-            </h:form>
-            <br />
-        </h:panelGroup>
-
-        <h:panelGroup rendered="#{currentView.hasNext}">
-            <h:form>
-                <h:commandLink action="#{currentView.next}">Next</h:commandLink>
-            </h:form>
-        </h:panelGroup>
-    </ui:define>
-</ui:composition>
-</div>

Deleted: trunk/blog-core/src/web/views/viewpost.xhtml
===================================================================
--- trunk/blog-core/src/web/views/viewpost.xhtml	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/blog-core/src/web/views/viewpost.xhtml	2006-11-08 23:17:29 UTC (rev 21)
@@ -1,20 +0,0 @@
-<div  xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:c="http://java.sun.com/jstl/core"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:blog="http://www.jboss.org/portal/jbossblog">
-<ui:composition template="userblogview_t.xhtml">
-    <ui:define name="main">
-        <h2>Post</h2>
-
-        <b>#{currentView.selectedPost.title}</b><br />
-        #{currentView.selectedPost.description}
-                
-        <h2>Navigation</h2>
-        <h:form>
-            <h:commandLink action="#{currentView.back}">Back</h:commandLink>
-        </h:form>
-    </ui:define>
-</ui:composition>
-</div>
\ No newline at end of file

Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws	2006-11-06 23:49:56 UTC (rev 20)
+++ trunk/jbossblog.iws	2006-11-08 23:17:29 UTC (rev 21)
@@ -17,25 +17,29 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateSessionFilter.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogPost.java" afterPath="" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogPost.hbm.xml" afterPath="" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/BlogModelAlreadyExistsException.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/build.xml" afterPath="$PROJECT_DIR$/blog-core/build.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogModel.hbm.xml" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/index.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/index.xhtml" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewpost.xhtml" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/State.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/userview_t.xhtml" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/common.xhtml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogModel.java" afterPath="" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java" afterPath="" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/userblogview_t.xhtml" afterPath="" />
     </list>
   </component>
   <component name="ChangeListSynchronizer" />
@@ -160,78 +164,99 @@
   </component>
   <component name="FileEditorManager">
     <leaf>
-      <file leaf-file-name="HibernateSessionFilter.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateSessionFilter.java">
+      <file leaf-file-name="view.xhtml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="33" column="65" selection-start="1270" selection-end="1270" vertical-scroll-proportion="0.63064516">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
+            <state line="9" column="25" selection-start="486" selection-end="486" vertical-scroll-proportion="0.22727273">
+              <folding />
             </state>
           </provider>
+          <provider editor-type-id="HtmlPreview">
+            <state />
+          </provider>
         </entry>
       </file>
-      <file leaf-file-name="CurrentView.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java">
+      <file leaf-file-name="acl-permissions.xml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="242" column="8" selection-start="6736" selection-end="6736" vertical-scroll-proportion="0.14838709">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
+            <state line="31" column="45" selection-start="1295" selection-end="1295" vertical-scroll-proportion="0.54545456">
+              <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="viewblog.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml">
+      <file leaf-file-name="faces-config.xml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="30" column="65" selection-start="1267" selection-end="1267" vertical-scroll-proportion="0.5858586">
+            <state line="48" column="31" selection-start="1821" selection-end="1821" vertical-scroll-proportion="0.53872055">
               <folding />
             </state>
           </provider>
-          <provider editor-type-id="HtmlPreview">
+          <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
             <state />
           </provider>
+          <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
+            <state />
+          </provider>
         </entry>
       </file>
-      <file leaf-file-name="jboss-service.xml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml">
+      <file leaf-file-name="acl-mapping.xml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="122" column="52" selection-start="5831" selection-end="5831" vertical-scroll-proportion="0.968595">
+            <state line="48" column="44" selection-start="2529" selection-end="2529" vertical-scroll-proportion="0.54545456">
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="HibernateBlogStoreService.java" pinned="false" current="true" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
+      <file leaf-file-name="blog_view.xhtml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="86" column="8" selection-start="2844" selection-end="2844" vertical-scroll-proportion="-0.37741935">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
+            <state line="14" column="4" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3181818">
+              <folding />
             </state>
           </provider>
+          <provider editor-type-id="HtmlPreview">
+            <state />
+          </provider>
         </entry>
       </file>
-      <file leaf-file-name="BlogStoreService.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java">
+      <file leaf-file-name="post_view.xhtml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="41" column="22" selection-start="1555" selection-end="1555" vertical-scroll-proportion="0.5645161">
+            <state line="10" column="50" selection-start="460" selection-end="460" vertical-scroll-proportion="0.25252524">
               <folding />
             </state>
           </provider>
+          <provider editor-type-id="HtmlPreview">
+            <state />
+          </provider>
         </entry>
       </file>
-      <file leaf-file-name="HBlogPost.hbm.xml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml">
+      <file leaf-file-name="blog_mod.xhtml" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="7" column="19" selection-start="280" selection-end="280" vertical-scroll-proportion="0.16935484">
+            <state line="10" column="8" selection-start="518" selection-end="518" vertical-scroll-proportion="0.25252524">
               <folding />
             </state>
           </provider>
+          <provider editor-type-id="HtmlPreview">
+            <state />
+          </provider>
         </entry>
       </file>
+      <file leaf-file-name="blog_edit.xhtml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="6" column="63" selection-start="333" selection-end="333" vertical-scroll-proportion="0.15151516">
+              <folding />
+            </state>
+          </provider>
+          <provider editor-type-id="HtmlPreview">
+            <state />
+          </provider>
+        </entry>
+      </file>
     </leaf>
   </component>
   <component name="FindManager">
@@ -437,10 +462,6 @@
           <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/security/acl" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -536,74 +557,6 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/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/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>
@@ -642,128 +595,6 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -840,154 +671,6 @@
           <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/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/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/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/portlet" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -1010,44 +693,6 @@
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
         <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/etc" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
@@ -1091,7 +736,7 @@
       <showLibraryContents />
       <hideEmptyPackages />
       <abbreviatePackageNames />
-      <showStructure Favorites="false" Scope="false" PackagesPane="false" ProjectPane="false" />
+      <showStructure PackagesPane="false" Scope="false" Favorites="false" ProjectPane="false" />
       <autoscrollToSource />
       <autoscrollFromSource />
       <sortByType />
@@ -1126,17 +771,24 @@
   </component>
   <component name="RestoreUpdateTree" />
   <component name="RunManager">
-    <configuration default="true" type="Applet" factoryName="Applet">
+    <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
       <module name="" />
-      <option name="MAIN_CLASS_NAME" />
-      <option name="HTML_FILE_NAME" />
-      <option name="HTML_USED" value="false" />
-      <option name="WIDTH" value="400" />
-      <option name="HEIGHT" value="300" />
-      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
-      <option name="VM_PARAMETERS" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+      <method>
+        <option name="Make" value="true" />
+      </method>
     </configuration>
     <configuration default="true" type="Remote" factoryName="Remote">
       <option name="USE_SOCKET_TRANSPORT" value="true" />
@@ -1155,24 +807,17 @@
       <option name="ENABLE_SWING_INSPECTOR" value="false" />
       <module name="" />
     </configuration>
-    <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+    <configuration default="true" type="Applet" factoryName="Applet">
       <module name="" />
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
-      <option name="ALTERNATIVE_JRE_PATH" />
-      <option name="PACKAGE_NAME" />
       <option name="MAIN_CLASS_NAME" />
-      <option name="METHOD_NAME" />
-      <option name="TEST_OBJECT" value="class" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
       <option name="VM_PARAMETERS" />
-      <option name="PARAMETERS" />
-      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
-      <option name="ADDITIONAL_CLASS_PATH" />
-      <option name="TEST_SEARCH_SCOPE">
-        <value defaultName="wholeProject" />
-      </option>
-      <method>
-        <option name="Make" value="true" />
-      </method>
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
     </configuration>
   </component>
   <component name="ScopeViewComponent">
@@ -1255,15 +900,15 @@
       <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="13" />
       <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" order="7" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.23997532" order="0" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22455275" order="0" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32914287" order="1" />
-      <window_info id="Structure" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24984577" order="7" />
+      <window_info id="Structure" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24367674" order="7" />
       <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22742857" order="9" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39977092" order="6" />
       <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="4" />
       <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="10" />
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="5" />
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24182603" order="1" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24737816" order="1" />
       <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" order="11" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24984577" order="2" />
@@ -1366,119 +1011,136 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="94" column="88" selection-start="3445" selection-end="3445" vertical-scroll-proportion="0.7822581">
+        <state line="52" column="4" selection-start="962" selection-end="962" vertical-scroll-proportion="0.8951613">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/common.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="18" column="42" selection-start="598" selection-end="598" vertical-scroll-proportion="0.36290324">
+        <state line="10" column="28" selection-start="455" selection-end="455" vertical-scroll-proportion="0.25252524">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="30" column="65" selection-start="1267" selection-end="1267" vertical-scroll-proportion="0.5858586">
+        <state line="37" column="24" selection-start="1251" selection-end="1251" vertical-scroll-proportion="0.75">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="122" column="52" selection-start="5831" selection-end="5831" vertical-scroll-proportion="0.968595">
+        <state line="70" column="26" selection-start="2538" selection-end="2538" vertical-scroll-proportion="0.42975205">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="7" column="19" selection-start="280" selection-end="280" vertical-scroll-proportion="0.16935484">
-          <folding />
+        <state line="214" column="44" selection-start="6183" selection-end="6183" vertical-scroll-proportion="0.30806452">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="15" column="34" selection-start="562" selection-end="562" vertical-scroll-proportion="0.37375414">
+        <state line="48" column="31" selection-start="1821" selection-end="1821" vertical-scroll-proportion="0.53872055">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
+        <state />
+      </provider>
+      <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/BlogTools.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="33" column="23" selection-start="1077" selection-end="1077" vertical-scroll-proportion="0.33225808">
+        <state line="31" column="45" selection-start="1295" selection-end="1295" vertical-scroll-proportion="0.54545456">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="46" column="90" selection-start="1580" selection-end="1580" vertical-scroll-proportion="0.733871">
+        <state line="48" column="44" selection-start="2529" selection-end="2529" vertical-scroll-proportion="0.54545456">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/BlogModelAlreadyExistsException.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="7" column="8" selection-start="232" selection-end="232" vertical-scroll-proportion="0.1744186">
+        <state line="10" column="50" selection-start="460" selection-end="460" vertical-scroll-proportion="0.25252524">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="100" column="56" selection-start="2269" selection-end="2269" vertical-scroll-proportion="0.7274194">
+        <state line="9" column="25" selection-start="486" selection-end="486" vertical-scroll-proportion="0.22727273">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="11" column="13" selection-start="284" selection-end="284" vertical-scroll-proportion="0.16935484">
+        <state line="14" column="4" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3181818">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="41" column="22" selection-start="1555" selection-end="1555" vertical-scroll-proportion="0.5645161">
+        <state line="6" column="63" selection-start="333" selection-end="333" vertical-scroll-proportion="0.15151516">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="242" column="8" selection-start="6736" selection-end="6736" vertical-scroll-proportion="0.14838709">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="53" column="19" selection-start="1926" selection-end="1926" vertical-scroll-proportion="0.72066116">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateSessionFilter.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="33" column="65" selection-start="1270" selection-end="1270" vertical-scroll-proportion="0.63064516">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="83" column="20" selection-start="2501" selection-end="2501" vertical-scroll-proportion="0.59504133">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="86" column="8" selection-start="2844" selection-end="2844" vertical-scroll-proportion="-0.37741935">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="10" column="8" selection-start="518" selection-end="518" vertical-scroll-proportion="0.25252524">
+          <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
   </component>
 </project>




More information about the jboss-cvs-commits mailing list