[jboss-cvs] JBossBlog SVN: r14 - in trunk: . blog-core blog-core/src/etc/META-INF blog-core/src/java/org/jboss blog-core/src/java/org/jboss/blog/service blog-core/src/java/org/jboss/blog/service/configuration blog-core/src/java/org/jboss/blog/service/model blog-core/src/java/org/jboss/blog/service/name blog-core/src/java/org/jboss/blog/tools blog-core/src/java/org/jboss/security blog-core/src/java/org/jboss/security/acl lib lib/jboss-jaae lib/jboss-portal

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 20 18:16:54 EDT 2006


Author: adamw
Date: 2006-10-20 18:16:42 -0400 (Fri, 20 Oct 2006)
New Revision: 14

Added:
   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/AbstractBlogService.java
   trunk/blog-core/src/java/org/jboss/security/
   trunk/blog-core/src/java/org/jboss/security/acl/
   trunk/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml
   trunk/lib/jboss-jaae/
   trunk/lib/jboss-jaae/jboss-acl.jar
   trunk/lib/jboss-jaae/jboss-identity-management.jar
   trunk/lib/jboss-jaae/jboss-security-common.jar
   trunk/lib/jboss-portal/
   trunk/lib/jboss-portal/portal-identity-lib.jar
Modified:
   trunk/blog-core/blog-core.iml
   trunk/blog-core/build.xml
   trunk/blog-core/src/etc/META-INF/jboss-service.xml
   trunk/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java
   trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java
   trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java
   trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java
   trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java
   trunk/blog-core/src/java/org/jboss/blog/service/name/AbstractBlogNameService.java
   trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java
   trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java
   trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java
   trunk/jbossblog.ipr
   trunk/jbossblog.iws
Log:
http://jira.jboss.com/jira/browse/JBBLOG-5

Modified: trunk/blog-core/blog-core.iml
===================================================================
--- trunk/blog-core/blog-core.iml	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/blog-core.iml	2006-10-20 22:16:42 UTC (rev 14)
@@ -83,10 +83,11 @@
         <SOURCES />
       </library>
     </orderEntry>
+    <orderEntry type="library" name="xdoclet" level="project" />
     <orderEntry type="module-library">
       <library>
         <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-jmx-module-1.2.3.jar!/" />
+          <root url="jar://$MODULE_DIR$/../lib/jboss-portal/portal-identity-lib.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />
@@ -95,7 +96,7 @@
     <orderEntry type="module-library">
       <library>
         <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/commons-collections-2.0.jar!/" />
+          <root url="jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-identity-management.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />
@@ -104,7 +105,7 @@
     <orderEntry type="module-library">
       <library>
         <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-jboss-module-1.2.3.jar!/" />
+          <root url="jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-security-common.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />
@@ -113,57 +114,12 @@
     <orderEntry type="module-library">
       <library>
         <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-ejb-module-1.2.3.jar!/" />
+          <root url="jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-acl.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />
       </library>
     </orderEntry>
-    <orderEntry type="module-library">
-      <library>
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/log4j.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="module-library">
-      <library>
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-web-module-1.2.3.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="module-library">
-      <library>
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/commons-logging.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="module-library">
-      <library>
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-1.2.3.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="module-library">
-      <library>
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../lib/xdoclet/xjavadoc-1.1.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
     <orderEntryProperties />
   </component>
   <component name="WebModuleBuildComponent">
@@ -189,81 +145,60 @@
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/jboss-jmx.jar" />
-      <url>jar://$MODULE_DIR$/../lib/jboss/jboss-jmx.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/jboss-acl.jar" />
+      <url>jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-acl.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/jboss-system.jar" />
-      <url>jar://$MODULE_DIR$/../lib/jboss/jboss-system.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/jboss-identity-management.jar" />
+      <url>jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-identity-management.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/portlet-api-lib.jar" />
-      <url>jar://$MODULE_DIR$/../lib/portlet/portlet-api-lib.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/jboss-security-common.jar" />
+      <url>jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-security-common.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/jdom-1.0.jar" />
-      <url>jar://$MODULE_DIR$/../lib/rome/jdom-1.0.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/portal-identity-lib.jar" />
+      <url>jar://$MODULE_DIR$/../lib/jboss-portal/portal-identity-lib.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/rome-0.8.jar" />
-      <url>jar://$MODULE_DIR$/../lib/rome/rome-0.8.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/jboss-jmx.jar" />
+      <url>jar://$MODULE_DIR$/../lib/jboss/jboss-jmx.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/commons-collections-2.0.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/commons-collections-2.0.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/jboss-system.jar" />
+      <url>jar://$MODULE_DIR$/../lib/jboss/jboss-system.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/commons-logging.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/commons-logging.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/portlet-api-lib.jar" />
+      <url>jar://$MODULE_DIR$/../lib/portlet/portlet-api-lib.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/log4j.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/log4j.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/jdom-1.0.jar" />
+      <url>jar://$MODULE_DIR$/../lib/rome/jdom-1.0.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
       <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/xdoclet-1.2.3.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-1.2.3.jar!/</url>
+      <attribute name="URI" value="/WEB-INF/lib/rome-0.8.jar" />
+      <url>jar://$MODULE_DIR$/../lib/rome/rome-0.8.jar!/</url>
     </containerElement>
     <containerElement type="library" level="module">
-      <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/xdoclet-ejb-module-1.2.3.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-ejb-module-1.2.3.jar!/</url>
-    </containerElement>
-    <containerElement type="library" level="module">
-      <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/xdoclet-jboss-module-1.2.3.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-jboss-module-1.2.3.jar!/</url>
-    </containerElement>
-    <containerElement type="library" level="module">
-      <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/xdoclet-jmx-module-1.2.3.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-jmx-module-1.2.3.jar!/</url>
-    </containerElement>
-    <containerElement type="library" level="module">
-      <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/xdoclet-web-module-1.2.3.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/xdoclet-web-module-1.2.3.jar!/</url>
-    </containerElement>
-    <containerElement type="library" level="module">
-      <attribute name="method" value="1" />
-      <attribute name="URI" value="/WEB-INF/lib/xjavadoc-1.1.jar" />
-      <url>jar://$MODULE_DIR$/../lib/xdoclet/xjavadoc-1.1.jar!/</url>
-    </containerElement>
-    <containerElement type="library" level="module">
       <attribute name="method" value="0" />
       <attribute name="URI" value="&lt;N/A&gt;" />
       <url>jar://$APPLICATION_HOME_DIR$/lib/javaee.jar!/</url>
     </containerElement>
     <containerElement type="library" name="jsf" level="project">
-      <attribute name="method" value="1" />
+      <attribute name="method" value="0" />
+      <attribute name="URI" value="&lt;N/A&gt;" />
+    </containerElement>
+    <containerElement type="library" name="xdoclet" level="project">
+      <attribute name="method" value="0" />
       <attribute name="URI" value="/WEB-INF/lib" />
     </containerElement>
     <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/web/WEB-INF/web.xml" optional="false" version="2.3" />

Modified: trunk/blog-core/build.xml
===================================================================
--- trunk/blog-core/build.xml	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/build.xml	2006-10-20 22:16:42 UTC (rev 14)
@@ -29,19 +29,27 @@
     <!-- Dependency jars filesets definitions -->
     <fileset id="rome.jars" dir="../lib/rome"><include name="**/*.jar"/></fileset>
     <fileset id="jboss.jars" dir="../lib/jboss"><include name="**/*.jar"/></fileset>
+    <fileset id="jboss.portal.jars" dir="../lib/jboss-portal"><include name="**/*.jar"/></fileset>
+    <fileset id="jboss.jaae.jars" dir="../lib/jboss-jaae"><include name="**/*.jar"/></fileset>
     <fileset id="portlet.jars" dir="../lib/portlet"><include name="**/*.jar"/></fileset>
     <fileset id="facelets.jars" dir="../lib/facelets"><include name="**/*.jar"/></fileset>
     <fileset id="myfaces.jars" dir="../lib/myfaces"><include name="**/*.jar"/></fileset>
     <fileset id="jstl.jars" dir="../lib/jstl"><include name="**/*.jar"/></fileset>
 
+    <fileset id="log4j.jar" dir="../lib/xdoclet"><include name="log4j.jar"/></fileset>
+
     <!-- Classpath for building the application: includes all dependency jars -->
     <path id="base.jars">
         <fileset refid="rome.jars" />
         <fileset refid="jboss.jars" />
+        <fileset refid="jboss.portal.jars" />
+        <fileset refid="jboss.jaae.jars" />
         <fileset refid="portlet.jars" />
         <fileset refid="facelets.jars" />
         <fileset refid="myfaces.jars" />
         <fileset refid="jstl.jars" />
+
+        <fileset refid="log4j.jar" />
     </path>
 
     <!-- XDoclet task definition -->
@@ -70,6 +78,12 @@
         <javac srcdir="${src.java}" destdir="${build}" target="1.4" source="1.4">
             <classpath refid="base.jars" />
         </javac>
+        <!-- Copying any xmls -->
+        <copy todir="${build}">
+            <fileset dir="${src.java}">
+                <include name="**/*.xml"/>
+            </fileset>
+        </copy>
         <!-- Creating the xmbean xml-s -->
         <jmxdoclet destdir="${build}">
             <fileset dir="${src.java}"><include name="**/*.java"/></fileset>
@@ -96,6 +110,7 @@
 
         <!-- Copying dependency jars -->
         <copy todir="${dist.lib.dir}"><fileset refid="rome.jars"/></copy>
+        <copy todir="${dist.lib.dir}"><fileset refid="jboss.jaae.jars"/></copy>
         <antcall target="copy-libs-for-servlet" />
     </target>
 

Added: trunk/blog-core/src/etc/META-INF/acl-mapping.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-mapping.xml	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/etc/META-INF/acl-mapping.xml	2006-10-20 22:16:42 UTC (rev 14)
@@ -0,0 +1,133 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!--  make sure all class values are fully qualified names of concrete classes. Interfaces are not supported at this point -->
+<!--  think of the extra-info tag in the permission tag as parameters to the custom Enforcer, Default Enforcer ignores these, extra-info tags are not required -->
+<!--  some rules regarding the relationships between the various concepts. These are subject to change as this framework evolves -->
+
+<!--
+	the functionId - id attribute within the function tag should be unique across the system
+	
+	A resource can be associated with multiple functions, but a resource cannot be associated with multiple modules
+	
+	Module defines the overall component that needs protection within the system, Function defines various protected functions within a Module, and
+	Resources are system level objects (java methods, user interface fragments etc) that need to be accessed to successfully perform a function 
+	within a module 
+			
+	An Enforcer is the object that actually performs the access control logic. The framework comes bundled with a DefaultEnforcer which should take care of 90% 
+    of ACL cases for an application. Applications can plug-in their own Enforcer that can perform this logic based on the runtime values, extra-parameter
+    values etc. Having the Enforcer perform the access control logic keeps any ACL checking code to be hard coded within the business logic of the
+    application. This leads to better flexibility from a security perspective of the system 
+    
+    List of system resources supported:
+    1) Java Class Methods - type=method
+    2) UI Fragments within a Page - type=fragment
+    
+    List of resource extensions:
+    3) JSF ManagedBean action - type=jsfAction
+ -->
+
+<acl>
+	<!-- Blog Admin usecases  -->
+	<module id="adminModule" name="Admin Module">
+		<function id="accessAdminModule" name="Access Admin Module">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="accessAdminModule://ui">
+				<id>acl://accessAdminModule</id>
+			</resource>
+		</function>
+
+		<function id="viewBlog" name="View Blog">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="viewBlog://ui">
+				<id>acl://viewBlog</id>
+			</resource>
+			<implies>accessAdminModule</implies>
+		</function>
+
+        <function id="manageCategories" name="Manage Categories">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="manageCategories://ui">
+				<id>acl://manageCategories</id>
+			</resource>
+			<!-- action protection -->
+			<resource type="jsfAction" criteriaId="manageCategories://action">
+				<class>org.jboss.blog.ui.action.AdminController</class>
+				<method>manageCategories</method>
+			</resource>
+			<implies>accessAdminModule</implies>
+			<implies>viewBlog</implies>
+		</function>
+
+        <function id="manageBlogs" name="Manage Blogs">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="manageBlogs://ui">
+				<id>acl://manageBlogs</id>
+			</resource>
+			<!-- action protection -->
+			<resource type="jsfAction" criteriaId="manageBlogs://action">
+				<class>org.jboss.blog.ui.action.AdminController</class>
+				<method>manageBlogs</method>
+			</resource>
+			<implies>accessAdminModule</implies>
+            <implies>manageCategories</implies>
+            <implies>viewBlog</implies>
+		</function>
+	</module>
+	
+	<!-- Blog User usecases -->
+	<module id="userModule" name="User Module">
+		<function id="viewCategory" name="View Category">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="viewCategory://ui">
+				<id>acl://viewCategory</id>
+			</resource>
+		</function>
+
+        <function id="viewComments" name="View Comments">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="viewComments://ui">
+				<id>acl://viewComments</id>
+			</resource>
+			<implies>viewCategory</implies>
+		</function>
+
+		<function id="addComment" name="Add Comment">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="addComment://ui">
+				<id>acl://addComment</id>
+			</resource>
+			<!-- action protection -->
+			<resource type="jsfAction" criteriaId="addComment://action">				
+				<class>org.jboss.blog.ui.action.NewTopic</class>
+				<method>execute</method>				
+			</resource>
+		</function>
+	</module>		
+	
+	<!-- Blog Owner usecases -->
+	<module id="ownerModule" name="Owner Module">
+		<function id="managePosts" name="Manage Posts">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="managePosts://ui">
+				<id>acl://managePosts</id>
+			</resource>
+			<!-- action protection -->
+			<resource type="jsfAction" criteriaId="managePosts://action">
+				<class>org.jboss.portlet.Blogs.ui.action.ModeratorAction</class>
+				<method>managePosts</method>
+			</resource>
+		</function>
+        
+        <function id="manageComments" name="Manage Comments">
+			<!-- ui protection -->
+			<resource type="fragment" criteriaId="manageComments://ui">
+				<id>acl://moveTopics</id>
+			</resource>
+			<!-- action protection -->
+			<resource type="jsfAction" criteriaId="manageComments://action">				
+				<class>org.jboss.portlet.Blogs.ui.action.ModeratorAction</class>
+				<method>manageComments</method>
+			</resource>
+		</function>
+	</module>
+</acl>
\ No newline at end of file

Added: trunk/blog-core/src/etc/META-INF/acl-permissions.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-permissions.xml	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/etc/META-INF/acl-permissions.xml	2006-10-20 22:16:42 UTC (rev 14)
@@ -0,0 +1,94 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!--
+	Each role contains a set of permissions. Each permission/no-permission points to a function in the system that this role has/doesnot have access to.
+ -->
+
+<acl>				
+	<!--  dynamic roles/permissions defined for the application at runtime (either through the GUI or directly modifying this xml file) -->	
+	<!--
+			Sample permission = 
+			<permission functionId="editCategory"/>	 //plain without criteria
+			
+			<permission functionId="editCategory"> //complicated with criteria specification
+				<criteria context="jsfAction">target.categoryName.indexOf('sandbox') != -1</criteria>			
+				<criteria context="fragment">param[0].categoryName.toLowerCase().indexOf('sandbox') != -1</criteria>
+			</permission>				
+	-->
+	
+	<!--  
+		built-in system defined roles 
+	-->
+	<!-- non-logged in users -->
+	<role name="Anonymous" id="anonymous">	
+		<!-- Admin Module permissions -->
+
+		<!-- User Module permissions -->
+		<!-- giving anonymous users permission to view only the Unit Testing Category of Forums -->
+		<!--permission action="readCategory">
+			<criteria for="readCategory://ui">param[0].title.toLowerCase().startsWith('unit testing')</criteria>
+		</permission-->	
+		<permission action="viewComments"/>
+
+		<!-- Owner Module permissions -->									
+	</role>
+	
+	<!-- just a regular registered user -->	
+	<role name="User" id="user">
+		<!-- Admin Module permissions -->
+		
+		<!-- User Module permissions -->
+		<permission action="addComments"/>
+		<!-- permission to edit only my own posts -->
+		<!--<permission action="editPost">
+			<criteria for="editPost://ui">param[0].poster.user.userName.equals(identity.identity.userName)</criteria>
+			<criteria for="editPost://action">target.post.poster.user.userName.equals(identity.identity.userName)</criteria>
+		</permission>-->
+
+		<!-- Owner Module permissions -->					
+	</role>
+	
+	<!-- users with Admin privileges -->	
+	<role name="Admin" id="admin">
+		<!-- Admin Module permissions -->
+		
+		<!-- User Module permissions -->
+		
+		<!-- Owner Module permissions -->
+		
+		<!-- wild card permission -->
+		<permission action="all"/>		
+	</role>		
+	
+	<!-- 
+		deployment specific roles......just examples of how fine grained permissions can be assigned
+		this is an example of how the rules would possibly setup for JBoss.org Forums...
+		These policy rules vary for each consumer of forums depending on their own requirements of
+		access control security 
+	-->
+	
+	<!-- permissions specific to the Drools Team -->
+	<!--<role name="Drools Team" id="droolsTeam">
+		<permission action="viewCategory">
+			<criteria for="viewCategory://ui">param[0].title.toLowerCase().startsWith('jboss rules')</criteria>
+		</permission>
+		<permission action="deleteCategory">
+			<criteria for="deleteCategory://action">target.categoryName.toLowerCase().startsWith('jboss rules')</criteria>
+			<-- also criteria for the implied edit category permission ->
+			<criteria for="editCategory://action">target.categoryName.toLowerCase().startsWith('jboss rules')</criteria>
+		</permission>
+		<permission action="viewForum">
+			<criteria for="viewForum://ui">param[0].name.toLowerCase().startsWith('jboss rules')</criteria>
+		</permission>			
+		<permission action="deleteForum">
+			<criteria for="deleteForum://action">target.forumName.toLowerCase().startsWith('jboss rules')</criteria>
+			<-- also criteria for the implied edit category permission ->
+			<criteria for="editForum://action">target.forumName.toLowerCase().startsWith('jboss rules')</criteria>
+		</permission>
+
+		<permission action="readCategory">
+			<criteria for="readCategory://ui">param[0].title.toLowerCase().startsWith('jboss rules')</criteria>
+		</permission>
+		<permission action="readForum"/>					
+	</role>-->
+</acl>
\ No newline at end of file

Modified: trunk/blog-core/src/etc/META-INF/jboss-service.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-10-20 22:16:42 UTC (rev 14)
@@ -1,9 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE server PUBLIC
-        "-//JBoss//DTD MBean Service 3.2//EN"
+<!DOCTYPE server
+        PUBLIC "-//JBoss//DTD MBean Service 4.0//EN"
         "http://www.jboss.org/j2ee/dtd/jboss-service_4_0.dtd">
 <server>
+    <!-- Main blog service -->
     <mbean
+            code="org.jboss.blog.service.BlogServiceImpl"
+            name="blog:service=Main"
+            xmbean-dd="org/jboss/blog/service/BlogServiceImpl.xml">
+        <depends
+                optional-attribute-name="NameService"
+                proxy-type="attribute">blog:service=Name</depends>
+        <depends
+                optional-attribute-name="ModelService"
+                proxy-type="attribute">blog:service=Model</depends>
+        <depends
+                optional-attribute-name="PermissionsService"
+                proxy-type="attribute">blog:service=Permissions</depends>
+        <depends
+                optional-attribute-name="ConfigurationService"
+                proxy-type="attribute">blog:service=Configuration</depends>
+    </mbean>
+
+    <!-- Name service -->
+    <mbean
             code="org.jboss.blog.service.name.InitParamsBlogNameService"
             name="blog:service=Name"
             xmbean-dd="org/jboss/blog/service/name/PortletPreferencesBlogNameService.xml" >
@@ -11,6 +31,7 @@
         <attribute name="CategoryName">blogCategory</attribute>
     </mbean>
 
+    <!-- Configuration service -->
     <mbean
             code="org.jboss.blog.service.configuration.InitParamsBlogConfigurationService"
             name="blog:service=Configuration"
@@ -20,6 +41,7 @@
         <attribute name="ViewAllEntriesName">viewAllEntries</attribute>
     </mbean>
 
+    <!-- Model service -->
     <mbean
             code="org.jboss.blog.service.model.CachingBlogModelService"
             name="blog:service=Model"
@@ -34,6 +56,7 @@
             xmbean-dd="org/jboss/blog/service/model/RomeParsingBlogModelService.xml">
     </mbean>
 
+    <!-- Permissions service -->
     <mbean
             code="org.jboss.blog.service.permissions.BasicBlogPermissionsService"
             name="blog:service=Permissions"
@@ -43,22 +66,11 @@
         <attribute name="AllowedToAdd">Administrator</attribute>
         <attribute name="AllowedToAdminister">Administrator</attribute>
     </mbean>
+    <!-- JAAE service -->
+    <mbean code="org.jboss.security.acl.AclKernelFactory"
+           name="org.jboss.security.acl.AclKernelFactory:service=aclKernelFactory"
+           xmbean-dd="org/jboss/security/acl/AclKernelFactory.xml">
+        <attribute name="aclKernel">org.jboss.security.acl.JBossAclKernel</attribute>
+    </mbean>
 
-    <mbean
-            code="org.jboss.blog.service.BlogServiceImpl"
-            name="blog:service=Main"
-            xmbean-dd="org/jboss/blog/service/BlogServiceImpl.xml">
-        <depends
-                optional-attribute-name="NameService"  
-                proxy-type="attribute">blog:service=Name</depends>
-        <depends
-                optional-attribute-name="ModelService"
-                proxy-type="attribute">blog:service=Model</depends>
-        <depends
-                optional-attribute-name="PermissionsService"
-                proxy-type="attribute">blog:service=Permissions</depends>
-        <depends
-                optional-attribute-name="ConfigurationService"
-                proxy-type="attribute">blog:service=Configuration</depends>
-    </mbean>
 </server>
\ No newline at end of file

Added: trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -0,0 +1,10 @@
+package org.jboss.blog.service;
+
+import org.jboss.system.ServiceMBeanSupport;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public abstract class AbstractBlogService extends ServiceMBeanSupport {
+    protected static final String REQUEST_NULL_EX_MSG = "Request can't be null."; 
+}

Modified: trunk/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -1,11 +1,11 @@
 package org.jboss.blog.service.configuration;
 
-import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.blog.service.AbstractBlogService;
 
 /**
  * @author Adam Warski (adamw at aster.pl)
  */
-public abstract class AbstractPreferencesBlogConfigurationService extends ServiceMBeanSupport
+public abstract class AbstractPreferencesBlogConfigurationService extends AbstractBlogService
         implements BlogConfigurationService {
     private String numberOfEntriesPerPageName;
     private String viewEntriesOnSeparatePageName;
@@ -13,12 +13,16 @@
 
     /**
      * @jmx.managed-attribute
+     * @return Name of the property under which the number of entries per page
+     * to display can be found.
      */
     public String getNumberOfEntriesPerPageName() {
         return numberOfEntriesPerPageName;
     }
 
     /**
+     * @param numberOfEntriesPerPageName Name of the property under which the
+     * number of entries per apge to display can be found.
      * @jmx.managed-attribute
      */
     public void setNumberOfEntriesPerPageName(String numberOfEntriesPerPageName) {

Modified: trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -16,6 +16,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public Integer getNumberOfEntriesPerPage(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         try {
             return Integer.valueOf(BlogTools.getInitParam(
                     getNumberOfEntriesPerPageName()));
@@ -29,6 +30,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public Boolean getViewEntriesOnSeparatePage(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         return Boolean.valueOf(BlogTools.getInitParam(
                 getViewEntriesOnSeparatePageName()));
     }
@@ -38,6 +40,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public Boolean getViewAllEntries(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         return Boolean.valueOf(BlogTools.getInitParam(
                 getViewAllEntriesName()));
     }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -16,6 +16,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public Integer getNumberOfEntriesPerPage(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         try {
             return Integer.valueOf(BlogTools.getPortletPreference(
                     BlogTools.castToPortletRequest(this, request),
@@ -30,6 +31,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public Boolean getViewEntriesOnSeparatePage(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         return Boolean.valueOf(BlogTools.getPortletPreference(
                 BlogTools.castToPortletRequest(this, request),
                 getViewEntriesOnSeparatePageName()));
@@ -40,6 +42,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public Boolean getViewAllEntries(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         return Boolean.valueOf(BlogTools.getPortletPreference(
                 BlogTools.castToPortletRequest(this, request),
                 getViewAllEntriesName()));

Modified: trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -3,7 +3,7 @@
 import org.jboss.blog.model.BlogModel;
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.BlogName;
-import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.blog.service.AbstractBlogService;
 
 /**
  * A blog model service which caches models returned by another blog model
@@ -13,7 +13,7 @@
  * @jmx.mbean
  * @jboss.xmbean
  */
-public class CachingBlogModelService extends ServiceMBeanSupport implements BlogModelService {
+public class CachingBlogModelService extends AbstractBlogService implements BlogModelService {
     public CachingBlogModelService() {
 
     }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -4,9 +4,9 @@
 import org.jboss.blog.model.BlogModelDoesNotExistException;
 import org.jboss.blog.model.BlogEntry;
 import org.jboss.blog.BlogName;
+import org.jboss.blog.service.AbstractBlogService;
 import org.jboss.blog.rome.CommentRssModule;
 import org.jboss.blog.tools.BlogTools;
-import org.jboss.system.ServiceMBeanSupport;
 
 import java.util.List;
 import java.util.ArrayList;
@@ -26,7 +26,7 @@
  * @jmx.mbean
  * @jboss.xmbean
  */
-public class RomeParsingBlogModelService extends ServiceMBeanSupport implements BlogModelService {
+public class RomeParsingBlogModelService extends AbstractBlogService implements BlogModelService {
     public RomeParsingBlogModelService() {
 
     }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/name/AbstractBlogNameService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/name/AbstractBlogNameService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/name/AbstractBlogNameService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -1,12 +1,13 @@
 package org.jboss.blog.service.name;
 
 import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.blog.service.AbstractBlogService;
 
 /**
  * @author Adam Warski (adamw at aster.pl)
  */
-public abstract class AbstractBlogNameService extends ServiceMBeanSupport
-    implements BlogNameService {    
+public abstract class AbstractBlogNameService extends AbstractBlogService
+        implements BlogNameService {
     private String idName;
     private String categoryName;
 

Modified: trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -16,6 +16,7 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public BlogName getBlogName(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
         return new BlogName(BlogTools.getInitParam(getIdName()),
                 BlogTools.getInitParam(getCategoryName()));
     }

Modified: trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -35,6 +35,8 @@
      * @jmx.managed-parameter type="java.lang.Object"
      */
     public BlogName getBlogName(Object request) {
+        BlogTools.assertNotNull(request, REQUEST_NULL_EX_MSG);
+        
         PortletRequest req = BlogTools.castToPortletRequest(this, request);
         
         return new BlogName(BlogTools.getPortletPreference(req, getIdName()),

Modified: trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/BlogTools.java	2006-10-20 22:16:42 UTC (rev 14)
@@ -23,6 +23,22 @@
     }
 
     /**
+     * Makes sure that the given object is not null. If it is, throws a
+     * IllegalArgumentException. Should be used as a precondition checker
+     * for public methods.
+     * @param o Object to check.
+     * @param exceptionMessage Message to include in the exception if o is
+     * null.
+     * @throws IllegalArgumentException If o is null.
+     */
+    public static void assertNotNull(Object o, String exceptionMessage)
+            throws IllegalArgumentException {
+        if (o == null) {
+            throw new IllegalArgumentException(exceptionMessage);
+        }
+    }
+
+    /**
      * Checks if two objects are equal in a null-safe way.
      * @param obj1 First object to check.
      * @param obj2 Second object to check.

Added: trunk/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml	2006-10-20 22:16:42 UTC (rev 14)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mbean PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd">
+
+<mbean>
+    <class>org.jboss.security.acl.AclKernelFactory</class>
+    <constructor>
+        <description>The no-arg constructor</description>
+        <name>org.jboss.security.acl.AclKernelFactory</name>
+    </constructor>
+    <attribute access="read-write" getMethod="getAclKernel" setMethod="setAclKernel">
+        <name>aclKernel</name>
+        <type>java.lang.String</type>
+        <descriptors>
+            <default value="org.jboss.security.acl.JBossAclKernel"/>
+        </descriptors>
+    </attribute>
+    <operation>
+        <description>The start lifecycle operation</description>
+        <name>start</name>
+    </operation>
+    <operation>
+        <description>The stop lifecycle operation</description>
+        <name>stop</name>
+    </operation>
+</mbean>

Modified: trunk/jbossblog.ipr
===================================================================
--- trunk/jbossblog.ipr	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/jbossblog.ipr	2006-10-20 22:16:42 UTC (rev 14)
@@ -308,7 +308,9 @@
     <option name="ADDITIONAL_OPTIONS_STRING" value="" />
   </component>
   <component name="StarteamVcsAdapter" />
-  <component name="VssVcs" />
+  <component name="VssVcs">
+    <SourceSafePersistencyRemovedFolder>$PROJECT_DIR$/blog-core/src/etc/org/jbos</SourceSafePersistencyRemovedFolder>
+  </component>
   <component name="com.intellij.jsf.UserDefinedFacesConfigs">
     <option name="USER_DEFINED_CONFIGS">
       <value>

Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws	2006-10-17 21:01:50 UTC (rev 13)
+++ trunk/jbossblog.iws	2006-10-20 22:16:42 UTC (rev 14)
@@ -17,19 +17,26 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/BlogTools.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/BlogTools.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/DoesNotExistBlogEntry.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/security" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/etc/org/jboss/security/acl/AclKernelFactory.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/AbstractBlogNameService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/AbstractBlogNameService.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java" />
+      <change type="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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/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/build.xml" afterPath="$PROJECT_DIR$/blog-core/build.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/etc/org/jboss/security" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/name/InitParamsBlogNameService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/etc/org/jboss/security/acl" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/security/acl" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java" />
-      <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/web/views/viewentry.xhtml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java" />
+      <change type="NEW" beforePath="" 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/security/acl/AclKernelFactory.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/blog-core.iml" afterPath="$PROJECT_DIR$/blog-core/blog-core.iml" />
     </list>
   </component>
@@ -154,63 +161,7 @@
     </subPane>
   </component>
   <component name="FileEditorManager">
-    <leaf>
-      <file leaf-file-name="web.xml" pinned="false" current="false" current-in-tab="false">
-        <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="38" selection-start="1017" selection-end="1017" vertical-scroll-proportion="0.6163522">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="viewentry.xhtml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/viewentry.xhtml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="13" column="29" selection-start="515" selection-end="515" vertical-scroll-proportion="0.31967214">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="CurrentView.java" pinned="false" current="true" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="55" column="55" selection-start="1478" selection-end="1478" vertical-scroll-proportion="0.5283019">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="GlobalViewState.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="9" column="24" selection-start="215" selection-end="215" vertical-scroll-proportion="0.21226415">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </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">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="24" column="60" selection-start="1048" selection-end="1048" vertical-scroll-proportion="0.59016395">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-    </leaf>
+    <leaf />
   </component>
   <component name="FindManager">
     <FindUsagesManager>
@@ -230,7 +181,7 @@
     <option name="ANALYZE_TEST_SOURCES" value="true" />
     <option name="SHOW_DIFF_WITH_PREVIOUS_RUN" value="false" />
     <option name="SCOPE_TYPE" value="1" />
-    <option name="CUSTOM_SCOPE_NAME" value="" />
+    <option name="CUSTOM_SCOPE_NAME" value="Project Files" />
     <option name="SHOW_ONLY_DIFF" value="false" />
     <option name="myCurrentProfileName" value="Default" />
   </component>
@@ -305,6 +256,14 @@
           <option name="myItemId" value="blog-core" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
         </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="xdoclet" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NamedLibraryElementNode" />
+        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -316,8 +275,8 @@
           <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" />
+          <option name="myItemId" value="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
         </PATH_ELEMENT>
       </PATH>
       <PATH>
@@ -333,14 +292,6 @@
           <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/web" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -363,10 +314,6 @@
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/web" />
           <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/web/views" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -385,32 +332,14 @@
           <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
           <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
         </PATH_ELEMENT>
-      </PATH>
-      <PATH>
         <PATH_ELEMENT>
-          <option name="myItemId" value="jbossblog.ipr" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="blog-core" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/web" />
           <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="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/web/views" />
           <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/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -429,18 +358,6 @@
           <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/blog" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -464,11 +381,11 @@
           <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="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/service" />
+          <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>
@@ -494,17 +411,9 @@
           <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="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/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>
@@ -567,7 +476,7 @@
       <showLibraryContents />
       <hideEmptyPackages />
       <abbreviatePackageNames />
-      <showStructure Favorites="false" Scope="false" PackagesPane="false" ProjectPane="false" />
+      <showStructure ProjectPane="false" Scope="false" PackagesPane="false" Favorites="false" />
       <autoscrollToSource />
       <autoscrollFromSource />
       <sortByType />
@@ -611,6 +520,18 @@
       <option name="ENABLE_SWING_INSPECTOR" value="false" />
       <module name="" />
     </configuration>
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <module name="" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+    </configuration>
     <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
       <module name="" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -630,18 +551,6 @@
         <option name="Make" value="true" />
       </method>
     </configuration>
-    <configuration default="true" type="Applet" factoryName="Applet">
-      <module name="" />
-      <option name="MAIN_CLASS_NAME" />
-      <option name="HTML_FILE_NAME" />
-      <option name="HTML_USED" value="false" />
-      <option name="WIDTH" value="400" />
-      <option name="HEIGHT" value="300" />
-      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
-      <option name="VM_PARAMETERS" />
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
-      <option name="ALTERNATIVE_JRE_PATH" />
-    </configuration>
   </component>
   <component name="ScopeViewComponent">
     <subPane subId="Project">
@@ -723,15 +632,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.21714991" order="0" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25046268" order="0" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" 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="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2279496" order="9" />
-      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
+      <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.24491055" order="1" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16286243" 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" />
@@ -826,7 +735,7 @@
   <component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="0.16666667" version="1">
     <option name="myLastEditedConfigurable" value="Local Scopes" />
   </component>
-  <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667,0.5" version="1">
+  <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667" version="1">
     <option name="myPlainMode" value="false" />
     <option name="myLastEditedConfigurable" value="blog-core" />
   </component>
@@ -834,124 +743,122 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogEntry.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/SecurityContext.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="12" column="13" selection-start="255" selection-end="255" vertical-scroll-proportion="0.017814728">
+        <state line="21" column="17" selection-start="1011" selection-end="1011" vertical-scroll-proportion="0.017814728">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/DoesNotExistBlogEntry.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="7" column="13" selection-start="116" selection-end="116" vertical-scroll-proportion="0.1699029">
+        <state line="21" column="12" selection-start="1006" selection-end="1006" vertical-scroll-proportion="0.017814728">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
-      <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
-        <state />
-      </provider>
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="4" column="28" selection-start="171" selection-end="171" vertical-scroll-proportion="0.073529415">
+        <state line="21" column="11" selection-start="1005" selection-end="1005" vertical-scroll-proportion="0.017814728">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
-        <state />
-      </provider>
     </entry>
-    <entry file="jar://$APPLICATION_HOME_DIR$/lib/resources.jar!/standardSchemas/facelets.xsd">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="84" column="2" selection-start="2315" selection-end="2315" vertical-scroll-proportion="0.76840854">
-          <folding />
+        <state line="0" column="13" selection-start="13" selection-end="13" vertical-scroll-proportion="0.0">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogViewState.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationInterface.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="8" column="13" selection-start="217" selection-end="217" vertical-scroll-proportion="0.18867925">
+        <state line="30" column="29" selection-start="1216" selection-end="1216" vertical-scroll-proportion="0.17814727">
           <folding />
         </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/JSFActionContext.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="19" column="59" selection-start="1023" selection-end="1023" vertical-scroll-proportion="0.46116504">
-          <folding />
+        <state line="21" column="19" selection-start="1013" selection-end="1013" vertical-scroll-proportion="0.017814728">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/AbstractPreferencesBlogConfigurationService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="7" column="22" selection-start="163" selection-end="163" vertical-scroll-proportion="-0.275">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/InitParamsBlogConfigurationService.java">
+    <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="41" column="39" selection-start="1268" selection-end="1268" vertical-scroll-proportion="0.84951454">
-          <folding />
+        <state line="99" column="86" selection-start="3139" selection-end="3139" vertical-scroll-proportion="1.0338165">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/PortletPreferencesBlogConfigurationService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="20" column="51" selection-start="657" selection-end="657" vertical-scroll-proportion="0.4854369">
-          <folding />
+        <state line="32" column="0" selection-start="1222" selection-end="1222" vertical-scroll-proportion="0.28301886">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/configuration/BlogConfigurationService.java">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/PortalUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="33" column="16" selection-start="1249" selection-end="1249" vertical-scroll-proportion="0.80097085">
-          <folding />
+        <state line="64" column="13" selection-start="1883" selection-end="1883" vertical-scroll-proportion="0.6132075">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml">
+    <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="24" column="60" selection-start="1048" selection-end="1048" vertical-scroll-proportion="0.59016395">
-          <folding />
+        <state line="145" column="76" selection-start="4517" selection-end="4517" vertical-scroll-proportion="2.9481132">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationProvider.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="30" column="38" selection-start="1017" selection-end="1017" vertical-scroll-proportion="0.6163522">
-          <folding />
+        <state line="29" column="46" selection-start="1257" selection-end="1257" vertical-scroll-proportion="0.2173913">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/viewentry.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="13" column="29" selection-start="515" selection-end="515" vertical-scroll-proportion="0.31967214">
+        <state line="83" column="39" selection-start="3628" selection-end="3628" vertical-scroll-proportion="0.6855346">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.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="9" column="24" selection-start="215" selection-end="215" vertical-scroll-proportion="0.21226415">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="80" column="73" selection-start="3145" selection-end="3145" vertical-scroll-proportion="1.9323672">
+          <folding />
         </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/etc/META-INF/acl-mapping.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="55" column="55" selection-start="1478" selection-end="1478" vertical-scroll-proportion="0.5283019">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="15" column="48" selection-start="1035" selection-end="1035" vertical-scroll-proportion="0.36231884">
+          <folding />
         </state>
       </provider>
     </entry>

Added: trunk/lib/jboss-jaae/jboss-acl.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jboss-jaae/jboss-acl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/jboss-jaae/jboss-identity-management.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jboss-jaae/jboss-identity-management.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/jboss-jaae/jboss-security-common.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jboss-jaae/jboss-security-common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/jboss-portal/portal-identity-lib.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jboss-portal/portal-identity-lib.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-cvs-commits mailing list