[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