[seam-commits] Seam SVN: r7669 - trunk/src/main/org/jboss/seam/security/permission.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Thu Mar 20 17:49:32 EDT 2008


Author: shane.bryzak at jboss.com
Date: 2008-03-20 17:49:32 -0400 (Thu, 20 Mar 2008)
New Revision: 7669

Modified:
   trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java
Log:
implemented revokePermission()

Modified: trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java	2008-03-20 20:25:57 UTC (rev 7668)
+++ trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java	2008-03-20 21:49:32 UTC (rev 7669)
@@ -5,6 +5,7 @@
 import java.util.List;
 
 import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
 
 import org.jboss.seam.Component;
 import org.jboss.seam.annotations.Scope;
@@ -53,7 +54,27 @@
    public boolean revokePermission(String target, String action,
          String account, AccountType accountType) 
    {
-      return false;
+      try
+      {
+         EntityManager em = getEntityManager();
+         
+         AccountPermission permission = (AccountPermission) em.createQuery(
+            "from " + permissionClass.getName() +
+            " where target = :target and action = :action and account = :account " +
+            " and accountType = :accountType")
+            .setParameter("target", target)
+            .setParameter("action", "action")
+            .setParameter("account", account)
+            .setParameter("accountType", accountType)
+            .getSingleResult();
+         
+         em.remove(permission);
+         return true;
+      }
+      catch (NoResultException ex)
+      {
+         return false;
+      }
    }   
 
    public List<AccountPermission> listPermissions(String target, String action) 




More information about the seam-commits mailing list