public String getType() { return permission.getType(); }
public FolderPermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new FolderPermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
public FragmentPermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new FragmentPermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
public PagePermission newPermission(PersistentJetspeedPermission permission) { if (permission.getType().equals(getType())) { return new PagePermission(permission); } throw new IllegalArgumentException("Permission is not of type "+getType()); } }
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));
criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName()); Query query = QueryFactory.newQuery(PersistentJetspeedPermissionImpl.class, criteria);
if (permission.getId() == null) criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName());
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("permissions.permission.type", permission.getType()); criteria.addEqualTo("permissions.permission.name", permission.getName());
if (permission.getId() == null) criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName());
criteria.addEqualTo("type", permission.getType()); criteria.addEqualTo("name", permission.getName()); Query query = QueryFactory.newQuery(PersistentJetspeedPermissionImpl.class, criteria);