public BaseJetspeedPermission(PersistentJetspeedPermission permission) { super(permission.getName()); this.permission = permission; this.mask = JetspeedActions.getContainerActionsMask(permission.getActions()); }
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); }
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()));
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); } }
criteria.addEqualTo("permissions.permission.name", permission.getName());
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()));