NIHVIVO-3523 Merge the SimplePermission code from branches/dev-permissions-NIHVIVO-3523

This commit is contained in:
j2blake 2011-12-21 22:23:34 +00:00
commit 4dd304304b
137 changed files with 1548 additions and 797 deletions

View file

@ -5,6 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.auth.identifier.common;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
@ -19,11 +21,15 @@ import edu.cornell.mannlib.vitro.webapp.auth.identifier.ArrayIdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.Identifier; import edu.cornell.mannlib.vitro.webapp.auth.identifier.Identifier;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle; import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundleFactory; import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundleFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.Permission;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.PermissionRegistry;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel; import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.PermissionSet;
import edu.cornell.mannlib.vitro.webapp.beans.SelfEditingConfiguration; import edu.cornell.mannlib.vitro.webapp.beans.SelfEditingConfiguration;
import edu.cornell.mannlib.vitro.webapp.beans.UserAccount; import edu.cornell.mannlib.vitro.webapp.beans.UserAccount;
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao; import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
import edu.cornell.mannlib.vitro.webapp.dao.UserAccountsDao;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
/** /**
@ -53,6 +59,7 @@ public class CommonIdentifierBundleFactory implements IdentifierBundleFactory {
bundle.addAll(createRoleLevelIdentifiers(req)); bundle.addAll(createRoleLevelIdentifiers(req));
bundle.addAll(createBlacklistOrAssociatedIndividualIdentifiers(req)); bundle.addAll(createBlacklistOrAssociatedIndividualIdentifiers(req));
bundle.addAll(createExplicitProxyEditingIdentifiers(req)); bundle.addAll(createExplicitProxyEditingIdentifiers(req));
bundle.addAll(createPermissionIdentifiers(req));
return bundle; return bundle;
} }
@ -141,7 +148,8 @@ public class CommonIdentifierBundleFactory implements IdentifierBundleFactory {
} }
/** /**
* Get all Individuals associated with the current user by explicit proxy relationship. * Get all Individuals associated with the current user by explicit proxy
* relationship.
*/ */
private Collection<? extends Identifier> createExplicitProxyEditingIdentifiers( private Collection<? extends Identifier> createExplicitProxyEditingIdentifiers(
HttpServletRequest req) { HttpServletRequest req) {
@ -149,7 +157,7 @@ public class CommonIdentifierBundleFactory implements IdentifierBundleFactory {
UserAccount user = LoginStatusBean.getCurrentUser(req); UserAccount user = LoginStatusBean.getCurrentUser(req);
if (user != null) { if (user != null) {
for(String proxiedUri: user.getProxiedIndividualUris()) { for (String proxiedUri : user.getProxiedIndividualUris()) {
ids.add(new HasProxyEditingRights(proxiedUri)); ids.add(new HasProxyEditingRights(proxiedUri));
} }
} }
@ -157,6 +165,44 @@ public class CommonIdentifierBundleFactory implements IdentifierBundleFactory {
return ids; return ids;
} }
/**
* Create an identifier for each Permission that the User has.
*/
private Collection<? extends Identifier> createPermissionIdentifiers(
HttpServletRequest req) {
Collection<Identifier> ids = new ArrayList<Identifier>();
UserAccount user = LoginStatusBean.getCurrentUser(req);
if (user == null) {
log.debug("No Permissions: not logged in.");
return ids;
}
WebappDaoFactory wdf = (WebappDaoFactory) context
.getAttribute("webappDaoFactory");
if (wdf == null) {
log.error("Could not get a WebappDaoFactory from the ServletContext");
return ids;
}
Set<String> permissionUris = new HashSet<String>();
UserAccountsDao uaDao = wdf.getUserAccountsDao();
for (String psUri: user.getPermissionSetUris()) {
PermissionSet ps = uaDao.getPermissionSetByUri(psUri);
if (ps != null) {
permissionUris.addAll(ps.getPermissionUris());
}
}
PermissionRegistry registry = PermissionRegistry.getRegistry(context);
for (String permissionUri: permissionUris) {
Permission permission = registry.getPermission(permissionUri);
ids.add(new HasPermission(permission));
}
return ids;
}
@Override @Override
public String toString() { public String toString() {
return this.getClass().getSimpleName() + " - " + hashCode(); return this.getClass().getSimpleName() + " - " + hashCode();

View file

@ -0,0 +1,44 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.identifier.common;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.Identifier;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.Permission;
/**
* The current user has this Permission, through one or more PermissionSets.
*/
public class HasPermission extends AbstractCommonIdentifier implements
Identifier {
public static Collection<HasPermission> getIdentifiers(IdentifierBundle ids) {
return getIdentifiersForClass(ids, HasPermission.class);
}
public static Collection<Permission> getPermissions(IdentifierBundle ids) {
Set<Permission> set = new HashSet<Permission>();
for (HasPermission id : getIdentifiers(ids)) {
set.add(id.getPermission());
}
return set;
}
private final Permission permission;
public HasPermission(Permission permission) {
this.permission = permission;
}
public Permission getPermission() {
return permission;
}
@Override
public String toString() {
return "HasPermission[" + permission + "]";
}
}

View file

@ -0,0 +1,55 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.permissions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/**
* This is what the PermissionRegistry hands out if you ask for a Permission
* that it doesn't know about. Nothing is authorized by this Permission.
*/
public class BrokenPermission implements Permission {
private final String uri;
private final String localName;
private final String namespace;
public BrokenPermission(String uri) {
this.uri = uri;
int namespaceBreak = uri.lastIndexOf("#");
if (namespaceBreak == -1) {
namespaceBreak = uri.lastIndexOf("/");
}
int localNameStart = namespaceBreak + 1;
this.namespace = uri.substring(0, localNameStart);
this.localName = uri.substring(localNameStart);
}
@Override
public String getUri() {
return uri;
}
@Override
public String getLocalName() {
return localName;
}
@Override
public String getNamespace() {
return namespace;
}
@Override
public boolean isAuthorized(RequestedAction whatToAuth) {
return false;
}
@Override
public String toString() {
return "BrokenPermission[" + uri + "]";
}
}

View file

@ -2,10 +2,58 @@
package edu.cornell.mannlib.vitro.webapp.auth.permissions; package edu.cornell.mannlib.vitro.webapp.auth.permissions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** /**
* Base class that describes a unit of authorization, or permission to perform * Interface that describes a unit of authorization, or permission to perform
* requested actions. * requested actions.
*/ */
public abstract class Permission { public interface Permission {
// no members /**
* Get the URI that identifies this Permission object.
*/
String getUri();
/**
* Convenience method to get the localName portion of the URI.
*/
String getLocalName();
/**
* Convenience method to get the namespace portion of the URI.
*/
String getNamespace();
/**
* Is a user with this Permission authorized to perform this
* RequestedAction?
*/
boolean isAuthorized(RequestedAction whatToAuth);
/**
* An implementation of Permission that authorizes nothing.
*/
static Permission NOT_AUTHORIZED = new Permission() {
@Override
public String getUri() {
return "java:" + Permission.class.getName() + "#NOT_AUTHORIZED";
}
@Override
public String getLocalName() {
return "NOT_AUTHORIZED";
}
@Override
public String getNamespace() {
return "java:" + Permission.class.getName();
}
@Override
public boolean isAuthorized(RequestedAction whatToAuth) {
return false;
}
};
} }

View file

@ -0,0 +1,148 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.permissions;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus;
/**
* An immutable collection of Permission objects, keyed by URI. Resides in the
* ServletContext.
*
* This is not thread-safe, so all Permissions should be added during context
* initialization.
*/
public class PermissionRegistry {
private static final Log log = LogFactory.getLog(PermissionRegistry.class);
private static final String ATTRIBUTE_NAME = PermissionRegistry.class
.getName();
/**
* Has the registry been created yet?
*/
public static boolean isRegistryCreated(ServletContext ctx) {
return ctx.getAttribute(ATTRIBUTE_NAME) instanceof PermissionRegistry;
}
/**
* Create the registry and store it in the context.
*/
public static void createRegistry(ServletContext ctx,
Collection<? extends Permission> permissions) {
if (ctx == null) {
throw new NullPointerException("ctx may not be null.");
}
if (permissions == null) {
throw new NullPointerException("permissions may not be null.");
}
if (ctx.getAttribute(ATTRIBUTE_NAME) != null) {
throw new IllegalStateException(
"PermissionRegistry has already been set.");
}
PermissionRegistry registry = new PermissionRegistry(permissions);
ctx.setAttribute(ATTRIBUTE_NAME, registry);
}
/**
* Get the registry from the context. If there isn't one, throw an exception.
*/
public static PermissionRegistry getRegistry(ServletContext ctx) {
if (ctx == null) {
throw new NullPointerException("ctx may not be null.");
}
Object o = ctx.getAttribute(ATTRIBUTE_NAME);
if (o == null) {
throw new IllegalStateException(
"PermissionRegistry has not been set.");
} else if (!(o instanceof PermissionRegistry)) {
throw new IllegalStateException("PermissionRegistry was set to an "
+ "invalid object: " + o);
}
return (PermissionRegistry) o;
}
private final Map<String, Permission> permissionsMap;
public PermissionRegistry(Collection<? extends Permission> permissions) {
Map<String, Permission> map = new HashMap<String, Permission>();
for (Permission p : permissions) {
String uri = p.getUri();
if (map.containsKey(uri)) {
throw new IllegalStateException("A Permission is already "
+ "registered with this URI: '" + uri + "'.");
}
map.put(uri, p);
}
this.permissionsMap = Collections.unmodifiableMap(map);
}
/**
* Is there a Permission registered with this URI?
*/
public boolean isPermission(String uri) {
return permissionsMap.containsKey(uri);
}
/**
* Get the permission that is registered with this URI. If there is no such
* Permission, return a BrokenPermission that always denies authorization.
*
* If you want to know whether an actual Permission has been registered at
* this URI, call isPermission() instead.
*/
public Permission getPermission(String uri) {
Permission p = permissionsMap.get(uri);
if (p == null) {
log.warn("No Permission is registered for '" + uri + "'");
return new BrokenPermission(uri);
}
return p;
}
// ----------------------------------------------------------------------
// Setup class
// ----------------------------------------------------------------------
public static class Setup implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext ctx = sce.getServletContext();
StartupStatus ss = StartupStatus.getBean(ctx);
try {
List<Permission> permissions = new ArrayList<Permission>();
permissions.addAll(SimplePermission.getAllInstances());
PermissionRegistry.createRegistry(ctx, permissions);
ss.info(this, "Created the PermissionRegistry with "
+ permissions.size() + " permissions.");
} catch (Exception e) {
ss.fatal(this, "Failed to initialize the PermissionRegistry.",
e);
}
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
sce.getServletContext().removeAttribute(ATTRIBUTE_NAME);
}
}
}

View file

@ -2,6 +2,13 @@
package edu.cornell.mannlib.vitro.webapp.auth.permissions; package edu.cornell.mannlib.vitro.webapp.auth.permissions;
import static edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary.VITRO_AUTH;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener; import javax.servlet.ServletContextListener;
@ -10,12 +17,24 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.Selector;
import com.hp.hpl.jena.rdf.model.SimpleSelector;
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import com.hp.hpl.jena.util.iterator.ClosableIterator;
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.RDFS;
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; import edu.cornell.mannlib.vitro.webapp.beans.PermissionSet;
import edu.cornell.mannlib.vitro.webapp.beans.UserAccount;
import edu.cornell.mannlib.vitro.webapp.dao.UserAccountsDao;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus; import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus;
@ -24,36 +43,29 @@ import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus;
* *
* The UserAccounts model must be created before this runs. * The UserAccounts model must be created before this runs.
* *
* For now, we just use the four hard-coded "roles". * The PermissionRegistry must be created before this runs.
*/ */
public class PermissionSetsLoader implements ServletContextListener { public class PermissionSetsLoader implements ServletContextListener {
private static final Log log = LogFactory private static final Log log = LogFactory
.getLog(PermissionSetsLoader.class); .getLog(PermissionSetsLoader.class);
public static final String URI_SELF_EDITOR = "http://permissionSet-1"; public static final String FILE_OF_PERMISSION_SETS_INFO = "/WEB-INF/resources/permission_config.n3";
public static final String URI_EDITOR = "http://permissionSet-4";
public static final String URI_CURATOR = "http://permissionSet-5"; public static final String URI_SELF_EDITOR = VITRO_AUTH + "SELF_EDITOR";
public static final String URI_DBA = "http://permissionSet-50"; public static final String URI_EDITOR = VITRO_AUTH + "EDITOR";
public static final String URI_CURATOR = VITRO_AUTH + "CURATOR";
public static final String URI_DBA = VITRO_AUTH + "ADMIN";
@Override @Override
public void contextInitialized(ServletContextEvent sce) { public void contextInitialized(ServletContextEvent sce) {
ServletContext ctx = sce.getServletContext(); ServletContext ctx = sce.getServletContext();
StartupStatus ss = StartupStatus.getBean(ctx); StartupStatus ss = StartupStatus.getBean(ctx);
try { try {
String ns = ConfigurationProperties.getBean(ctx).getProperty( new Loader(this, ctx, ss).load();
"Vitro.defaultNamespace"); new SmokeTester(this, ctx, ss).test();
OntModel model = ModelContext.getBaseOntModelSelector(ctx)
.getUserAccountsModel();
ModelWrapper wrapper = new ModelWrapper(model);
wrapper.createPermissionSet(URI_SELF_EDITOR, "Self Editor");
wrapper.createPermissionSet(URI_EDITOR, "Editor");
wrapper.createPermissionSet(URI_CURATOR, "Curator");
wrapper.createPermissionSet(URI_DBA, "Site Admin");
} catch (Exception e) { } catch (Exception e) {
ss.fatal(this, "could not run PermissionSetsLoader" + e); ss.fatal(this, "Failed to load the PermissionSets", e);
} }
} }
@ -62,32 +74,284 @@ public class PermissionSetsLoader implements ServletContextListener {
// Nothing to tear down. // Nothing to tear down.
} }
private static class ModelWrapper { // ----------------------------------------------------------------------
private final OntModel model; // Loader class
// ----------------------------------------------------------------------
private final Property typeProperty; private static class Loader {
private final Property labelProperty; private static final int MAX_STATEMENTS_IN_WARNING = 5;
private final Resource permissionSet;
public ModelWrapper(OntModel model) { private ServletContextListener listener;
this.model = model; private final ServletContext ctx;
private final StartupStatus ss;
private final OntModel userAccountsModel;
private final Property permissionSetType;
private Model modelFromFile;
private Model filteredModel;
private int howManyNewPermissionSets;
private int howManyOldPermissionSets;
public Loader(ServletContextListener listener, ServletContext ctx,
StartupStatus ss) {
this.listener = listener;
this.ctx = ctx;
this.ss = ss;
this.userAccountsModel = ModelContext.getBaseOntModelSelector(ctx)
.getUserAccountsModel();
this.permissionSetType = this.userAccountsModel
.getProperty(VitroVocabulary.PERMISSIONSET);
typeProperty = model.createProperty(VitroVocabulary.RDF_TYPE);
labelProperty = model.createProperty(VitroVocabulary.LABEL);
permissionSet = model.createResource(VitroVocabulary.PERMISSIONSET);
} }
public void createPermissionSet(String uri, String label) { public void load() {
model.enterCriticalSection(Lock.WRITE);
try { try {
Resource r = model.createResource(uri); createModelFromFile();
model.add(r, typeProperty, permissionSet); filterModelFromFile();
model.add(r, labelProperty, label); checkForLeftoverStatements();
log.debug("Created permission set: '" + uri + "', '" + label removeExistingPermissionSetsFromUserAccountsModel();
+ "'"); addNewStatementsToUserAccountsModel();
} finally {
model.leaveCriticalSection(); ss.info(listener, buildInfoMessage());
} catch (LoaderException e) {
Throwable cause = e.getCause();
if (cause == null) {
ss.warning(listener, e.getMessage());
} else {
ss.warning(listener, e.getMessage(), e.getCause());
}
} }
} }
private void createModelFromFile() throws LoaderException {
InputStream stream = ctx
.getResourceAsStream(FILE_OF_PERMISSION_SETS_INFO);
if (stream == null) {
throw new LoaderException("The permission sets config file "
+ "doesn't exist in the servlet context: '"
+ FILE_OF_PERMISSION_SETS_INFO + "'");
}
try {
modelFromFile = ModelFactory.createDefaultModel();
modelFromFile.read(stream, null, "N3");
} finally {
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
log.debug("Loaded " + modelFromFile.size() + " statements");
}
/**
* Move all statements that relate to PermissionSets from the loaded
* model to the filtered model.
*/
private void filterModelFromFile() {
filteredModel = ModelFactory.createDefaultModel();
for (Resource r : iterable(modelFromFile.listResourcesWithProperty(
RDF.type, permissionSetType))) {
moveStatementsToFilteredModel(r);
howManyNewPermissionSets++;
}
log.debug("Filtered " + filteredModel.size() + " statements for "
+ howManyNewPermissionSets + " PermissionSets; "
+ modelFromFile.size() + " extraneous statements.");
}
/**
* Move the statements about this PermissionSet from the loaded model to
* the filtered model.
*/
private void moveStatementsToFilteredModel(Resource ps) {
Selector sel = new SimpleSelector(ps, null, (String) null);
for (Statement stmt : iterable(modelFromFile.listStatements(sel))) {
filteredModel.add(stmt);
modelFromFile.remove(stmt);
}
}
/**
* Complain about any statements that were not moved to the filtered
* model.
*/
private void checkForLeftoverStatements() {
List<Statement> list = iterable(modelFromFile.listStatements());
if (list.isEmpty()) {
return;
}
String message = "The PermissionSets configuration file contained "
+ list.size()
+ " statements that didn't describe PermissionSets: ";
for (int i = 0; i < Math
.min(list.size(), MAX_STATEMENTS_IN_WARNING); i++) {
Statement stmt = list.get(i);
message += "(" + stmt.asTriple() + ") ";
}
if (list.size() > MAX_STATEMENTS_IN_WARNING) {
message += ", ...";
}
ss.warning(listener, message);
}
private void removeExistingPermissionSetsFromUserAccountsModel() {
userAccountsModel.enterCriticalSection(Lock.WRITE);
try {
for (Resource r : iterable(userAccountsModel
.listResourcesWithProperty(RDF.type, permissionSetType))) {
Selector sel = new SimpleSelector(r, null, (String) null);
StmtIterator stmts = userAccountsModel.listStatements(sel);
userAccountsModel.remove(stmts);
howManyOldPermissionSets++;
}
} finally {
userAccountsModel.leaveCriticalSection();
}
log.debug("Deleted " + howManyOldPermissionSets
+ " old PermissionSets from the user model.");
}
private void addNewStatementsToUserAccountsModel() {
userAccountsModel.enterCriticalSection(Lock.WRITE);
try {
userAccountsModel.add(filteredModel);
} finally {
userAccountsModel.leaveCriticalSection();
}
}
private String buildInfoMessage() {
String message = "Loaded " + howManyNewPermissionSets
+ " PermissionSets: ";
Selector sel = new SimpleSelector(null, RDFS.label, (String) null);
for (Statement stmt : iterable(filteredModel.listStatements(sel))) {
String label = stmt.getObject().asLiteral().getString();
message += "'" + label + "' ";
}
return message;
}
private <T> List<T> iterable(ClosableIterator<T> iterator) {
List<T> list = new ArrayList<T>();
try {
while (iterator.hasNext()) {
list.add(iterator.next());
}
} finally {
iterator.close();
}
return list;
}
}
// ----------------------------------------------------------------------
// SmokeTester class
// ----------------------------------------------------------------------
private static class SmokeTester {
private ServletContextListener listener;
private final ServletContext ctx;
private final StartupStatus ss;
private final UserAccountsDao uaDao;
public SmokeTester(ServletContextListener listener, ServletContext ctx,
StartupStatus ss) {
this.listener = listener;
this.ctx = ctx;
this.ss = ss;
WebappDaoFactory wadf = (WebappDaoFactory) ctx
.getAttribute("webappDaoFactory");
if (wadf == null) {
throw new IllegalStateException(
"No webappDaoFactory on the servlet context");
}
this.uaDao = wadf.getUserAccountsDao();
}
public void test() {
checkForPermissionSetsWithoutLabels();
checkForReferencesToNonexistentPermissionSets();
checkForReferencesToNonexistentPermissions();
warnIfNoDefaultPermissionSetsForNewUsers();
}
private void checkForPermissionSetsWithoutLabels() {
for (PermissionSet ps : uaDao.getAllPermissionSets()) {
if (ps.getLabel().isEmpty()) {
ss.warning(listener, "This PermissionSet has no label: "
+ ps.getUri());
}
}
}
private void checkForReferencesToNonexistentPermissionSets() {
for (UserAccount user : uaDao.getAllUserAccounts()) {
for (String psUri : user.getPermissionSetUris()) {
if (uaDao.getPermissionSetByUri(psUri) == null) {
ss.warning(listener, "The user '" + user.getFirstName()
+ " " + user.getLastName()
+ "' has the PermissionSet '" + psUri
+ "', but the PermissionSet doesn't exist.");
}
}
}
}
private void checkForReferencesToNonexistentPermissions() {
PermissionRegistry registry = PermissionRegistry.getRegistry(ctx);
for (PermissionSet ps : uaDao.getAllPermissionSets()) {
for (String pUri : ps.getPermissionUris()) {
if (!registry.isPermission(pUri)) {
ss.warning(listener,
"The PermissionSet '" + ps.getLabel()
+ "' has the Permission '" + pUri
+ "', but the Permission "
+ "is not found in the registry.");
}
}
}
}
private void warnIfNoDefaultPermissionSetsForNewUsers() {
for (PermissionSet ps : uaDao.getAllPermissionSets()) {
if (ps.isDefaultForNewUsers()) {
return;
}
}
ss.warning(listener, "No PermissionSet has been declared to be a "
+ "Default PermissionSet for new users.");
}
}
// ----------------------------------------------------------------------
// Handy dandy exception.
// ----------------------------------------------------------------------
private static class LoaderException extends Exception {
public LoaderException(String message) {
super(message);
}
public LoaderException(String message, Throwable cause) {
super(message, cause);
}
} }
} }

View file

@ -0,0 +1,143 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.permissions;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.SimpleRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/**
* A class of simple permissions. Each instance holds a RequestedAction, and
* will only authorize that RequestedAction (or one with the same URI).
*/
public class SimplePermission implements Permission {
private static final Log log = LogFactory.getLog(SimplePermission.class);
private static final String NAMESPACE = "java:"
+ SimplePermission.class.getName() + "#";
private static final Map<String, SimplePermission> allInstances = new HashMap<String, SimplePermission>();
public static final SimplePermission ACCESS_SPECIAL_DATA_MODELS = new SimplePermission(
"AccessSpecialDataModels");
public static final SimplePermission DO_BACK_END_EDITING = new SimplePermission(
"DoBackEndEditing");
public static final SimplePermission DO_FRONT_END_EDITING = new SimplePermission(
"DoFrontEndEditing");
public static final SimplePermission EDIT_ONTOLOGY = new SimplePermission(
"EditOntology");
public static final SimplePermission EDIT_OWN_ACCOUNT = new SimplePermission(
"EditOwnAccount");
public static final SimplePermission EDIT_SITE_INFORMATION = new SimplePermission(
"EditSiteInformation");
public static final SimplePermission MANAGE_MENUS = new SimplePermission(
"ManageMenus");
public static final SimplePermission MANAGE_OWN_PROXIES = new SimplePermission(
"ManageOwnProxies");
public static final SimplePermission MANAGE_PORTALS = new SimplePermission(
"ManagePortals");
public static final SimplePermission MANAGE_PROXIES = new SimplePermission(
"ManageProxies");
public static final SimplePermission MANAGE_SEARCH_INDEX = new SimplePermission(
"ManageSearchIndex");
public static final SimplePermission MANAGE_TABS = new SimplePermission(
"ManageTabs");
public static final SimplePermission MANAGE_USER_ACCOUNTS = new SimplePermission(
"ManageUserAccounts");
public static final SimplePermission QUERY_USER_ACCOUNTS_MODEL = new SimplePermission(
"QueryUserAccountsModel");
public static final SimplePermission REBUILD_VCLASS_GROUP_CACHE = new SimplePermission(
"RebuildVClassGroupCache");
public static final SimplePermission REFRESH_VISUALIZATION_CACHE = new SimplePermission(
"RefreshVisualizationCache");
public static final SimplePermission SEE_INDVIDUAL_EDITING_PANEL = new SimplePermission(
"SeeIndividualEditingPanel");
public static final SimplePermission SEE_REVISION_INFO = new SimplePermission(
"SeeRevisionInfo");
public static final SimplePermission SEE_SITE_ADMIN_PAGE = new SimplePermission(
"SeeSiteAdminPage");
public static final SimplePermission SEE_STARTUP_STATUS = new SimplePermission(
"SeeStartupStatus");
public static final SimplePermission SEE_VERBOSE_PROPERTY_INFORMATION = new SimplePermission(
"SeeVerbosePropertyInformation");
public static final SimplePermission USE_ADVANCED_DATA_TOOLS_PAGES = new SimplePermission(
"UseAdvancedDataToolsPages");
public static final SimplePermission USE_BASIC_AJAX_CONTROLLERS = new SimplePermission(
"UseBasicAjaxControllers");
public static final SimplePermission USE_MISCELLANEOUS_ADMIN_PAGES = new SimplePermission(
"UseMiscellaneousAdminPages");
public static final SimplePermission USE_MISCELLANEOUS_CURATOR_PAGES = new SimplePermission(
"UseMiscellaneousCuratorPages");
public static final SimplePermission USE_MISCELLANEOUS_EDITOR_PAGES = new SimplePermission(
"UseMiscellaneousEditorPages");
public static final SimplePermission USE_MISCELLANEOUS_PAGES = new SimplePermission(
"UseMiscellaneousPages");
public static List<SimplePermission> getAllInstances() {
return new ArrayList<SimplePermission>(allInstances.values());
}
private final String localName;
private final String uri;
public final RequestedAction ACTION;
public final Actions ACTIONS;
public SimplePermission(String localName) {
if (localName == null) {
throw new NullPointerException("name may not be null.");
}
this.localName = localName;
this.uri = NAMESPACE + localName;
this.ACTION = new SimpleRequestedAction(localName);
this.ACTIONS = new Actions(this.ACTION);
if (allInstances.containsKey(this.uri)) {
throw new IllegalStateException("A SimplePermission named '"
+ this.uri + "' already exists.");
}
allInstances.put(uri, this);
}
@Override
public String getLocalName() {
return this.localName;
}
@Override
public String getNamespace() {
return NAMESPACE;
}
@Override
public String getUri() {
return NAMESPACE + this.localName;
}
@Override
public boolean isAuthorized(RequestedAction whatToAuth) {
if (whatToAuth != null) {
if (ACTION.getURI().equals(whatToAuth.getURI())) {
log.debug(this + " authorizes " + whatToAuth);
return true;
}
}
log.debug(this + " does not authorize " + whatToAuth);
return false;
}
@Override
public String toString() {
return "SimplePermission['" + localName + "']";
}
}

View file

@ -0,0 +1,37 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.policy;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.HasPermission;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.Permission;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.Authorization;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyIface;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/**
* The user is authorized to perform the RequestedAction if one of his
* Permissions will authorize it.
*/
public class PermissionsPolicy implements PolicyIface {
@Override
public PolicyDecision isAuthorized(IdentifierBundle whoToAuth,
RequestedAction whatToAuth) {
for (Permission p : HasPermission.getPermissions(whoToAuth)) {
if (p.isAuthorized(whatToAuth)) {
return new BasicPolicyDecision(Authorization.AUTHORIZED,
"PermissionsPolicy: approved by " + p);
}
}
return new BasicPolicyDecision(Authorization.INCONCLUSIVE,
"no permission will approve " + whatToAuth);
}
@Override
public String toString() {
return "PermissionsPolicy - " + hashCode();
}
}

View file

@ -10,35 +10,8 @@ import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.HasRoleLevel;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.Authorization; import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.Authorization;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision; import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyIface; import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyIface;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RebuildVClassGroupCache;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel.QueryFullModel; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel.QueryFullModel;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel.QueryUserAccountsModel;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.AccessSpecialDataModels;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoFrontEndEditing;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOwnAccount;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditSiteInformation;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageMenus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageOwnProxies;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManagePortals;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageProxies;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageSearchIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageTabs;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageUserAccounts;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.RefreshVisualizationCacheAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeIndividualEditingPanel;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeRevisionInfo;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeSiteAdminPage;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeStartupStatus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeVerbosePropertyInformation;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseBasicAjaxControllers;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousCuratorPages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousEditorPages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousPages;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel; import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
/** /**
@ -62,90 +35,9 @@ public class UseRestrictedPagesByRoleLevelPolicy implements PolicyIface {
RoleLevel userRole = HasRoleLevel.getUsersRoleLevel(whoToAuth); RoleLevel userRole = HasRoleLevel.getUsersRoleLevel(whoToAuth);
PolicyDecision result; PolicyDecision result;
if (whatToAuth instanceof UseAdvancedDataToolsPages) { if (whatToAuth instanceof QueryFullModel) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof ManageUserAccounts) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof ManageMenus) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof ManageSearchIndex) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof UseMiscellaneousAdminPages) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof AccessSpecialDataModels) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof RebuildVClassGroupCache) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof RefreshVisualizationCacheAction) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof SeeStartupStatus) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof ManageProxies) {
result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole);
} else if (whatToAuth instanceof EditOntology) {
result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole);
} else if (whatToAuth instanceof ManagePortals) {
result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole);
} else if (whatToAuth instanceof ManageTabs) {
result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole);
} else if (whatToAuth instanceof EditSiteInformation) {
result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole);
} else if (whatToAuth instanceof SeeVerbosePropertyInformation) {
result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole);
} else if (whatToAuth instanceof UseMiscellaneousCuratorPages) {
result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole);
} else if (whatToAuth instanceof DoBackEndEditing) {
result = isAuthorized(whatToAuth, RoleLevel.EDITOR, userRole);
} else if (whatToAuth instanceof SeeSiteAdminPage) {
result = isAuthorized(whatToAuth, RoleLevel.EDITOR, userRole);
} else if (whatToAuth instanceof SeeRevisionInfo) {
result = isAuthorized(whatToAuth, RoleLevel.EDITOR, userRole);
} else if (whatToAuth instanceof SeeIndividualEditingPanel) {
result = isAuthorized(whatToAuth, RoleLevel.EDITOR, userRole);
} else if (whatToAuth instanceof UseMiscellaneousEditorPages) {
result = isAuthorized(whatToAuth, RoleLevel.EDITOR, userRole);
} else if (whatToAuth instanceof UseBasicAjaxControllers) {
result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole);
} else if (whatToAuth instanceof UseMiscellaneousPages) {
result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole);
} else if (whatToAuth instanceof EditOwnAccount) {
result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole);
} else if (whatToAuth instanceof ManageOwnProxies) {
result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole);
} else if (whatToAuth instanceof QueryUserAccountsModel) {
result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole);
} else if (whatToAuth instanceof DoFrontEndEditing) {
result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole);
} else if (whatToAuth instanceof QueryFullModel) {
result = isAuthorized(whatToAuth, RoleLevel.PUBLIC, userRole); result = isAuthorized(whatToAuth, RoleLevel.PUBLIC, userRole);
} else { } else {
result = defaultDecision("Unrecognized action"); result = defaultDecision("Unrecognized action");
} }

View file

@ -11,6 +11,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.CommonIdentifierB
import edu.cornell.mannlib.vitro.webapp.auth.policy.DisplayRestrictedDataByRoleLevelPolicy; import edu.cornell.mannlib.vitro.webapp.auth.policy.DisplayRestrictedDataByRoleLevelPolicy;
import edu.cornell.mannlib.vitro.webapp.auth.policy.DisplayRestrictedDataToSelfPolicy; import edu.cornell.mannlib.vitro.webapp.auth.policy.DisplayRestrictedDataToSelfPolicy;
import edu.cornell.mannlib.vitro.webapp.auth.policy.EditRestrictedDataByRoleLevelPolicy; import edu.cornell.mannlib.vitro.webapp.auth.policy.EditRestrictedDataByRoleLevelPolicy;
import edu.cornell.mannlib.vitro.webapp.auth.policy.PermissionsPolicy;
import edu.cornell.mannlib.vitro.webapp.auth.policy.SelfEditingPolicy; import edu.cornell.mannlib.vitro.webapp.auth.policy.SelfEditingPolicy;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ServletPolicyList; import edu.cornell.mannlib.vitro.webapp.auth.policy.ServletPolicyList;
import edu.cornell.mannlib.vitro.webapp.auth.policy.UseRestrictedPagesByRoleLevelPolicy; import edu.cornell.mannlib.vitro.webapp.auth.policy.UseRestrictedPagesByRoleLevelPolicy;
@ -27,6 +28,8 @@ public class CommonPolicyFamilySetup implements ServletContextListener {
StartupStatus ss = StartupStatus.getBean(ctx); StartupStatus ss = StartupStatus.getBean(ctx);
try { try {
ServletPolicyList.addPolicy(ctx, new PermissionsPolicy());
ServletPolicyList.addPolicy(ctx, ServletPolicyList.addPolicy(ctx,
new DisplayRestrictedDataByRoleLevelPolicy(ctx)); new DisplayRestrictedDataByRoleLevelPolicy(ctx));
ServletPolicyList.addPolicy(ctx, ServletPolicyList.addPolicy(ctx,

View file

@ -0,0 +1,49 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/**
* A RequestedAction that can be recognized by a SimplePermission.
*/
public class SimpleRequestedAction extends RequestedAction {
private final String localName;
public SimpleRequestedAction(String localName) {
if (localName == null) {
throw new NullPointerException("localName may not be null.");
}
this.localName = localName;
}
@Override
public String getURI() {
return "java:" + this.getClass().getName() + "#" + localName;
}
@Override
public int hashCode() {
return (localName == null) ? 0 : localName.hashCode();
}
@Override
public boolean equals(Object o) {
if (o instanceof SimpleRequestedAction) {
SimpleRequestedAction that = (SimpleRequestedAction) o;
return equivalent(this.localName, that.localName);
}
return false;
}
private boolean equivalent(Object o1, Object o2) {
return (o1 == null) ? (o2 == null) : o1.equals(o2);
}
@Override
public String toString() {
return "SimpleRequestedAction['" + localName + "']";
}
}

View file

@ -1,10 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
public class RebuildVClassGroupCache extends RequestedAction implements
AdminRequestedAction {
}

View file

@ -3,7 +3,7 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces; package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces;
public class RequestActionConstants { public class RequestActionConstants {
public static String actionNamespace = "java://"; public static String actionNamespace = "java:";
public static String SOME_URI = "?SOME_URI"; public static String SOME_URI = "?SOME_URI";
public static String SOME_LITERAL = "?SOME_LITERAL"; public static String SOME_LITERAL = "?SOME_LITERAL";

View file

@ -8,7 +8,7 @@ public abstract class RequestedAction {
* In its most basic form, a RequestAction needs to have an identifier. * In its most basic form, a RequestAction needs to have an identifier.
* Sometimes this will be enough. * Sometimes this will be enough.
*/ */
public final String getURI() { public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName(); return RequestActionConstants.actionNamespace + this.getClass().getName();
} }

View file

@ -1,10 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to query the User Accounts model? */
public class QueryUserAccountsModel extends RequestedAction {
// no fields
}

View file

@ -1,10 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to read any write different data models on request? */
public class AccessSpecialDataModels extends RequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the back-end editing pages (blue screen editing)? */
public class DoBackEndEditing extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use font-end editing pages (n3 editing) ? */
public class DoFrontEndEditing extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the pages for the Ontology Editor? */
public class EditOntology extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to edit his own account (name, email, etc)? */
public class EditOwnAccount extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the page for editing the site info? */
public class EditSiteInformation extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the pages for editing menus? */
public class ManageMenus extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to manage the proxy editors for his own profile? */
public class ManageOwnProxies extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the pages for editing portals? */
public class ManagePortals extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to manage the proxy editors for everyone? */
public class ManageProxies extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to manipulate the search index? */
public class ManageSearchIndex extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the pages for editing tabs? */
public class ManageTabs extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to create, edit, or delete user accounts? */
public class ManageUserAccounts extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,10 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to rebuild the cache constructed of models for visualizations? */
public class RefreshVisualizationCacheAction extends RequestedAction implements UsePagesRequestedAction {
// no fields
}

View file

@ -1,10 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to see the Editing panel for an individual? */
public class SeeIndividualEditingPanel extends RequestedAction {
// no fields
}

View file

@ -1,16 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/**
* Should we allow the user to see the RevisionInfo page?
*
* Note that this will also control whether they see the revision info in the
* footer of all pages.
*/
public class SeeRevisionInfo extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the Site Admin page? */
public class SeeSiteAdminPage extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the Startup Status page? */
public class SeeStartupStatus extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,10 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to see verbose property information? */
public class SeeVerbosePropertyInformation extends RequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the pages for Advanced Data Tools? */
public class UseAdvancedDataToolsPages extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the basic Ajax controllers? */
public class UseBasicAjaxControllers extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the odd-lots pages that were designed for DBAs? */
public class UseMiscellaneousAdminPages extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the odd-lots pages that were designed for Curators or DBAs? */
public class UseMiscellaneousCuratorPages extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,11 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/** Should we allow the user to use the odd-lots pages that were designed for Editors, Curators or DBAs? */
public class UseMiscellaneousEditorPages extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -1,14 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
/**
* Should we allow the user to use the odd-lots pages that were designed for
* anyone who is logged in?
*/
public class UseMiscellaneousPages extends RequestedAction implements
UsePagesRequestedAction {
// no fields
}

View file

@ -18,6 +18,8 @@ public class PermissionSet {
/** This may be empty, but it should never be null. */ /** This may be empty, but it should never be null. */
private String label = ""; private String label = "";
private boolean defaultForNewUsers;
/** This may be empty, but it should never be null. */ /** This may be empty, but it should never be null. */
private Set<String> permissionUris = Collections.emptySet(); private Set<String> permissionUris = Collections.emptySet();
@ -37,6 +39,15 @@ public class PermissionSet {
this.label = (label == null) ? "" : label; this.label = (label == null) ? "" : label;
} }
public boolean isDefaultForNewUsers() {
return defaultForNewUsers;
}
public void setDefaultForNewUsers(Boolean defaultForNewUsers) {
this.defaultForNewUsers = (defaultForNewUsers == null) ? false
: defaultForNewUsers.booleanValue();
}
public Set<String> getPermissionUris() { public Set<String> getPermissionUris() {
return permissionUris; return permissionUris;
} }

View file

@ -19,8 +19,7 @@ import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.sparql.resultset.ResultSetFormat; import com.hp.hpl.jena.sparql.resultset.ResultSetFormat;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages;
/** /**
* This servlet works as a RequestDispatcher to direct to the sparl query builder page. * This servlet works as a RequestDispatcher to direct to the sparl query builder page.
@ -72,7 +71,8 @@ public class SparqlQueryBuilderServlet extends BaseEditController {
protected void doGet(HttpServletRequest request, HttpServletResponse response) protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException throws ServletException, IOException
{ {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -44,8 +44,7 @@ import com.hp.hpl.jena.sparql.resultset.ResultSetFormat;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao; import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao;
import edu.cornell.mannlib.vitro.webapp.utils.SparqlQueryUtils; import edu.cornell.mannlib.vitro.webapp.utils.SparqlQueryUtils;
@ -101,7 +100,8 @@ public class SparqlQueryServlet extends BaseEditController {
protected void doGet(HttpServletRequest request, HttpServletResponse response) protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException throws ServletException, IOException
{ {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -7,8 +7,8 @@ import java.util.Collection;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageUserAccounts;
import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage; import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
@ -29,7 +29,7 @@ public class UserAccountsAdminController extends FreemarkerHttpServlet {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new ManageUserAccounts()); return SimplePermission.MANAGE_USER_ACCOUNTS.ACTIONS;
} }
@Override @Override

View file

@ -10,8 +10,8 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageUserAccounts;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController; import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController;
@ -26,7 +26,7 @@ public class UserAccountsAjaxController extends VitroAjaxController {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new ManageUserAccounts()); return SimplePermission.MANAGE_USER_ACCOUNTS.ACTIONS;
} }
@Override @Override

View file

@ -7,8 +7,8 @@ import java.util.Map;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageProxies;
import edu.cornell.mannlib.vitro.webapp.controller.AbstractPageHandler.Message; import edu.cornell.mannlib.vitro.webapp.controller.AbstractPageHandler.Message;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
@ -27,7 +27,7 @@ public class ManageProxiesController extends FreemarkerHttpServlet {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new ManageProxies()); return SimplePermission.MANAGE_PROXIES.ACTIONS;
} }
@Override @Override

View file

@ -10,9 +10,8 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageOwnProxies;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageProxies;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController; import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController;
@ -27,7 +26,8 @@ public class ManageProxiesAjaxController extends VitroAjaxController {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new ManageOwnProxies()).or(new ManageProxies()); return SimplePermission.MANAGE_OWN_PROXIES.ACTIONS
.or(SimplePermission.MANAGE_PROXIES.ACTION);
} }
@Override @Override

View file

@ -13,8 +13,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean; import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper; import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageOwnProxies;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.SelfEditingConfiguration; import edu.cornell.mannlib.vitro.webapp.beans.SelfEditingConfiguration;
import edu.cornell.mannlib.vitro.webapp.beans.UserAccount; import edu.cornell.mannlib.vitro.webapp.beans.UserAccount;
@ -201,8 +201,8 @@ public class UserAccountsMyAccountPage extends UserAccountsPage {
} }
boolean isProxyPanelAuthorized() { boolean isProxyPanelAuthorized() {
return PolicyHelper return PolicyHelper.isAuthorizedForActions(vreq,
.isAuthorizedForActions(vreq, new ManageOwnProxies()) SimplePermission.MANAGE_OWN_PROXIES.ACTIONS)
&& (getProfilePage(userAccount) != null); && (getProfilePage(userAccount) != null);
} }

View file

@ -7,8 +7,8 @@ import static edu.cornell.mannlib.vedit.beans.LoginStatusBean.AuthenticationSour
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOwnAccount;
import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage; import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage;
import edu.cornell.mannlib.vitro.webapp.beans.UserAccount; import edu.cornell.mannlib.vitro.webapp.beans.UserAccount;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -37,7 +37,7 @@ public class UserAccountsUserController extends FreemarkerHttpServlet {
String action = vreq.getPathInfo(); String action = vreq.getPathInfo();
if (ACTION_MY_ACCOUNT.equals(action)) { if (ACTION_MY_ACCOUNT.equals(action)) {
return new Actions(new EditOwnAccount()); return SimplePermission.EDIT_OWN_ACCOUNT.ACTIONS;
} else { } else {
return Actions.AUTHORIZED; return Actions.AUTHORIZED;
} }

View file

@ -5,8 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.controller.admin;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeStartupStatus;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
@ -21,7 +21,7 @@ public class StartupStatusController extends FreemarkerHttpServlet {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new SeeStartupStatus()); return SimplePermission.SEE_STARTUP_STATUS.ACTIONS;
} }
@Override @Override

View file

@ -26,9 +26,9 @@ import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.query.Syntax; import com.hp.hpl.jena.query.Syntax;
import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.Model;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel.QueryFullModel; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel.QueryFullModel;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.querymodel.QueryUserAccountsModel;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector; import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector;
@ -53,7 +53,7 @@ public class SparqlQueryAjaxController extends VitroAjaxController {
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
String modelParam = getModelParam(vreq); String modelParam = getModelParam(vreq);
if (OPTION_MODEL_USER_ACCOUNTS.equals(modelParam)) { if (OPTION_MODEL_USER_ACCOUNTS.equals(modelParam)) {
return new Actions(new QueryUserAccountsModel()); return SimplePermission.QUERY_USER_ACCOUNTS_MODEL.ACTIONS;
} else { } else {
return new Actions(new QueryFullModel()); return new Actions(new QueryFullModel());
} }

View file

@ -20,8 +20,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditSiteInformation;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -33,7 +32,8 @@ public class ApplicationBeanRetryController extends BaseEditController {
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditSiteInformation()))) { if (!isAuthorizedToDisplayPage(req, response,
SimplePermission.EDIT_SITE_INFORMATION.ACTIONS)) {
return; return;
} }

View file

@ -13,8 +13,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes; import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.Classes2ClassesDao; import edu.cornell.mannlib.vitro.webapp.dao.Classes2ClassesDao;
@ -25,7 +24,7 @@ public class Classes2ClassesOperationController extends BaseEditController {
private static final Log log = LogFactory.getLog(Classes2ClassesOperationController.class.getName()); private static final Log log = LogFactory.getLog(Classes2ClassesOperationController.class.getName());
public void doGet(HttpServletRequest req, HttpServletResponse response) { public void doGet(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -15,8 +15,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes; import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -28,7 +27,7 @@ public class Classes2ClassesRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(Classes2ClassesRetryController.class.getName()); private static final Log log = LogFactory.getLog(Classes2ClassesRetryController.class.getName());
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -21,8 +21,7 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.Validator; import edu.cornell.mannlib.vedit.validator.Validator;
import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator; import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -34,7 +33,8 @@ public class ClassgroupRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(ClassgroupRetryController.class.getName()); private static final Log log = LogFactory.getLog(ClassgroupRetryController.class.getName());
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new UseMiscellaneousAdminPages()))) { if (!isAuthorizedToDisplayPage(req, response,
SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -18,8 +18,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl;
@ -35,9 +34,10 @@ public class DataPropertyStatementRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(DataPropertyStatementRetryController.class.getName()); private static final Log log = LogFactory.getLog(DataPropertyStatementRetryController.class.getName());
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(request, response,
return; SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
} return;
}
//create an EditProcessObject for this and put it in the session //create an EditProcessObject for this and put it in the session
EditProcessObject epo = super.createEpo(request); EditProcessObject epo = super.createEpo(request);

View file

@ -19,8 +19,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
@ -35,7 +34,7 @@ public class DatapropEditController extends BaseEditController {
private static final Log log = LogFactory.getLog(DatapropEditController.class.getName()); private static final Log log = LogFactory.getLog(DatapropEditController.class.getName());
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -25,9 +25,8 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.impl.IntValidator; import edu.cornell.mannlib.vedit.validator.impl.IntValidator;
import edu.cornell.mannlib.vedit.validator.impl.XMLNameValidator; import edu.cornell.mannlib.vedit.validator.impl.XMLNameValidator;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.policy.bean.PropertyRestrictionListener; import edu.cornell.mannlib.vitro.webapp.auth.policy.bean.PropertyRestrictionListener;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
@ -45,7 +44,7 @@ public class DatapropRetryController extends BaseEditController {
@Override @Override
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -16,8 +16,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.forwarder.PageForwarder; import edu.cornell.mannlib.vedit.forwarder.PageForwarder;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Datatype; import edu.cornell.mannlib.vitro.webapp.beans.Datatype;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -29,7 +28,7 @@ public class DatatypeRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(DatatypeRetryController.class.getName()); private static final Log log = LogFactory.getLog(DatatypeRetryController.class.getName());
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -15,7 +15,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.collections.map.ListOrderedMap;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@ -24,15 +23,13 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl; import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance; import edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.PropertyInstanceDao; import edu.cornell.mannlib.vitro.webapp.dao.PropertyInstanceDao;
@ -42,7 +39,8 @@ public class EntityEditController extends BaseEditController {
private static final Log log = LogFactory.getLog(EntityEditController.class.getName()); private static final Log log = LogFactory.getLog(EntityEditController.class.getName());
public void doGet (HttpServletRequest request, HttpServletResponse response) { public void doGet (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
return; return;
} }

View file

@ -7,14 +7,12 @@ import java.net.URLEncoder;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TimeZone;
import javax.servlet.RequestDispatcher; import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -35,9 +33,8 @@ import edu.cornell.mannlib.vedit.forwarder.PageForwarder;
import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder; import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator; import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
@ -59,7 +56,8 @@ public class EntityRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(EntityRetryController.class.getName()); private static final Log log = LogFactory.getLog(EntityRetryController.class.getName());
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
return; return;
} }

View file

@ -19,8 +19,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
@ -35,7 +34,8 @@ public class ExternalIdRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(ExternalIdRetryController.class.getName()); private static final Log log = LogFactory.getLog(ExternalIdRetryController.class.getName());
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
return; return;
} }

View file

@ -13,8 +13,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao; import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
@ -23,7 +22,8 @@ public class IndividualTypeOperationController extends BaseEditController {
private static final Log log = LogFactory.getLog(IndividualTypeOperationController.class.getName()); private static final Log log = LogFactory.getLog(IndividualTypeOperationController.class.getName());
public void doGet(HttpServletRequest req, HttpServletResponse response) { public void doGet(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(req, response,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
return; return;
} }

View file

@ -25,8 +25,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl; import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -41,7 +40,8 @@ public class IndividualTypeRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(IndividualTypeRetryController.class.getName()); private static final Log log = LogFactory.getLog(IndividualTypeRetryController.class.getName());
public void doGet (HttpServletRequest request, HttpServletResponse response) { public void doGet (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
return; return;
} }

View file

@ -22,8 +22,7 @@ import com.hp.hpl.jena.shared.Lock;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
@ -32,7 +31,8 @@ public class NamespacePrefixOperationController extends BaseEditController {
private static final Log log = LogFactory.getLog(IndividualTypeOperationController.class.getName()); private static final Log log = LogFactory.getLog(IndividualTypeOperationController.class.getName());
public void doPost(HttpServletRequest req, HttpServletResponse response) { public void doPost(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new UseMiscellaneousAdminPages()))) { if (!isAuthorizedToDisplayPage(req, response,
SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -11,8 +11,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
public class NamespacePrefixRetryController extends BaseEditController { public class NamespacePrefixRetryController extends BaseEditController {
@ -20,7 +19,8 @@ public class NamespacePrefixRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(NamespacePrefixRetryController.class.getName()); private static final Log log = LogFactory.getLog(NamespacePrefixRetryController.class.getName());
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseMiscellaneousAdminPages()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -23,8 +23,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance; import edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance;
@ -42,7 +41,8 @@ public class ObjectPropertyStatementRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(ObjectPropertyStatementRetryController.class.getName()); private static final Log log = LogFactory.getLog(ObjectPropertyStatementRetryController.class.getName());
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new DoBackEndEditing()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
return; return;
} }

View file

@ -17,8 +17,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -31,7 +30,7 @@ public class OntologyEditController extends BaseEditController {
@Override @Override
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -22,8 +22,7 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.Validator; import edu.cornell.mannlib.vedit.validator.Validator;
import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator; import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -34,7 +33,7 @@ public class OntologyRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(OntologyRetryController.class.getName()); private static final Log log = LogFactory.getLog(OntologyRetryController.class.getName());
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -9,8 +9,8 @@ import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseBasicAjaxControllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController; import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController;
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao; import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
@ -24,7 +24,7 @@ public class PrimitiveDelete extends VitroAjaxController {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new UseBasicAjaxControllers()); return SimplePermission.USE_BASIC_AJAX_CONTROLLERS.ACTIONS;
} }
@Override @Override

View file

@ -9,9 +9,7 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@ -21,9 +19,8 @@ import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseBasicAjaxControllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController; import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController;
import edu.cornell.mannlib.vitro.webapp.dao.jena.DependentResourceDeleteJena; import edu.cornell.mannlib.vitro.webapp.dao.jena.DependentResourceDeleteJena;
@ -38,7 +35,7 @@ public class PrimitiveRdfEdit extends VitroAjaxController {
//Using the same setsup as primitive delete //Using the same setsup as primitive delete
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new UseBasicAjaxControllers()); return SimplePermission.USE_BASIC_AJAX_CONTROLLERS.ACTIONS;
} }
@Override @Override

View file

@ -13,8 +13,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.PropertyDao; import edu.cornell.mannlib.vitro.webapp.dao.PropertyDao;
@ -27,7 +26,7 @@ public class Properties2PropertiesOperationController extends
private static final boolean REMOVE = true; private static final boolean REMOVE = true;
public void doPost(HttpServletRequest req, HttpServletResponse response) { public void doPost(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -23,8 +23,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao; import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao;
@ -35,7 +34,7 @@ public class Properties2PropertiesRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(Properties2PropertiesRetryController.class.getName()); private static final Log log = LogFactory.getLog(Properties2PropertiesRetryController.class.getName());
public void doGet (HttpServletRequest req, HttpServletResponse response) { public void doGet (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -19,8 +19,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -35,7 +34,8 @@ public class PropertyEditController extends BaseEditController {
private static final Log log = LogFactory.getLog(PropertyEditController.class.getName()); private static final Log log = LogFactory.getLog(PropertyEditController.class.getName());
public void doPost (HttpServletRequest request, HttpServletResponse response) { public void doPost (HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -21,8 +21,7 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.Validator; import edu.cornell.mannlib.vedit.validator.Validator;
import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator; import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -33,7 +32,8 @@ public class PropertyGroupRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(PropertyGroupRetryController.class.getName()); private static final Log log = LogFactory.getLog(PropertyGroupRetryController.class.getName());
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new UseMiscellaneousAdminPages()))) { if (!isAuthorizedToDisplayPage(req, response,
SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -30,10 +30,8 @@ import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.Validator; import edu.cornell.mannlib.vedit.validator.Validator;
import edu.cornell.mannlib.vedit.validator.impl.IntValidator; import edu.cornell.mannlib.vedit.validator.impl.IntValidator;
import edu.cornell.mannlib.vedit.validator.impl.XMLNameValidator; import edu.cornell.mannlib.vedit.validator.impl.XMLNameValidator;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.policy.bean.PropertyRestrictionListener; import edu.cornell.mannlib.vitro.webapp.auth.policy.bean.PropertyRestrictionListener;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
@ -50,7 +48,7 @@ public class PropertyRetryController extends BaseEditController {
@Override @Override
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -47,8 +47,7 @@ import com.hp.hpl.jena.vocabulary.RDF;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean; import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
@ -454,7 +453,7 @@ public class RefactorOperationController extends BaseEditController {
} }
public void doPost(HttpServletRequest req, HttpServletResponse response) { public void doPost(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -23,8 +23,7 @@ import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
@ -103,7 +102,7 @@ public class RefactorRetryController extends BaseEditController {
} }
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -10,20 +10,18 @@ import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.datatypes.TypeMapper; import com.hp.hpl.jena.datatypes.TypeMapper;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.ResourceFactory;
import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.ResourceFactory;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseBasicAjaxControllers;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController; import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController;
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyStatementDao; import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyStatementDao;
@ -48,7 +46,7 @@ public class ReorderController extends VitroAjaxController {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
return new Actions(new UseBasicAjaxControllers()); return SimplePermission.USE_BASIC_AJAX_CONTROLLERS.ACTIONS;
} }
@Override @Override

View file

@ -16,7 +16,6 @@ import com.hp.hpl.jena.datatypes.TypeMapper;
import com.hp.hpl.jena.ontology.OntClass; import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntProperty; import com.hp.hpl.jena.ontology.OntProperty;
import com.hp.hpl.jena.ontology.OntResource;
import com.hp.hpl.jena.ontology.Restriction; import com.hp.hpl.jena.ontology.Restriction;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Resource;
@ -24,8 +23,7 @@ import com.hp.hpl.jena.shared.Lock;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent; import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
@ -34,7 +32,7 @@ public class RestrictionOperationController extends BaseEditController {
private static final Log log = LogFactory.getLog(RestrictionOperationController.class.getName()); private static final Log log = LogFactory.getLog(RestrictionOperationController.class.getName());
public void doPost(HttpServletRequest req, HttpServletResponse response) { public void doPost(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -21,8 +21,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Datatype; import edu.cornell.mannlib.vitro.webapp.beans.Datatype;
import edu.cornell.mannlib.vitro.webapp.beans.Property; import edu.cornell.mannlib.vitro.webapp.beans.Property;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -38,7 +37,7 @@ public class RestrictionRetryController extends BaseEditController {
private static final boolean OBJECT = false; private static final boolean OBJECT = false;
public void doGet(HttpServletRequest req, HttpServletResponse response) { public void doGet(HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -15,20 +15,17 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.OWL;
import com.hp.hpl.jena.vocabulary.RDF;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.beans.FormObject; import edu.cornell.mannlib.vedit.beans.FormObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactoryConfig;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
public class VclassEditController extends BaseEditController { public class VclassEditController extends BaseEditController {
@ -37,7 +34,7 @@ public class VclassEditController extends BaseEditController {
private static final int NUM_COLS = 12; private static final int NUM_COLS = 12;
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -10,7 +10,6 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import javax.servlet.RequestDispatcher; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -26,8 +25,7 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder;
import edu.cornell.mannlib.vedit.listener.ChangeListener; import edu.cornell.mannlib.vedit.listener.ChangeListener;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vedit.validator.impl.XMLNameValidator; import edu.cornell.mannlib.vedit.validator.impl.XMLNameValidator;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes; import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
@ -43,7 +41,7 @@ public class VclassRetryController extends BaseEditController {
private static final Log log = LogFactory.getLog(VclassRetryController.class.getName()); private static final Log log = LogFactory.getLog(VclassRetryController.class.getName());
public void doPost (HttpServletRequest req, HttpServletResponse response) { public void doPost (HttpServletRequest req, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(req, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(req, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -14,8 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
@ -28,7 +27,7 @@ public class AllClassGroupsListingController extends BaseEditController {
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -18,13 +18,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.OWL;
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.RDFS;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
@ -33,9 +30,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao; import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactoryConfig;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena;
public class ClassHierarchyListingController extends BaseEditController { public class ClassHierarchyListingController extends BaseEditController {
@ -48,7 +43,7 @@ public class ClassHierarchyListingController extends BaseEditController {
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -21,8 +21,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.Datatype; import edu.cornell.mannlib.vitro.webapp.beans.Datatype;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
@ -48,7 +47,7 @@ public class DataPropertyHierarchyListingController extends BaseEditController {
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -10,8 +10,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
@ -24,7 +23,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
public class DataPropertyStatementListingController extends BaseEditController { public class DataPropertyStatementListingController extends BaseEditController {
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -16,8 +16,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.Datatype; import edu.cornell.mannlib.vitro.webapp.beans.Datatype;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
@ -34,7 +33,7 @@ public class DatatypePropertiesListingController extends BaseEditController {
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -14,8 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
@ -29,7 +28,7 @@ public class IndividualsListingController extends BaseEditController {
//private static final int MAX_INDIVIDUALS = 50; //private static final int MAX_INDIVIDUALS = 50;
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -22,8 +22,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -46,7 +45,7 @@ public class ObjectPropertyHierarchyListingController extends BaseEditController
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -13,8 +13,7 @@ import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement;
@ -28,7 +27,7 @@ public class ObjectPropertyStatementListingController extends
BaseEditController { BaseEditController {
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -11,8 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
@ -22,7 +21,7 @@ public class OntologiesListingController extends BaseEditController {
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -19,8 +19,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.Property; import edu.cornell.mannlib.vitro.webapp.beans.Property;
@ -37,7 +36,8 @@ public class PropertyGroupsListingController extends BaseEditController {
@Override @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -21,8 +21,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
@ -42,7 +41,7 @@ public class PropertyWebappsListingController extends BaseEditController {
private int NUM_COLS = 9; private int NUM_COLS = 9;
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -14,8 +14,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -29,7 +28,7 @@ public class VClassWebappWithInstancesListingController extends BaseEditControll
private int NUM_COLS = 6; private int NUM_COLS = 6;
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -15,8 +15,7 @@ import javax.servlet.http.HttpServletResponse;
import edu.cornell.mannlib.vedit.beans.ButtonForm; import edu.cornell.mannlib.vedit.beans.ButtonForm;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
@ -33,7 +32,7 @@ public class VClassWebappsListingController extends BaseEditController {
private int NUM_COLS = 9; private int NUM_COLS = 9;
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -19,8 +19,7 @@ import com.hp.hpl.jena.shared.Lock;
import com.hp.hpl.jena.util.iterator.ClosableIterator; import com.hp.hpl.jena.util.iterator.ClosableIterator;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
@ -28,7 +27,8 @@ import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
public class NamespacesListingController extends BaseEditController { public class NamespacesListingController extends BaseEditController {
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseMiscellaneousAdminPages()))) { if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) {
return; return;
} }

View file

@ -26,8 +26,7 @@ import com.hp.hpl.jena.util.iterator.ClosableIterator;
import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -44,7 +43,7 @@ public class RestrictionsListingController extends BaseEditController {
private EditProcessObject epo = null; private EditProcessObject epo = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if (!isAuthorizedToDisplayPage(request, response, new Actions(new EditOntology()))) { if (!isAuthorizedToDisplayPage(request, response, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
return; return;
} }

View file

@ -15,18 +15,9 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.Option; import edu.cornell.mannlib.vedit.beans.Option;
import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper; import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoBackEndEditing;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditSiteInformation;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageMenus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageProxies;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageUserAccounts;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeSiteAdminPage;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.SeeStartupStatus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap;
@ -43,7 +34,7 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet {
private static final Log log = LogFactory.getLog(BaseSiteAdminController.class); private static final Log log = LogFactory.getLog(BaseSiteAdminController.class);
protected static final String TEMPLATE_DEFAULT = "siteAdmin-main.ftl"; protected static final String TEMPLATE_DEFAULT = "siteAdmin-main.ftl";
public static final Actions REQUIRED_ACTIONS = new Actions(new SeeSiteAdminPage()); public static final Actions REQUIRED_ACTIONS = SimplePermission.SEE_SITE_ADMIN_PAGE.ACTIONS;
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
@ -73,10 +64,8 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet {
Map<String, String> urls = new HashMap<String, String>(); Map<String, String> urls = new HashMap<String, String>();
if (PolicyHelper.isAuthorizedForActions(vreq, new UseMiscellaneousAdminPages())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) {
urls.put("recomputeInferences", UrlBuilder.getUrl("/RecomputeInferences")); urls.put("recomputeInferences", UrlBuilder.getUrl("/RecomputeInferences"));
urls.put("rebuildClassGroupCache", UrlBuilder.getUrl("/browse?clearcache=1")); urls.put("rebuildClassGroupCache", UrlBuilder.getUrl("/browse?clearcache=1"));
} }
@ -91,7 +80,8 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
if (PolicyHelper.isAuthorizedForActions(vreq, new DoBackEndEditing())) { if (PolicyHelper.isAuthorizedForActions(vreq,
SimplePermission.DO_BACK_END_EDITING.ACTIONS)) {
map.put("formAction", UrlBuilder.getUrl("/editRequestDispatch")); map.put("formAction", UrlBuilder.getUrl("/editRequestDispatch"));
@ -128,25 +118,25 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet {
Map<String, Object> data = new HashMap<String, Object>(); Map<String, Object> data = new HashMap<String, Object>();
if (PolicyHelper.isAuthorizedForActions(vreq, new ManageUserAccounts())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.MANAGE_USER_ACCOUNTS.ACTIONS)) {
data.put("userAccounts", UrlBuilder.getUrl("/accountsAdmin")); data.put("userAccounts", UrlBuilder.getUrl("/accountsAdmin"));
} }
if (PolicyHelper.isAuthorizedForActions(vreq, new ManageProxies())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.MANAGE_PROXIES.ACTIONS)) {
data.put("manageProxies", UrlBuilder.getUrl("/manageProxies")); data.put("manageProxies", UrlBuilder.getUrl("/manageProxies"));
} }
if (PolicyHelper.isAuthorizedForActions(vreq, new EditSiteInformation())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.EDIT_SITE_INFORMATION.ACTIONS)) {
data.put("siteInfo", UrlBuilder.getUrl("/editForm", "controller", "ApplicationBean")); data.put("siteInfo", UrlBuilder.getUrl("/editForm", "controller", "ApplicationBean"));
} }
if (PolicyHelper.isAuthorizedForActions(vreq, new ManageMenus())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.MANAGE_MENUS.ACTIONS)) {
data.put("menuManagement", UrlBuilder.getUrl("/individual", data.put("menuManagement", UrlBuilder.getUrl("/individual",
"uri", "http://vitro.mannlib.cornell.edu/ontologies/display/1.1#DefaultMenu", "uri", "http://vitro.mannlib.cornell.edu/ontologies/display/1.1#DefaultMenu",
"switchToDisplayModel", "true")); "switchToDisplayModel", "true"));
} }
if (PolicyHelper.isAuthorizedForActions(vreq, new SeeStartupStatus())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.SEE_STARTUP_STATUS.ACTIONS)) {
data.put("startupStatus", UrlBuilder.getUrl("/startupStatus")); data.put("startupStatus", UrlBuilder.getUrl("/startupStatus"));
data.put("startupStatusAlert", !StartupStatus.getBean(getServletContext()).allClear()); data.put("startupStatusAlert", !StartupStatus.getBean(getServletContext()).allClear());
} }
@ -158,7 +148,7 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
if (PolicyHelper.isAuthorizedForActions(vreq, new EditOntology())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.EDIT_ONTOLOGY.ACTIONS)) {
String pelletError = null; String pelletError = null;
String pelletExplanation = null; String pelletExplanation = null;
@ -200,7 +190,7 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet {
Map<String, String> urls = new HashMap<String, String>(); Map<String, String> urls = new HashMap<String, String>();
if (PolicyHelper.isAuthorizedForActions(vreq, new UseAdvancedDataToolsPages())) { if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) {
urls.put("ingest", UrlBuilder.getUrl("/ingest")); urls.put("ingest", UrlBuilder.getUrl("/ingest"));
urls.put("rdfData", UrlBuilder.getUrl("/uploadRDFForm")); urls.put("rdfData", UrlBuilder.getUrl("/uploadRDFForm"));
urls.put("rdfExport", UrlBuilder.getUrl("/export")); urls.put("rdfExport", UrlBuilder.getUrl("/export"));

View file

@ -10,9 +10,9 @@ import java.util.Map;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper; import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RebuildVClassGroupCache;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
@ -36,7 +36,7 @@ public class BrowseController extends FreemarkerHttpServlet {
@Override @Override
protected Actions requiredActions(VitroRequest vreq) { protected Actions requiredActions(VitroRequest vreq) {
if ( vreq.getParameter("clearcache") != null ) if ( vreq.getParameter("clearcache") != null )
return new Actions(new RebuildVClassGroupCache() ); return SimplePermission.REBUILD_VCLASS_GROUP_CACHE.ACTIONS;
else else
return Actions.AUTHORIZED; return Actions.AUTHORIZED;
} }
@ -51,7 +51,7 @@ public class BrowseController extends FreemarkerHttpServlet {
if ( vreq.getParameter("clearcache") != null ) { if ( vreq.getParameter("clearcache") != null ) {
//mainly for debugging //mainly for debugging
if( PolicyHelper.isAuthorizedForActions(vreq, new RebuildVClassGroupCache()) ){ if( PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.REBUILD_VCLASS_GROUP_CACHE.ACTIONS) ){
clearGroupCache(); clearGroupCache();
} }
} }

Some files were not shown because too many files have changed in this diff Show more