/** * @see java.security.Permission#getActions() */ public String getActions() { if (permission.getActions() == null) { permission.setActions(JetspeedActions.getContainerActions(mask)); } return permission.getActions(); }
public JetspeedPrincipalPermission(JetspeedPrincipal principal, PersistentJetspeedPermission permission) { this.principalId = principal.getId(); this.permissionId = permission.getId(); } }
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); }
public void updatePermission(PersistentJetspeedPermission permission) throws SecurityException if (permission.getId() == null) criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName()); criteria.addEqualTo("id", permission.getId()); if (current == null) throw new SecurityException(SecurityException.PERMISSION_DOES_NOT_EXIST.create(permission.getName())); if (!current.getActions().equals(permission.getActions())) current.setActions(permission.getActions()); try jspmCache.evictPermission(current.getId()); jspmCache.putPermission(current.getId(), current);
public String getType() { return permission.getType(); }
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); } }
public void removePermission(PersistentJetspeedPermission permission) throws SecurityException if (permission.getId() == null) criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName()); criteria.addEqualTo("id", permission.getId()); if (current == null) throw new SecurityException(SecurityException.PERMISSION_DOES_NOT_EXIST.create(permission.getName())); jspmCache.evictPermission(current.getId());
public FolderPermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new FolderPermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
if (permission.getId() != null) criteria.addEqualTo("permissions.permissionId", permission.getId()); criteria.addEqualTo("permissions.permission.type", permission.getType()); criteria.addEqualTo("permissions.permission.name", permission.getName()); 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));
public FragmentPermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new FragmentPermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
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());
@SuppressWarnings("unchecked") public void grantPermissionOnlyTo(PersistentJetspeedPermission permission, String principalType, List<JetspeedPrincipal> principals, Long securityDomain) throws SecurityException if (permission.getId() == null) 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())); criteria.addEqualTo("permissions.permissionId", permission.getId()); if (principalType != null)
public PagePermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new PagePermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
if (permission.getId() == null) 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())); criteria.addEqualTo("permissionId", permission.getId()); Query query = QueryFactory.newQuery(JetspeedPrincipalPermission.class,criteria); try jspmCache.evictPermission(permission.getId());
public PortletPermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new PortletPermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
@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; }
for (PersistentJetspeedPermission p : permList) permissions.add(factoryMap.get(p.getType()).newPermission(p));