public void setEnabled(boolean enabled) throws SecurityException { if (isReadOnly() && !isSynchronizing()) { throw new SecurityException(SecurityException.PRINCIPAL_IS_READ_ONLY.createScoped(getType().getName(), getName())); } this.enabled = enabled; }
public Map<String, String> getInfoMap() { return getSecurityAttributes().getInfoMap(); }
public synchronized SecurityAttributes getSecurityAttributes() { if (sa == null) { if (attributes == null) { attributes = new ArrayList<SecurityAttributeValue>(); } sa = new SecurityAttributesImpl(this, attributes, isReadOnly(), isExtendable()); } return sa; }
@SuppressWarnings("unchecked") public Permissions getPermissions(JetspeedPrincipal principal) { Permissions permissions = null; if (principal instanceof PersistentJetspeedPrincipal && ((PersistentJetspeedPrincipal)principal).getId() != null) { HashMap<Long,Permissions> permissionsMap = getPermissionsMap(); Long id = ((PersistentJetspeedPrincipal)principal).getId(); permissions = permissionsMap.get(id); if (permissions == null) { permissions = new Permissions(); List<PersistentJetspeedPermission> permList = (List<PersistentJetspeedPermission>)jpam.getPermissions((PersistentJetspeedPrincipal)principal); for (PersistentJetspeedPermission p : permList) { permissions.add(factoryMap.get(p.getType()).newPermission(p)); } permissionsMap.put(id, permissions); } } else { permissions = new Permissions(); } return permissions; }
@SuppressWarnings("unchecked") public List<PersistentJetspeedPermission> getPermissions(PersistentJetspeedPrincipal principal) { Criteria criteria = new Criteria(); criteria.addEqualTo("principals.principalId", principal.getId()); // check cache String cacheKey = "getPermissions:"+criteria; List<PersistentJetspeedPermission> permissions = (List<PersistentJetspeedPermission>) jspmCache.getPermissionQuery(cacheKey); if (permissions != null) { return new ArrayList<PersistentJetspeedPermission>(permissions); } // perform query QueryByCriteria query = QueryFactory.newQuery(PersistentJetspeedPermissionImpl.class, criteria); query.addOrderByAscending("type"); query.addOrderByAscending("name"); permissions = (List<PersistentJetspeedPermission>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query)); // put result in cache jspmCache.putPermissionQuery(cacheKey, principal.getId(), null, JSPMCache.ANY_ID, null, new ArrayList<PersistentJetspeedPermission>(permissions)); // return result return permissions; }