[jboss-cvs] JBossBlog SVN: r74 - in trunk: blog-common and 24 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 15 06:05:58 EDT 2007
Author: adamw
Date: 2007-03-15 06:05:57 -0400 (Thu, 15 Mar 2007)
New Revision: 74
Added:
trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/
trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFActionContext.java
trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFSecurityContext.java
trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFUIContext.java
trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/SecurityContext.java
trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/
trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java
trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalUserBlogAuthor.java
trunk/blog-jaae/
trunk/blog-jaae/blog-jaae.iml
trunk/blog-jaae/build.xml
trunk/blog-jaae/src/
trunk/blog-jaae/src/etc/
trunk/blog-jaae/src/etc/META-INF/
trunk/blog-jaae/src/etc/META-INF/acl-mapping.xml
trunk/blog-jaae/src/etc/META-INF/acl-permissions.xml
trunk/blog-jaae/src/java/
trunk/blog-jaae/src/java/org/
trunk/blog-jaae/src/java/org/jboss/
trunk/blog-jaae/src/java/org/jboss/blog/
trunk/blog-jaae/src/java/org/jboss/blog/service/
trunk/blog-jaae/src/java/org/jboss/blog/service/permissions/
trunk/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/
trunk/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java
trunk/blog-jaae/src/java/org/jboss/security/
trunk/blog-jaae/src/java/org/jboss/security/acl/
trunk/blog-jaae/src/java/org/jboss/security/acl/AclKernelFactory.xml
Removed:
trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java
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/AclBlogPermissionsService.java
trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java
trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java
trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java
trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/
trunk/blog-core/src/java/org/jboss/blog/service/permissions/portal/
Modified:
trunk/blog-common/blog-common.iml
trunk/blog-common/build.xml
trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java
trunk/blog-core/build.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/permissions/acl/JBossPortalUtil.java
trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java
trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java
trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java
trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
trunk/build.xml
trunk/jbossblog.ipr
trunk/jbossblog.iws
Log:
Refactoring
Modified: trunk/blog-common/blog-common.iml
===================================================================
--- trunk/blog-common/blog-common.iml 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-common/blog-common.iml 2007-03-15 10:05:57 UTC (rev 74)
@@ -53,6 +53,16 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="library" name="jsf" level="project" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../lib/jboss-portal/portal-identity-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
</module>
Modified: trunk/blog-common/build.xml
===================================================================
--- trunk/blog-common/build.xml 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-common/build.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -5,6 +5,8 @@
<path id="base.jars">
<fileset refid="rome.jars" />
<fileset refid="jboss.jars" />
+ <fileset refid="myfaces.jars" />
+ <fileset refid="jboss.portal.jars" />
</path>
<!-- BUILD TARGETS -->
Modified: trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,6 +1,7 @@
package org.jboss.blog.service.permissions;
import org.jboss.blog.model.BlogAuthor;
+import org.jboss.blog.service.permissions.context.SecurityContext;
/**
* A service which enables to check, if a given user can gain access to given
Deleted: trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,9 +0,0 @@
-package org.jboss.blog.service.permissions;
-
-/**
- * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- */
-public interface SecurityContext
-{
- public Object getIdentity();
-}
Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFActionContext.java (from rev 72, trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFActionContext.java (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFActionContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,46 @@
+package org.jboss.blog.service.permissions.context;
+
+import java.lang.reflect.Method;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
+ */
+public class JSFActionContext extends JSFSecurityContext {
+ /**
+ * this is the action method on a JSF Managed Bean that is being called
+ * and needs to be authorized access to
+ */
+ private Method businessAction = null;
+
+ /**
+ * This is the JSF Managed Bean that is being used
+ */
+ private Object managedBean = null;
+
+ public JSFActionContext(Object identity,FacesContext facesContext)
+ {
+ super(identity,facesContext);
+ }
+
+ public Method getBusinessAction()
+ {
+ return this.businessAction;
+ }
+
+ public void setBusinessAction(Method businessAction)
+ {
+ this.businessAction = businessAction;
+ }
+
+ public Object getManagedBean()
+ {
+ return this.managedBean;
+ }
+
+ public void setManagedBean(Object managedBean)
+ {
+ this.managedBean = managedBean;
+ }
+}
Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFSecurityContext.java (from rev 72, trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFSecurityContext.java (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFSecurityContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,52 @@
+package org.jboss.blog.service.permissions.context;
+
+import org.jboss.blog.service.permissions.context.SecurityContext;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
+ */
+public abstract class JSFSecurityContext implements SecurityContext {
+ /**
+ *
+ */
+ private FacesContext facesContext = null;
+
+
+ /**
+ * this is current user that needs to be authorized..
+ * left the type of this identity open ended..
+ * the actual provider can then cast it based on what it expects it to be
+ */
+ private Object identity = null;
+
+ public JSFSecurityContext(Object identity,FacesContext facesContext)
+ {
+ this.facesContext = facesContext;
+ this.identity = identity;
+ }
+
+
+
+ /**
+ * @return Returns the identity.
+ */
+ public Object getIdentity()
+ {
+ return this.identity;
+ }
+
+ /**
+ * @param identity The identity to set.
+ */
+ public void setIdentity(Object identity)
+ {
+ this.identity = identity;
+ }
+
+ public FacesContext getFacesContext()
+ {
+ return this.facesContext;
+ }
+}
Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFUIContext.java (from rev 72, trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFUIContext.java (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFUIContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,48 @@
+package org.jboss.blog.service.permissions.context;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
+ */
+public class JSFUIContext extends JSFSecurityContext
+{
+ private String fragment = null;
+ private Object[] contextData = null;
+
+
+ public JSFUIContext(Object identity,FacesContext facesContext)
+ {
+ super(identity,facesContext);
+ }
+
+
+ /**
+ * @return Returns the contextData.
+ */
+ public Object[] getContextData()
+ {
+ return contextData;
+ }
+ /**
+ * @param contextData The contextData to set.
+ */
+ public void setContextData(Object[] contextData)
+ {
+ this.contextData = contextData;
+ }
+ /**
+ * @return Returns the fragment.
+ */
+ public String getFragment()
+ {
+ return fragment;
+ }
+ /**
+ * @param fragment The fragment to set.
+ */
+ public void setFragment(String fragment)
+ {
+ this.fragment = fragment;
+ }
+}
Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/SecurityContext.java (from rev 72, trunk/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/SecurityContext.java (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/context/SecurityContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,9 @@
+package org.jboss.blog.service.permissions.context;
+
+/**
+ * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
+ */
+public interface SecurityContext
+{
+ public Object getIdentity();
+}
Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java (from rev 72, trunk/blog-core/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,24 @@
+package org.jboss.blog.service.permissions.portal;
+
+import org.jboss.blog.service.permissions.BlogPermissionsService;
+import org.jboss.portal.identity.UserModule;
+import org.jboss.portal.identity.UserProfileModule;
+
+/**
+ * An interface for blog permissions services designed to work with
+ * JBossPortal.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface PortalBlogPermissionsService extends BlogPermissionsService {
+ /**
+ *
+ * @return User module from portal.
+ */
+ public UserModule getUserModule();
+
+ /**
+ *
+ * @return User profile module from portal.
+ */
+ public UserProfileModule getUserProfileModule();
+}
Copied: trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalUserBlogAuthor.java (from rev 72, trunk/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java)
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalUserBlogAuthor.java (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalUserBlogAuthor.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,46 @@
+package org.jboss.blog.service.permissions.portal;
+
+import org.jboss.blog.model.AbstractBlogAuthor;
+import org.jboss.blog.service.permissions.portal.PortalBlogPermissionsService;
+import org.jboss.blog.tools.BasicTools;
+import org.jboss.portal.identity.User;
+import org.jboss.portal.identity.IdentityException;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class PortalUserBlogAuthor extends AbstractBlogAuthor {
+ private PortalBlogPermissionsService pbps;
+ private User user;
+
+ public PortalUserBlogAuthor(PortalBlogPermissionsService pbps, User user) {
+ this.pbps = pbps;
+ this.user = user;
+ }
+
+ public String getUserName() {
+ return user.getUserName();
+ }
+
+ public String getGivenName() {
+ try {
+ return BasicTools.safeToString(pbps.getUserProfileModule().getProperty(user,
+ User.INFO_USER_NAME_GIVEN));
+ } catch (IdentityException e) {
+ return null;
+ }
+ }
+
+ public String getFamilyName() {
+ try {
+ return BasicTools.safeToString(pbps.getUserProfileModule().getProperty(user,
+ User.INFO_USER_NAME_FAMILY));
+ } catch (IdentityException e) {
+ return null;
+ }
+ }
+
+ public User getUser() {
+ return user;
+ }
+}
Modified: trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-common/src/java/org/jboss/blog/tools/BasicTools.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,5 +1,9 @@
package org.jboss.blog.tools;
+import org.jboss.blog.service.BlogService;
+import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.mx.util.MBeanServerLocator;
+
import java.util.Set;
import java.util.HashSet;
@@ -93,4 +97,33 @@
return link.startsWith("http:") || link.startsWith("ftp:")
|| link.startsWith("https:") || link.startsWith("file:");
}
+
+ public static BlogService instance;
+
+ /**
+ *
+ * @return An instance of the blog service.
+ */
+ public static synchronized BlogService getBlogService() {
+ try {
+ if (instance == null) {
+ instance = (BlogService) MBeanProxyExt.create(
+ BlogService.class,
+ "blog:service=Main",
+ MBeanServerLocator.locate());
+ }
+
+ return instance;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static String safeToString(Object o) {
+ if (o == null) {
+ return null;
+ } else {
+ return o.toString();
+ }
+ }
}
Modified: trunk/blog-core/build.xml
===================================================================
--- trunk/blog-core/build.xml 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/build.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -10,8 +10,7 @@
<fileset refid="facelets.jars" />
<fileset refid="myfaces.jars" />
<fileset refid="jstl.jars" />
- <fileset refid="servlet.jars" />
- <fileset refid="jboss.jaae.jars" />
+ <fileset refid="servlet.jars" />
<fileset refid="log4j.jar" />
</path>
Deleted: trunk/blog-core/src/etc/META-INF/acl-mapping.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-mapping.xml 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/etc/META-INF/acl-mapping.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,135 +0,0 @@
-<?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">
- <!-- only ui protection -->
- <function id="accessAdminModule" name="Access Admin Module">
- <resource type="fragment" criteriaId="accessAdminModule://ui">
- <id>acl://accessAdminModule</id>
- </resource>
- </function>
-
- <!-- only ui protection -->
- <function id="manageBlog" name="Manage Blog">
- <resource type="fragment" criteriaId="manageBlog://ui">
- <id>acl://manageBlog</id>
- </resource>
- <resource type="jsfAction" criteriaId="manageBlog://action">
- <class>org.jboss.blog.ui.BlogEdit</class>
- <method>saveNew</method>
- </resource>
- <resource type="jsfAction" criteriaId="manageBlog://action">
- <class>org.jboss.blog.ui.BlogEdit</class>
- <method>delete</method>
- </resource>
- </function>
-
- <function id="manageCategory" name="Manage Category">
- <!-- ui protection -->
- <resource type="fragment" criteriaId="manageCategory://ui">
- <id>acl://manageCategory</id>
- </resource>
- <!-- action protection -->
- <resource type="jsfAction" criteriaId="manageCategories://action">
- <class>org.jboss.blog.ui.BlogEdit</class>
- <method>save</method>
- </resource>
- <implies>accessAdminModule</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="viewComment" name="View Comment">
- <!-- ui protection -->
- <resource type="fragment" criteriaId="viewComment://ui">
- <id>acl://viewComment</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.CommentEdit</class>
- <method>saveNew</method>
- </resource>
- <implies>viewCategory</implies>
- <implies>viewComment</implies>
- </function>
- </module>
-
- <!-- Blog Owner usecases -->
- <module id="ownerModule" name="Owner Module">
- <function id="manageComment" name="Manage Comment">
- <!-- ui protection -->
- <resource type="fragment" criteriaId="manageComment://ui">
- <id>acl://manageComment</id>
- </resource>
- <!-- action protection -->
- <resource type="jsfAction" criteriaId="manageComment://action">
- <class>org.jboss.blog.ui.CommentEdit</class>
- <method>delete</method>
- </resource>
- </function>
-
- <function id="managePost" name="Manage Post">
- <!-- ui protection -->
- <resource type="fragment" criteriaId="managePost://ui">
- <id>acl://managePost</id>
- </resource>
- <!-- action protection -->
- <resource type="jsfAction" criteriaId="managePost://action">
- <class>org.jboss.blog.ui.PostEdit</class>
- <method>save</method>
- </resource>
- <resource type="jsfAction" criteriaId="managePost://action">
- <class>org.jboss.blog.ui.PostEdit</class>
- <method>saveNew</method>
- </resource>
- <resource type="jsfAction" criteriaId="managePost://action">
- <class>org.jboss.blog.ui.PostEdit</class>
- <method>delete</method>
- </resource>
- <implies>manageComment</implies>
- </function>
- </module>
-</acl>
\ No newline at end of file
Deleted: trunk/blog-core/src/etc/META-INF/acl-permissions.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-permissions.xml 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/etc/META-INF/acl-permissions.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,99 +0,0 @@
-<?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="viewComment" />
- <!--<permission action="managePost"/>-->
-
- <!--<permission action="manageCategory"/>-->
- <!--<permission action="manageBlog"/>-->
- <!-- <permission action="all"/> -->
-
- <!-- Owner Module permissions -->
- </role>
-
- <!-- just a regular registered user -->
- <role name="User" id="user">
- <!-- Admin Module permissions -->
-
- <!-- User Module permissions -->
- <permission action="addComment" />
- <!-- 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/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -11,7 +11,8 @@
import javax.faces.component.UIComponent;
//logging
-import org.jboss.blog.tools.UITools;
+import org.jboss.blog.tools.BasicTools;
+import org.jboss.blog.service.permissions.context.JSFUIContext;
//servlet
import javax.el.ELException;
@@ -103,7 +104,7 @@
//feed this context to the Authorization system which will decide whether
//access should be granted or not
- boolean isAccessAllowed = UITools.getBlogService().getPermissionsService().hasAccess(securityContext);
+ boolean isAccessAllowed = BasicTools.getBlogService().getPermissionsService().hasAccess(securityContext);
if(isAccessAllowed)
{
Deleted: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,138 +0,0 @@
-package org.jboss.blog.service.permissions.acl;
-
-import org.jboss.security.acl.AclProcessor;
-import org.jboss.security.acl.AccessDenied;
-import org.jboss.security.acl.User;
-import org.jboss.security.acl.UserThreadLocal;
-
-import org.jboss.blog.service.permissions.SecurityContext;
-import org.jboss.blog.service.permissions.portal.PortalBlogPermissionsService;
-import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
-import org.jboss.blog.model.BlogAuthor;
-import org.jboss.blog.model.impl.EmptyBlogAuthor;
-import org.jboss.portal.identity.UserModule;
-import org.jboss.portal.identity.IdentityException;
-import org.jboss.portal.identity.UserProfileModule;
-
-import javax.portlet.PortletRequest;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-/**
- * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
- *
- * @jmx.mbean
- * @jboss.xmbean
- */
-public class AclBlogPermissionsService implements PortalBlogPermissionsService {
- private UserModule um;
- private UserProfileModule upm;
-
- /**
- * @return User module from portal.
- */
- public UserModule getUserModule() {
- if (um == null) {
- try {
- um = (UserModule) new InitialContext().lookup("java:portal/UserModule");
- } catch (NamingException e) {
- // TODO
- e.printStackTrace();
- }
- }
-
- return um;
-
- }
- /**
- * @return User profile module from portal.
- */
- public UserProfileModule getUserProfileModule() {
- if (upm == null) {
- try {
- upm = (UserProfileModule) new InitialContext().lookup("java:portal/UserProfileModule");
- } catch (NamingException e) {
- // TODO
- e.printStackTrace();
- }
- }
-
- return upm;
- }
-
- /**
- * @jmx.managed-operation
- * @jmx.managed-parameter type="org.jboss.blog.service.permissions.SecurityContext"
- */
- public boolean hasAccess(SecurityContext context)
- {
- boolean hasAccess = true;
- try
- {
- //setup the engine identity based on identity provided in the security context
- if(context.getIdentity()!=null)
- {
- User user = User.getUser(((org.jboss.portal.identity.User)context.getIdentity()).getUserName());
- JBossPortalUtil.populateRoles(user);
- UserThreadLocal.setUser(user);
- }
- else
- {
- //set an anonymous user
- UserThreadLocal.setUser(new User());
- }
-
- if(context instanceof JSFActionContext)
- {
- JSFActionContext securityContext = (JSFActionContext)context;
-
- //send this to the engine for access control decision
- AclProcessor.getInstance().processJSFActionAccess(
- securityContext.getFacesContext(),
- securityContext.getManagedBean(),
- securityContext.getBusinessAction());
- }
- else if(context instanceof JSFUIContext)
- {
- JSFUIContext securityContext = (JSFUIContext)context;
-
- //send this to the engine for access control decision
- AclProcessor.getInstance().processFragmentAccess(securityContext.getFragment(),securityContext.getContextData());
- }
- }
- catch(AccessDenied ade)
- {
- hasAccess = false;
- }
- catch(Exception e)
- {
- throw new RuntimeException(e);
- }
-
- return hasAccess;
- }
-
- /**
- * @jmx.managed-operation
- * @jmx.managed-parameter type="java.lang.Object"
- */
- public BlogAuthor retrieveBlogAuthor(Object data) {
- try {
- if (data instanceof PortletRequest) {
- return new PortalUserBlogAuthor(this,
- getUserModule().findUserByUserName(
- ((PortletRequest) data).getRemoteUser()));
- }
-
- if (data instanceof Long) {
- return new PortalUserBlogAuthor(this,
- getUserModule().findUserById(data));
- }
- } catch (IdentityException e) {
- return new EmptyBlogAuthor();
- }
-
- throw new IllegalArgumentException("Invalid data from which blog author was to be read.");
- }
-}
Modified: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -18,7 +18,8 @@
//myfaces integration
import org.apache.log4j.Logger;
import org.apache.myfaces.application.ActionListenerImpl;
-import org.jboss.blog.tools.UITools;
+import org.jboss.blog.tools.BasicTools;
+import org.jboss.blog.service.permissions.context.JSFActionContext;
/**
* @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
@@ -75,13 +76,13 @@
}
//start building the SecurityContext here for the Authorization System
- JSFActionContext securityContext = new JSFActionContext(JBossPortalUtil.getUser(),facesContext);
+ JSFActionContext securityContext = new JSFActionContext(JBossPortalUtil.getUser(),facesContext);
securityContext.setBusinessAction(businessAction);
securityContext.setManagedBean(managedBean);
//feed this context to the Authorization system which will decide whether
//access should be granted or not
- isAccessAllowed = UITools.getBlogService().getPermissionsService().hasAccess(securityContext);
+ isAccessAllowed = BasicTools.getBlogService().getPermissionsService().hasAccess(securityContext);
}
catch(NoSuchMethodException nsme)
{
Modified: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -8,11 +8,11 @@
import javax.faces.context.FacesContext;
//website security
-import org.jboss.security.util.Util;
+//import org.jboss.security.util.Util;
//jboss-acl framework
-import org.jboss.security.acl.Role;
-import org.jboss.security.acl.User;
+//import org.jboss.security.acl.Role;
+//import org.jboss.security.acl.User;
import org.jboss.portal.identity.UserModule;
import org.jboss.portal.identity.MembershipModule;
@@ -64,29 +64,7 @@
return membershipModule;
}
- public static void populateRoles(User user) throws Exception
- {
- //perform this operation in the context of a JTA Transaction
- if(user!=null && user.getIdentity()!=null)
- {
- UserModule userModule = getUserModule();
-
- //grab the roles for this user
- String username = user.getIdentity().getUserName();
- org.jboss.portal.identity.User portalUser = userModule.findUserByUserName(username);
-
- Set roles = getMembershipModule().getRoles(portalUser);
- if(!Util.isEmpty(roles))
- {
- for(Iterator itr=roles.iterator();itr.hasNext();)
- {
- String roleName = ((org.jboss.portal.identity.Role)itr.next()).getName();
- Role role = new Role(roleName,roleName);
- user.getRoles().add(role);
- }
- }
- }
- }
+ /**/
public static org.jboss.portal.identity.User getUser()
throws Exception
Deleted: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,46 +0,0 @@
-package org.jboss.blog.service.permissions.acl;
-
-import java.lang.reflect.Method;
-
-import javax.faces.context.FacesContext;
-
-/**
- * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- */
-public class JSFActionContext extends JSFSecurityContext {
- /**
- * this is the action method on a JSF Managed Bean that is being called
- * and needs to be authorized access to
- */
- private Method businessAction = null;
-
- /**
- * This is the JSF Managed Bean that is being used
- */
- private Object managedBean = null;
-
- public JSFActionContext(Object identity,FacesContext facesContext)
- {
- super(identity,facesContext);
- }
-
- public Method getBusinessAction()
- {
- return this.businessAction;
- }
-
- public void setBusinessAction(Method businessAction)
- {
- this.businessAction = businessAction;
- }
-
- public Object getManagedBean()
- {
- return this.managedBean;
- }
-
- public void setManagedBean(Object managedBean)
- {
- this.managedBean = managedBean;
- }
-}
Deleted: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,52 +0,0 @@
-package org.jboss.blog.service.permissions.acl;
-
-import org.jboss.blog.service.permissions.SecurityContext;
-
-import javax.faces.context.FacesContext;
-
-/**
- * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- */
-public abstract class JSFSecurityContext implements SecurityContext {
- /**
- *
- */
- private FacesContext facesContext = null;
-
-
- /**
- * this is current user that needs to be authorized..
- * left the type of this identity open ended..
- * the actual provider can then cast it based on what it expects it to be
- */
- private Object identity = null;
-
- public JSFSecurityContext(Object identity,FacesContext facesContext)
- {
- this.facesContext = facesContext;
- this.identity = identity;
- }
-
-
-
- /**
- * @return Returns the identity.
- */
- public Object getIdentity()
- {
- return this.identity;
- }
-
- /**
- * @param identity The identity to set.
- */
- public void setIdentity(Object identity)
- {
- this.identity = identity;
- }
-
- public FacesContext getFacesContext()
- {
- return this.facesContext;
- }
-}
Deleted: trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,48 +0,0 @@
-package org.jboss.blog.service.permissions.acl;
-
-import javax.faces.context.FacesContext;
-
-/**
- * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- */
-public class JSFUIContext extends JSFSecurityContext
-{
- private String fragment = null;
- private Object[] contextData = null;
-
-
- public JSFUIContext(Object identity,FacesContext facesContext)
- {
- super(identity,facesContext);
- }
-
-
- /**
- * @return Returns the contextData.
- */
- public Object[] getContextData()
- {
- return contextData;
- }
- /**
- * @param contextData The contextData to set.
- */
- public void setContextData(Object[] contextData)
- {
- this.contextData = contextData;
- }
- /**
- * @return Returns the fragment.
- */
- public String getFragment()
- {
- return fragment;
- }
- /**
- * @param fragment The fragment to set.
- */
- public void setFragment(String fragment)
- {
- this.fragment = fragment;
- }
-}
Modified: trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,9 +1,6 @@
package org.jboss.blog.tools;
import org.jboss.blog.BlogName;
-import org.jboss.blog.service.BlogService;
-import org.jboss.mx.util.MBeanProxyExt;
-import org.jboss.mx.util.MBeanServerLocator;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
@@ -49,25 +46,4 @@
public static void addMessageCommentDoesntExist() {
addErrorMessage("The comment you requested does not exist.");
}
-
- public static BlogService instance;
-
- /**
- *
- * @return An instance of the blog service.
- */
- public static synchronized BlogService getBlogService() {
- try {
- if (instance == null) {
- instance = (BlogService) MBeanProxyExt.create(
- BlogService.class,
- "blog:service=Main",
- MBeanServerLocator.locate());
- }
-
- return instance;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
}
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -67,7 +67,7 @@
BlogModel model;
try {
- model = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ model = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
blogView.getBlogName());
} catch (BlogModelDoesNotExistException e) {
model = new EmptyBlogModel();
@@ -83,7 +83,7 @@
public String save() {
try {
- ModifiableBlogModel mbm = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ ModifiableBlogModel mbm = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
blogView.getBlogName());
boolean changed = false;
@@ -108,10 +108,10 @@
public String saveNew() {
try {
- ModifiableBlogModel mbm = UITools.getBlogService().getStoreService().newBlogModel(
+ ModifiableBlogModel mbm = BasicTools.getBlogService().getStoreService().newBlogModel(
getState().getSelectedBlogName());
- mbm.setAuthor(UITools.getBlogService().getStoreService().
+ mbm.setAuthor(BasicTools.getBlogService().getStoreService().
newBlogAuthor(getBlogView().getRequest()));
mbm.setTitle(title);
// TODO: sensible value here
@@ -119,7 +119,7 @@
mbm.setDescription(description);
mbm.setCreated(new Date());
- UITools.getBlogService().getStoreService().saveNewBlogModel(mbm);
+ BasicTools.getBlogService().getStoreService().saveNewBlogModel(mbm);
UITools.addInfoMessage("New blog category created.");
} catch (BlogModelAlreadyExistsException e) {
@@ -133,17 +133,17 @@
try {
BlogName toDelete = getState().getSelectedBlogName();
- ModifiableBlogModel mbm = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ ModifiableBlogModel mbm = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
toDelete);
- UITools.getBlogService().getStoreService().deleteBlogModel(mbm);
+ BasicTools.getBlogService().getStoreService().deleteBlogModel(mbm);
getState().setSelectedBlogName(null);
UITools.addInfoMessage("Blog category deleted.");
// If this was the last category with this id, we must return to the admin panel.
- if (UITools.getBlogService().getStoreService().retrieveAllCategories(toDelete).size() == 0) {
+ if (BasicTools.getBlogService().getStoreService().retrieveAllCategories(toDelete).size() == 0) {
return UITools.ADMIN_PANEL;
} else {
return UITools.ID_EDIT;
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -10,6 +10,7 @@
import org.jboss.blog.service.store.model.ModifiableBlogPost;
import org.jboss.blog.service.store.model.ModifiableBlogModel;
import org.jboss.blog.tools.UITools;
+import org.jboss.blog.tools.BasicTools;
import javax.faces.context.FacesContext;
import javax.faces.component.UIData;
@@ -85,7 +86,7 @@
// Blog name from the state has precedence over the default one.
blogName = getState().getSelectedBlogName();
if (blogName == null) {
- blogName = UITools.getBlogService().getNameService().retrieveBlogName(getRequest());
+ blogName = BasicTools.getBlogService().getNameService().retrieveBlogName(getRequest());
}
}
@@ -103,7 +104,7 @@
public BlogModel getBlogModel() {
if (blogModel == null) {
try {
- blogModel = UITools.getBlogService().getModelService().retrieveBlogModel(
+ blogModel = BasicTools.getBlogService().getModelService().retrieveBlogModel(
getBlogName());
} catch (BlogModelDoesNotExistException e) {
UITools.addMessageBlogDoesntExist(getBlogName());
@@ -116,7 +117,7 @@
public Boolean getCommentsEnabled() {
if (commentsEnabled == null) {
- commentsEnabled = UITools.getBlogService().getConfigurationService().
+ commentsEnabled = BasicTools.getBlogService().getConfigurationService().
getCommentsEnabled(getRequest());
}
@@ -125,7 +126,7 @@
public Integer getNumberOfPostsPerPage() {
if (numberOfPostsPerPage == null) {
- numberOfPostsPerPage = UITools.getBlogService().getConfigurationService().
+ numberOfPostsPerPage = BasicTools.getBlogService().getConfigurationService().
getNumberOfPostsPerPage(getRequest());
}
@@ -134,7 +135,7 @@
public Boolean getViewPostsOnSeparatePage() {
if (viewPostsOnSeparatePage == null) {
- viewPostsOnSeparatePage = UITools.getBlogService().getConfigurationService().
+ viewPostsOnSeparatePage = BasicTools.getBlogService().getConfigurationService().
getViewPostsOnSeparatePage(getRequest());
}
@@ -143,7 +144,7 @@
public Boolean getViewAllPosts() {
if (viewAllPosts == null) {
- viewAllPosts = UITools.getBlogService().getConfigurationService().
+ viewAllPosts = BasicTools.getBlogService().getConfigurationService().
getViewAllPosts(getRequest());
}
@@ -169,7 +170,7 @@
public Boolean getBlogModifiable() {
if (blogModifiable == null) {
- blogModifiable = Boolean.valueOf(UITools.getBlogService().getStoreService().
+ blogModifiable = Boolean.valueOf(BasicTools.getBlogService().getStoreService().
retrieveBlogModifiable(getBlogName()));
}
@@ -232,7 +233,7 @@
}
ModifiableBlogModel getModifiableModel() throws BlogModelDoesNotExistException {
- return UITools.getBlogService().getStoreService().retrieveBlogModel(
+ return BasicTools.getBlogService().getStoreService().retrieveBlogModel(
getBlogName());
}
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -1,6 +1,7 @@
package org.jboss.blog.ui;
import org.jboss.blog.tools.UITools;
+import org.jboss.blog.tools.BasicTools;
import org.jboss.blog.service.store.model.ModifiableBlogPost;
import org.jboss.blog.service.store.model.ModifiableBlogComment;
import org.jboss.blog.model.*;
@@ -83,9 +84,9 @@
try {
ModifiableBlogComment comment;
- comment = UITools.getBlogService().getStoreService().newBlogComment();
+ comment = BasicTools.getBlogService().getStoreService().newBlogComment();
- comment.setAuthor(UITools.getBlogService().getStoreService().
+ comment.setAuthor(BasicTools.getBlogService().getStoreService().
newBlogAuthor(getBlogView().getRequest()));
comment.setTitle(title);
@@ -110,7 +111,7 @@
try {
ModifiableBlogComment comment = getSelectedModifiableComment();
- UITools.getBlogService().getStoreService().deleteComment(comment);
+ BasicTools.getBlogService().getStoreService().deleteComment(comment);
UITools.addInfoMessage("Comment deleted.");
} catch (BlogModelDoesNotExistException e) {
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/IdEdit.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -43,7 +43,7 @@
private void populateRawIds() {
if (rawIds == null) {
// TODO: filter with permissions of the logged in person
- rawIds = UITools.getBlogService().getStoreService().retrieveAllBlogs();
+ rawIds = BasicTools.getBlogService().getStoreService().retrieveAllBlogs();
}
}
@@ -64,7 +64,7 @@
public List getCategories() {
if (categories == null) {
// TODO: filter with permissions of the logged in person
- List rawCategories = UITools.getBlogService().getStoreService()
+ List rawCategories = BasicTools.getBlogService().getStoreService()
.retrieveAllCategories(new BlogName(getState().getSelectedBlogId(), null));
categories = new ArrayList();
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -65,7 +65,7 @@
public List getBlogs() {
if (blogs == null) {
- List blogNames = UITools.getBlogService().getStoreService().retrieveAllCategories(
+ List blogNames = BasicTools.getBlogService().getStoreService().retrieveAllCategories(
blogView.getBlogName());
blogs = new ArrayList();
@@ -139,9 +139,9 @@
try {
ModifiableBlogPost post;
- post = UITools.getBlogService().getStoreService().newBlogPost();
+ post = BasicTools.getBlogService().getStoreService().newBlogPost();
- post.setAuthor(UITools.getBlogService().getStoreService().
+ post.setAuthor(BasicTools.getBlogService().getStoreService().
newBlogAuthor(getBlogView().getRequest()));
post.setTitle(title);
@@ -155,7 +155,7 @@
// Adding the post to all selected categories.
// TODO permissions for category-level? Both here, save() and post_mod.xhtml
for (Iterator iter = selectedCategories.iterator(); iter.hasNext();) {
- ModifiableBlogModel blog = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ ModifiableBlogModel blog = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
(BlogName) iter.next());
blog.addPost(post);
}
@@ -199,14 +199,14 @@
// Adding & removing posts from categories.
for (Iterator iter = addedCategories.iterator(); iter.hasNext();) {
changed = true;
- model = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ model = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
(BlogName) iter.next());
model.addPost(post);
}
for (Iterator iter = removedCategories.iterator(); iter.hasNext();) {
changed = true;
- model = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ model = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
(BlogName) iter.next());
model.removePost(post);
}
@@ -227,12 +227,12 @@
public String delete() {
try {
- ModifiableBlogModel model = UITools.getBlogService().getStoreService().retrieveBlogModel(
+ ModifiableBlogModel model = BasicTools.getBlogService().getStoreService().retrieveBlogModel(
blogView.getBlogName());
ModifiableBlogPost post = model.getModifiableBlogPostByTitleAsId(
blogView.getSelectedPostTitleAsId());
- UITools.getBlogService().getStoreService().deletePost(post);
+ BasicTools.getBlogService().getStoreService().deletePost(post);
UITools.addInfoMessage("Post deleted.");
} catch (BlogModelDoesNotExistException e) {
Modified: trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java
===================================================================
--- trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -2,7 +2,7 @@
import org.jboss.blog.model.AbstractBlogAuthor;
import org.jboss.blog.model.BlogAuthor;
-import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
+import org.jboss.blog.service.permissions.portal.PortalUserBlogAuthor;
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
Modified: trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
===================================================================
--- trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -6,7 +6,7 @@
import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
import org.jboss.blog.service.store.model.ModifiableBlogComment;
import org.jboss.blog.service.AbstractBlogService;
-import org.jboss.blog.service.permissions.model.PortalUserBlogAuthor;
+import org.jboss.blog.service.permissions.portal.PortalUserBlogAuthor;
import org.jboss.blog.service.permissions.BlogPermissionsService;
import org.jboss.blog.BlogName;
import org.jboss.blog.model.BlogModelDoesNotExistException;
Property changes on: trunk/blog-jaae
___________________________________________________________________
Name: svn:ignore
+ target
build
Added: trunk/blog-jaae/blog-jaae.iml
===================================================================
--- trunk/blog-jaae/blog-jaae.iml (rev 0)
+++ trunk/blog-jaae/blog-jaae.iml 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../lib/jboss-jaae/jboss-security-common.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <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/jboss-jaae/jboss-identity-management.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="blog-common" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../lib/portlet/portlet-api-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../lib/jboss-portal/portal-identity-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+</module>
+
Added: trunk/blog-jaae/build.xml
===================================================================
--- trunk/blog-jaae/build.xml (rev 0)
+++ trunk/blog-jaae/build.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<project name="JBoss Blog JAAE">
+ <!-- Classpath for building the application: includes all dependency jars -->
+ <path id="base.jars">
+ <fileset refid="jboss.jars" />
+ <fileset refid="jboss.portal.jars" />
+ <fileset refid="portlet.jars" />
+ <fileset refid="facelets.jars" />
+ <fileset refid="myfaces.jars" />
+ <fileset refid="jboss.jaae.jars" />
+
+ <fileset refid="log4j.jar" />
+ </path>
+
+ <!-- BUILD TARGETS -->
+
+ <target name="init">
+
+ </target>
+
+ <target name="build" depends="init,clean">
+ <mkdir dir="${build}" />
+ <!-- Compiling the source -->
+ <javac srcdir="${src.java}" destdir="${build}" target="1.4" source="1.4">
+ <classpath refid="base.jars" />
+ <!-- Dependency on the blog-common classes -->
+ <classpath path="../blog-common/${build}" />
+ </javac>
+ </target>
+
+ <target name="dist" depends="build">
+ <mkdir dir="${dist.lib.dir}" />
+
+ <!-- Copying the meta information -->
+ <copy todir="${dist.main.dir}">
+ <fileset dir="${src.meta}"><include name="**/*" /></fileset>
+ </copy>
+
+ <!-- Creating the jar with the classes -->
+ <jar destfile="${dist.lib.dir}/jboss-blog-jaae.jar" basedir="${build}" />
+ </target>
+
+ <target name="clean">
+ <delete dir="${build}" />
+ </target>
+</project>
Copied: trunk/blog-jaae/src/etc/META-INF/acl-mapping.xml (from rev 72, trunk/blog-core/src/etc/META-INF/acl-mapping.xml)
===================================================================
--- trunk/blog-jaae/src/etc/META-INF/acl-mapping.xml (rev 0)
+++ trunk/blog-jaae/src/etc/META-INF/acl-mapping.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,135 @@
+<?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">
+ <!-- only ui protection -->
+ <function id="accessAdminModule" name="Access Admin Module">
+ <resource type="fragment" criteriaId="accessAdminModule://ui">
+ <id>acl://accessAdminModule</id>
+ </resource>
+ </function>
+
+ <!-- only ui protection -->
+ <function id="manageBlog" name="Manage Blog">
+ <resource type="fragment" criteriaId="manageBlog://ui">
+ <id>acl://manageBlog</id>
+ </resource>
+ <resource type="jsfAction" criteriaId="manageBlog://action">
+ <class>org.jboss.blog.ui.BlogEdit</class>
+ <method>saveNew</method>
+ </resource>
+ <resource type="jsfAction" criteriaId="manageBlog://action">
+ <class>org.jboss.blog.ui.BlogEdit</class>
+ <method>delete</method>
+ </resource>
+ </function>
+
+ <function id="manageCategory" name="Manage Category">
+ <!-- ui protection -->
+ <resource type="fragment" criteriaId="manageCategory://ui">
+ <id>acl://manageCategory</id>
+ </resource>
+ <!-- action protection -->
+ <resource type="jsfAction" criteriaId="manageCategories://action">
+ <class>org.jboss.blog.ui.BlogEdit</class>
+ <method>save</method>
+ </resource>
+ <implies>accessAdminModule</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="viewComment" name="View Comment">
+ <!-- ui protection -->
+ <resource type="fragment" criteriaId="viewComment://ui">
+ <id>acl://viewComment</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.CommentEdit</class>
+ <method>saveNew</method>
+ </resource>
+ <implies>viewCategory</implies>
+ <implies>viewComment</implies>
+ </function>
+ </module>
+
+ <!-- Blog Owner usecases -->
+ <module id="ownerModule" name="Owner Module">
+ <function id="manageComment" name="Manage Comment">
+ <!-- ui protection -->
+ <resource type="fragment" criteriaId="manageComment://ui">
+ <id>acl://manageComment</id>
+ </resource>
+ <!-- action protection -->
+ <resource type="jsfAction" criteriaId="manageComment://action">
+ <class>org.jboss.blog.ui.CommentEdit</class>
+ <method>delete</method>
+ </resource>
+ </function>
+
+ <function id="managePost" name="Manage Post">
+ <!-- ui protection -->
+ <resource type="fragment" criteriaId="managePost://ui">
+ <id>acl://managePost</id>
+ </resource>
+ <!-- action protection -->
+ <resource type="jsfAction" criteriaId="managePost://action">
+ <class>org.jboss.blog.ui.PostEdit</class>
+ <method>save</method>
+ </resource>
+ <resource type="jsfAction" criteriaId="managePost://action">
+ <class>org.jboss.blog.ui.PostEdit</class>
+ <method>saveNew</method>
+ </resource>
+ <resource type="jsfAction" criteriaId="managePost://action">
+ <class>org.jboss.blog.ui.PostEdit</class>
+ <method>delete</method>
+ </resource>
+ <implies>manageComment</implies>
+ </function>
+ </module>
+</acl>
\ No newline at end of file
Copied: trunk/blog-jaae/src/etc/META-INF/acl-permissions.xml (from rev 72, trunk/blog-core/src/etc/META-INF/acl-permissions.xml)
===================================================================
--- trunk/blog-jaae/src/etc/META-INF/acl-permissions.xml (rev 0)
+++ trunk/blog-jaae/src/etc/META-INF/acl-permissions.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,99 @@
+<?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="viewComment" />
+ <!--<permission action="managePost"/>-->
+
+ <!--<permission action="manageCategory"/>-->
+ <!--<permission action="manageBlog"/>-->
+ <!-- <permission action="all"/> -->
+
+ <!-- Owner Module permissions -->
+ </role>
+
+ <!-- just a regular registered user -->
+ <role name="User" id="user">
+ <!-- Admin Module permissions -->
+
+ <!-- User Module permissions -->
+ <permission action="addComment" />
+ <!-- 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
Copied: trunk/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java (from rev 72, trunk/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java)
===================================================================
--- trunk/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java (rev 0)
+++ trunk/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java 2007-03-15 10:05:57 UTC (rev 74)
@@ -0,0 +1,182 @@
+package org.jboss.blog.service.permissions.acl;
+
+import org.jboss.security.acl.*;
+import org.jboss.security.util.Util;
+
+import org.jboss.blog.service.permissions.context.SecurityContext;
+import org.jboss.blog.service.permissions.context.JSFUIContext;
+import org.jboss.blog.service.permissions.context.JSFActionContext;
+import org.jboss.blog.service.permissions.portal.PortalBlogPermissionsService;
+import org.jboss.blog.service.permissions.portal.PortalUserBlogAuthor;
+import org.jboss.blog.model.BlogAuthor;
+import org.jboss.blog.model.impl.EmptyBlogAuthor;
+import org.jboss.portal.identity.UserModule;
+import org.jboss.portal.identity.IdentityException;
+import org.jboss.portal.identity.UserProfileModule;
+import org.jboss.portal.identity.MembershipModule;
+
+import javax.portlet.PortletRequest;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.util.Set;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ *
+ * @jmx.mbean
+ * @jboss.xmbean
+ */
+public class AclBlogPermissionsService implements PortalBlogPermissionsService {
+ private UserModule um;
+ private UserProfileModule upm;
+ private MembershipModule mm;
+
+ /**
+ * @return User module from portal.
+ */
+ public UserModule getUserModule() {
+ if (um == null) {
+ try {
+ um = (UserModule) new InitialContext().lookup("java:portal/UserModule");
+ } catch (NamingException e) {
+ // TODO
+ e.printStackTrace();
+ }
+ }
+
+ return um;
+
+ }
+ /**
+ * @return User profile module from portal.
+ */
+ public UserProfileModule getUserProfileModule() {
+ if (upm == null) {
+ try {
+ upm = (UserProfileModule) new InitialContext().lookup("java:portal/UserProfileModule");
+ } catch (NamingException e) {
+ // TODO
+ e.printStackTrace();
+ }
+ }
+
+ return upm;
+ }
+
+ /**
+ * @return Mebership module from portal.
+ */
+ public MembershipModule getMembershipModule() {
+ if (mm == null) {
+ try {
+ mm = (MembershipModule) new InitialContext().lookup("java:portal/MembershipModule");
+ } catch (NamingException e) {
+ // TODO
+ e.printStackTrace();
+ }
+ }
+
+ return mm;
+ }
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="org.jboss.blog.service.permissions.context.SecurityContext"
+ */
+ public boolean hasAccess(SecurityContext context)
+ {
+ boolean hasAccess = true;
+ try
+ {
+ //setup the engine identity based on identity provided in the security context
+ if(context.getIdentity()!=null)
+ {
+ User user = User.getUser(((org.jboss.portal.identity.User)context.getIdentity()).getUserName());
+ populateRoles(user);
+ UserThreadLocal.setUser(user);
+ }
+ else
+ {
+ //set an anonymous user
+ UserThreadLocal.setUser(new User());
+ }
+
+ if(context instanceof JSFActionContext)
+ {
+ JSFActionContext securityContext = (JSFActionContext)context;
+
+ //send this to the engine for access control decision
+ AclProcessor.getInstance().processJSFActionAccess(
+ securityContext.getFacesContext(),
+ securityContext.getManagedBean(),
+ securityContext.getBusinessAction());
+ }
+ else if(context instanceof JSFUIContext)
+ {
+ JSFUIContext securityContext = (JSFUIContext)context;
+
+ //send this to the engine for access control decision
+ AclProcessor.getInstance().processFragmentAccess(securityContext.getFragment(),securityContext.getContextData());
+ }
+ }
+ catch(AccessDenied ade)
+ {
+ hasAccess = false;
+ }
+ catch(Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+
+ return hasAccess;
+ }
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="java.lang.Object"
+ */
+ public BlogAuthor retrieveBlogAuthor(Object data) {
+ try {
+ if (data instanceof PortletRequest) {
+ return new PortalUserBlogAuthor(this,
+ getUserModule().findUserByUserName(
+ ((PortletRequest) data).getRemoteUser()));
+ }
+
+ if (data instanceof Long) {
+ return new PortalUserBlogAuthor(this,
+ getUserModule().findUserById(data));
+ }
+ } catch (IdentityException e) {
+ return new EmptyBlogAuthor();
+ }
+
+ throw new IllegalArgumentException("Invalid data from which blog author was to be read.");
+ }
+
+ private void populateRoles(User user) throws Exception
+ {
+ //perform this operation in the context of a JTA Transaction
+ if(user!=null && user.getIdentity()!=null)
+ {
+ UserModule userModule = getUserModule();
+
+ //grab the roles for this user
+ String username = user.getIdentity().getUserName();
+ org.jboss.portal.identity.User portalUser = userModule.findUserByUserName(username);
+
+ Set roles = getMembershipModule().getRoles(portalUser);
+ if(!Util.isEmpty(roles))
+ {
+ for(Iterator itr=roles.iterator();itr.hasNext();)
+ {
+ String roleName = ((org.jboss.portal.identity.Role)itr.next()).getName();
+ Role role = new Role(roleName,roleName);
+ user.getRoles().add(role);
+ }
+ }
+ }
+ }
+}
Added: trunk/blog-jaae/src/java/org/jboss/security/acl/AclKernelFactory.xml
===================================================================
--- trunk/blog-jaae/src/java/org/jboss/security/acl/AclKernelFactory.xml (rev 0)
+++ trunk/blog-jaae/src/java/org/jboss/security/acl/AclKernelFactory.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -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/build.xml
===================================================================
--- trunk/build.xml 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/build.xml 2007-03-15 10:05:57 UTC (rev 74)
@@ -50,6 +50,7 @@
<ant dir="blog-common" inheritrefs="true" target="${target.name}" />
<ant dir="blog-core" inheritrefs="true" target="${target.name}" />
<ant dir="blog-hibernate" inheritrefs="true" target="${target.name}" />
+ <ant dir="blog-jaae" inheritrefs="true" target="${target.name}" />
</target>
<!-- Main tasks -->
Modified: trunk/jbossblog.ipr
===================================================================
--- trunk/jbossblog.ipr 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/jbossblog.ipr 2007-03-15 10:05:57 UTC (rev 74)
@@ -296,6 +296,7 @@
<module fileurl="file://$PROJECT_DIR$/blog-common/blog-common.iml" filepath="$PROJECT_DIR$/blog-common/blog-common.iml" />
<module fileurl="file://$PROJECT_DIR$/blog-core/blog-core.iml" filepath="$PROJECT_DIR$/blog-core/blog-core.iml" />
<module fileurl="file://$PROJECT_DIR$/blog-hibernate/blog-hibernate.iml" filepath="$PROJECT_DIR$/blog-hibernate/blog-hibernate.iml" />
+ <module fileurl="file://$PROJECT_DIR$/blog-jaae/blog-jaae.iml" filepath="$PROJECT_DIR$/blog-jaae/blog-jaae.iml" />
<module fileurl="file://$PROJECT_DIR$/main.iml" filepath="$PROJECT_DIR$/main.iml" />
</modules>
</component>
Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws 2007-03-15 00:14:59 UTC (rev 73)
+++ trunk/jbossblog.iws 2007-03-15 10:05:57 UTC (rev 74)
@@ -17,55 +17,63 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/AbstractBlogService.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.hbm.xml" afterPath="" />
+ <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-common/src/java/org/jboss/blog/service/permissions/context/JSFSecurityContext.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/etc/META-INF/acl-permissions.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFUIContext.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/IdEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/IdEdit.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/etc" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog/service" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/build.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog/service/permissions/acl" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/security/acl" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/build.xml" afterPath="$PROJECT_DIR$/build.xml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/security/acl" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/build.xml" afterPath="$PROJECT_DIR$/blog-core/build.xml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateSessionFilter.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/build.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/portal" />
+ <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-jaae" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/etc/META-INF/acl-mapping.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-common/blog-common.iml" afterPath="$PROJECT_DIR$/blog-common/blog-common.iml" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/blog-hibernate.iml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HPortalBlogAuthor.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/AbstractBlogService.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/blog-core.iml" afterPath="$PROJECT_DIR$/blog-core/blog-core.iml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/security" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/portal" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.hbm.xml" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/test" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog/service/permissions" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/etc/META-INF" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/portal/PortalBlogPermissionsService.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service/store" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-common/build.xml" afterPath="$PROJECT_DIR$/blog-common/build.xml" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/model" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss/blog/service/store/hibernate" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/jbossblog.ipr" afterPath="$PROJECT_DIR$/jbossblog.ipr" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/test/HibernateTest.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/blog-jaae.iml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/security" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogComment.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org/jboss/security/acl/AclKernelFactory.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/tools/BasicTools.java" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/tools/BasicTools.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-jaae/src/java/org" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/jbossblog.iws" afterPath="$PROJECT_DIR$/jbossblog.iws" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalUserBlogAuthor.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CommentEdit.java" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/model/PortalUserBlogAuthor.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFActionContext.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-hibernate/src/java/org/jboss" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/SecurityContext.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" afterPath="" />
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -190,57 +198,46 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="build.xml" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/blog-hibernate/build.xml">
+ <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="25" column="44" selection-start="879" selection-end="879" vertical-scroll-proportion="0.45509708">
+ <state line="6" column="37" selection-start="256" selection-end="256" vertical-scroll-proportion="0.10688836">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/build.xml">
+ <file leaf-file-name="ACLTagHandler.java" pinned="false" current="true" current-in-tab="true">
+ <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="50" column="74" selection-start="2774" selection-end="2774" vertical-scroll-proportion="0.5813107">
+ <state line="38" column="56" selection-start="972" selection-end="972" vertical-scroll-proportion="0.25392985">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
+ <entry file="file://$PROJECT_DIR$/blog-jaae/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="3" column="40" selection-start="113" selection-end="113" vertical-scroll-proportion="0.05461165">
+ <state line="15" column="54" selection-start="520" selection-end="520" vertical-scroll-proportion="0.2672209">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="AuthorizationListener.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java">
+ <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">
<provider selected="true" editor-type-id="text-editor">
- <state line="71" column="17" selection-start="2537" selection-end="2537" vertical-scroll-proportion="1.0012361">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.74123335">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="AclBlogPermissionsService.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
+ <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="11" column="33" selection-start="502" selection-end="502" vertical-scroll-proportion="0.2039555">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="JSFSecurityContext.java" pinned="false" current="false" current-in-tab="false">
- <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="9" column="54" selection-start="277" selection-end="277" vertical-scroll-proportion="0.12742719">
+ <state line="47" column="54" selection-start="2590" selection-end="2590" vertical-scroll-proportion="0.83729213">
<folding />
</state>
</provider>
@@ -619,6 +616,140 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="blog-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae" />
+ <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-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/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-jaae/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/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-jaae/src/java/org/jboss/security" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src/java/org/jboss/security/acl" />
+ <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-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/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-jaae/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/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-jaae/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-jaae/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-jaae/src/java/org/jboss/blog/service/permissions" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog/service/permissions/acl" />
+ <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-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src/etc" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-jaae/src/etc/META-INF" />
+ <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-hibernate" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
@@ -678,6 +809,10 @@
<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>
@@ -696,7 +831,25 @@
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ </PATH>
+ <PATH>
<PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -708,6 +861,10 @@
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -742,6 +899,10 @@
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -865,7 +1026,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/model" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@@ -887,33 +1048,65 @@
<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="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/etc" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ </PATH>
+ <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org" />
+ <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/java/org/jboss" />
+ <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/org/jboss/blog" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/etc" />
<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/etc/META-INF" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ </PATH>
+ <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions" />
+ <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/java/org/jboss/blog/service/permissions/acl" />
+ <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>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/etc/conf" />
+ <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/conf/hibernate" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -939,6 +1132,250 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/tools" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
</subPane>
</component>
<component name="ProjectReloadState">
@@ -952,7 +1389,7 @@
<showLibraryContents />
<hideEmptyPackages ProjectPane="false" />
<abbreviatePackageNames />
- <showStructure Favorites="false" PackagesPane="false" Scope="false" ProjectPane="false" />
+ <showStructure ProjectPane="false" PackagesPane="false" Scope="false" Favorites="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -973,9 +1410,9 @@
</component>
<component name="RecentsManager">
<key name="MoveMembersDialog.RECENTS_KEY">
+ <recent name="org.jboss.blog.tools.BasicTools" />
<recent name="org.jboss.blog.tools.UITools" />
<recent name="org.jboss.blog.tools.PortletTools" />
- <recent name="org.jboss.blog.tools.BasicTools" />
<recent name="org.jboss.blog.tools.FacesTools" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
@@ -987,10 +1424,10 @@
</key>
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
<recent name="org.jboss.blog.service.permissions.portal" />
+ <recent name="org.jboss.blog.service.permissions.context" />
+ <recent name="org.jboss.blog.service.permissions.cotnext" />
<recent name="org.jboss.blog.service.permissions.model" />
<recent name="org.jboss.blog.service.permissions.acl" />
- <recent name="org.jboss.blog.service" />
- <recent name="org.jboss.blog.service.store" />
</key>
</component>
<component name="RestoreUpdateTree" />
@@ -1233,101 +1670,117 @@
</component>
<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" />
+ <option name="myLastEditedConfigurable" value="blog-common" />
</component>
<component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="0.16666667,0.5642857" version="1">
<option name="myLastEditedConfigurable" value="Project Default" />
</component>
<component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/blog-common/build.xml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="6" column="38" selection-start="259" selection-end="259" vertical-scroll-proportion="0.1092233">
+ <state line="2" column="31" selection-start="62" selection-end="62" vertical-scroll-proportion="0.035629455">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/build.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="47" column="54" selection-start="2590" selection-end="2590" vertical-scroll-proportion="0.83729213">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/security/acl/AclKernelFactory.xml">
+ <entry file="jar://$PROJECT_DIR$/lib/jboss-jaae/jboss-acl.jar!/org/jboss/security/acl/User.class">
<provider selected="true" editor-type-id="text-editor">
- <state line="24" column="45" selection-start="919" selection-end="919" vertical-scroll-proportion="0.44499382">
+ <state line="21" column="46" selection-start="814" selection-end="814" vertical-scroll-proportion="0.37082818">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFUIContext.java">
+ <entry file="file://$PROJECT_DIR$/blog-jaae/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="7" column="13" selection-start="176" selection-end="176" vertical-scroll-proportion="0.12742719">
+ <state line="15" column="54" selection-start="520" selection-end="520" vertical-scroll-proportion="0.2672209">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/SecurityContext.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/SecurityContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="7" column="0" selection-start="152" selection-end="152" vertical-scroll-proportion="0.12742719">
+ <state line="5" column="17" selection-start="142" selection-end="142" vertical-scroll-proportion="0.091019414">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFSecurityContext.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFUIContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="9" column="54" selection-start="277" selection-end="277" vertical-scroll-proportion="0.12742719">
+ <state line="7" column="45" selection-start="212" selection-end="212" vertical-scroll-proportion="0.12742719">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFActionContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="11" column="33" selection-start="502" selection-end="502" vertical-scroll-proportion="0.2039555">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="9" column="13" selection-start="214" selection-end="214" vertical-scroll-proportion="0.12742719">
+ <folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/tools/BasicTools.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="60" column="38" selection-start="1642" selection-end="1642" vertical-scroll-proportion="0.184178">
+ <state line="121" column="17" selection-start="3770" selection-end="3770" vertical-scroll-proportion="0.8543689">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JSFActionContext.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/BlogPermissionsService.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="9" column="13" selection-start="210" selection-end="210" vertical-scroll-proportion="0.12742719">
+ <state line="10" column="17" selection-start="309" selection-end="309" vertical-scroll-proportion="0.16383494">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/JBossPortalUtil.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/context/JSFSecurityContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="34" column="86" selection-start="990" selection-end="990" vertical-scroll-proportion="0.36407766">
+ <state line="9" column="22" selection-start="257" selection-end="257" vertical-scroll-proportion="0.12742719">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java">
+ <entry file="file://$PROJECT_DIR$/blog-common/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="71" column="17" selection-start="2537" selection-end="2537" vertical-scroll-proportion="1.0012361">
+ <state line="9" column="35" selection-start="358" selection-end="358" vertical-scroll-proportion="0.16383494">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
+ <entry file="file://$PROJECT_DIR$/blog-common/src/java/org/jboss/blog/service/permissions/portal/PortalUserBlogAuthor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="3" column="40" selection-start="113" selection-end="113" vertical-scroll-proportion="0.05461165">
+ <state line="24" column="34" selection-start="761" selection-end="761" vertical-scroll-proportion="0.36407766">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/build.xml">
+ <entry file="file://$PROJECT_DIR$/blog-core/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="50" column="74" selection-start="2774" selection-end="2774" vertical-scroll-proportion="0.5813107">
+ <state line="6" column="37" selection-start="256" selection-end="256" vertical-scroll-proportion="0.10688836">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-hibernate/build.xml">
+ <entry file="file://$PROJECT_DIR$/blog-jaae/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="25" column="44" selection-start="879" selection-end="879" vertical-scroll-proportion="0.45509708">
+ <state line="92" column="53" selection-start="2798" selection-end="2798" vertical-scroll-proportion="-0.35352287">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <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="38" column="56" selection-start="972" selection-end="972" vertical-scroll-proportion="0.25392985">
<folding />
</state>
</provider>
More information about the jboss-cvs-commits
mailing list