public JetspeedPrincipalPermission(JetspeedPrincipal principal, PersistentJetspeedPermission permission) { this.principalId = principal.getId(); this.permissionId = permission.getId(); } }
public void addPermission(PersistentJetspeedPermission permission) throws SecurityException { if (permission.getId() != null || permissionExists(permission)) { throw new SecurityException(SecurityException.PERMISSION_ALREADY_EXISTS.create(permission.getName())); } try { getPersistenceBrokerTemplate().store(permission); // evict from and put in cache to notify jspmCache.evictPermission(permission.getId()); jspmCache.putPermission(permission.getId(), permission); } catch (Exception pbe) { KeyedMessage msg = SecurityException.UNEXPECTED.create("JetspeedSecurityPersistenceManager", "addPermission", pbe.getMessage()); logger.error(msg, pbe); throw new SecurityException(msg, pbe); } }
if (permission.getId() != null) criteria.addEqualTo("permissions.permissionId", permission.getId()); principals = (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query)); jspmCache.putPermissionQuery(cacheKey, null, extractPrincipalIds(principals), ((permission.getId() != null) ? permission.getId(): JSPMCache.ANY_ID), securityDomain, new ArrayList<JetspeedPrincipal>(principals));
@SuppressWarnings("unchecked") public void grantPermissionOnlyTo(PersistentJetspeedPermission permission, String principalType, List<JetspeedPrincipal> principals, Long securityDomain) throws SecurityException if (permission.getId() == null) criteria.addEqualTo("permissions.permissionId", permission.getId()); if (principalType != null)
criteria.addEqualTo("permissionId", permission.getId()); Query query = QueryFactory.newQuery(JetspeedPrincipalPermission.class,criteria); if (!checkExists || getPersistenceBrokerTemplate().getCount(query) == 0) jspmCache.evictPrincipal(permission.getId()); jspmCache.evictPermission(permission.getId());
public void grantPermission(PersistentJetspeedPermission permission, JetspeedPrincipal principal) throws SecurityException { if (permission.getId() == null) { Criteria criteria = new Criteria(); criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName()); Query query = QueryFactory.newQuery(PersistentJetspeedPermissionImpl.class, criteria); PersistentJetspeedPermission p = (PersistentJetspeedPermission)getPersistenceBrokerTemplate().getObjectByQuery(query); if (p == null) { throw new SecurityException(SecurityException.PERMISSION_DOES_NOT_EXIST.create(permission.getName())); } permission = p; } grantPermission(permission, principal, true); }