@Override public boolean isAnIdenticalPolicyAlreadyInPlace(Context c, DSpaceObject o, ResourcePolicy rp) throws SQLException { return isAnIdenticalPolicyAlreadyInPlace(c, o, rp.getGroup(), rp.getAction(), rp.getID()); }
@Override public void switchPoliciesAction(Context context, DSpaceObject dso, int fromAction, int toAction) throws SQLException, AuthorizeException { List<ResourcePolicy> rps = getPoliciesActionFilter(context, dso, fromAction); for (ResourcePolicy rp : rps) { rp.setAction(toAction); } resourcePolicyService.update(context, rps); }
@Override public void addPolicy(Context context, DSpaceObject o, int actionID, EPerson e, String type) throws SQLException, AuthorizeException { createResourcePolicy(context, o, null, e, actionID, type); }
@Override public ResourcePolicy clone(Context context, ResourcePolicy resourcePolicy) throws SQLException, AuthorizeException { ResourcePolicy clone = create(context); clone.setGroup(resourcePolicy.getGroup()); clone.setEPerson(resourcePolicy.getEPerson()); clone.setStartDate((Date) ObjectUtils.clone(resourcePolicy.getStartDate())); clone.setEndDate((Date) ObjectUtils.clone(resourcePolicy.getEndDate())); clone.setRpType((String) ObjectUtils.clone(resourcePolicy.getRpType())); clone.setRpDescription((String) ObjectUtils.clone(resourcePolicy.getRpDescription())); update(context, clone); return clone; }
@Override public List<Group> getAuthorizedGroups(Context c, DSpaceObject o, int actionID) throws java.sql.SQLException { List<ResourcePolicy> policies = getPoliciesActionFilter(c, o, actionID); List<Group> groups = new ArrayList<Group>(); for (ResourcePolicy resourcePolicy : policies) { if (resourcePolicy.getGroup() != null && resourcePolicyService.isDateValid(resourcePolicy)) { groups.add(resourcePolicy.getGroup()); } } return groups; }
@Override public void inheritPolicies(Context c, DSpaceObject src, DSpaceObject dest) throws SQLException, AuthorizeException { // find all policies for the source object List<ResourcePolicy> policies = getPolicies(c, src); //Only inherit non-ADMIN policies (since ADMIN policies are automatically inherited) List<ResourcePolicy> nonAdminPolicies = new ArrayList<ResourcePolicy>(); for (ResourcePolicy rp : policies) { if (rp.getAction() != Constants.ADMIN) { nonAdminPolicies.add(rp); } } addPolicies(c, nonAdminPolicies, dest); }
@Override public void delete(Context context, Site dso) throws SQLException, AuthorizeException, IOException { throw new AuthorizeException("Site object cannot be deleted"); }
/** * @param resourcePolicy resource policy * @return action text or 'null' if action row empty */ @Override public String getActionText(ResourcePolicy resourcePolicy) { int myAction = resourcePolicy.getAction(); if (myAction == -1) { return "..."; } else { return Constants.actionText[myAction]; } }
@Override public void authorizeAction(Context c, DSpaceObject o, int action) throws AuthorizeException, SQLException { authorizeAction(c, o, action, true); }
@Override public void addPolicy(Context c, DSpaceObject o, int actionID, EPerson e) throws SQLException, AuthorizeException { addPolicy(c, o, actionID, e, null); }
@Override public boolean authorizeActionBoolean(Context c, DSpaceObject o, int a) throws SQLException { return authorizeActionBoolean(c, o, a, true); }
/** * Update the ResourcePolicy * * @param context context * @param resourcePolicy resource policy * @throws SQLException if database error * @throws AuthorizeException if authorization error */ @Override public void update(Context context, ResourcePolicy resourcePolicy) throws SQLException, AuthorizeException { update(context, Collections.singletonList(resourcePolicy)); }
public void addBody(Body body) throws SAXException, WingException, SQLException, IOException, AuthorizeException { if(!authorized) throw new AuthorizeException("You are not authorized to perform this task"); xmluiActionUI.addBody(body); }
@Override public boolean authorizeActionBoolean(Context c, DSpaceObject o, int a, boolean useInheritance) throws SQLException { boolean isAuthorized = true; if (o == null) { return false; } try { authorizeAction(c, o, a, useInheritance); } catch (AuthorizeException e) { isAuthorized = false; } return isAuthorized; }
@Override public ResourcePolicy createResourcePolicy(Context context, DSpaceObject dso, Group group, EPerson eperson, int type, String rpType) throws SQLException, AuthorizeException { return createResourcePolicy(context, dso, group, eperson, type, rpType, null, null, null, null); }
@Override public boolean authorizeActionBoolean(Context c, EPerson e, DSpaceObject o, int a, boolean useInheritance) throws SQLException { boolean isAuthorized = true; if (o == null) { return false; } try { authorizeAction(c, e, o, a, useInheritance); } catch (AuthorizeException ex) { isAuthorized = false; } return isAuthorized; }
@Override public void addPolicy(Context c, DSpaceObject o, int actionID, Group g) throws SQLException, AuthorizeException { createResourcePolicy(c, o, g, null, actionID, null); }
@Override public void authorizeAnyOf(Context c, DSpaceObject o, int[] actions) throws AuthorizeException, SQLException { AuthorizeException ex = null; for (int action : actions) { try { authorizeAction(c, o, action); return; } catch (AuthorizeException e) { if (ex == null) { ex = e; } } } throw ex; }
@Override public void addPolicy(Context c, DSpaceObject o, int actionID, Group g, String type) throws SQLException, AuthorizeException { createResourcePolicy(c, o, g, null, actionID, type); }
@Override public void authorizeAction(Context c, DSpaceObject o, int action, boolean useInheritance) throws AuthorizeException, SQLException { authorizeAction(c, c.getCurrentUser(), o, action, useInheritance); }