From adad173dc9ba61bce9eb2b750603417d7c9ece92 Mon Sep 17 00:00:00 2001 From: j2blake Date: Wed, 21 Dec 2011 20:46:17 +0000 Subject: [PATCH] NIHVIVO-3523 Convert all simple ADMIN-only requested actions to SimplePermissions. --- .../auth/permissions/SimplePermission.java | 19 +++++++++- .../UseRestrictedPagesByRoleLevelPolicy.java | 38 +------------------ .../admin/RebuildVClassGroupCache.java | 10 ----- .../usepages/AccessSpecialDataModels.java | 10 ----- .../usepages/ManageProxies.java | 11 ------ .../usepages/ManageSearchIndex.java | 11 ------ .../usepages/ManageUserAccounts.java | 11 ------ .../RefreshVisualizationCacheAction.java | 10 ----- .../usepages/SeeStartupStatus.java | 11 ------ .../usepages/UseAdvancedDataToolsPages.java | 11 ------ .../usepages/UseMiscellaneousAdminPages.java | 11 ------ .../controller/SparqlQueryBuilderServlet.java | 6 +-- .../webapp/controller/SparqlQueryServlet.java | 6 +-- .../admin/UserAccountsAdminController.java | 4 +- .../ajax/UserAccountsAjaxController.java | 4 +- .../ManageProxiesController.java | 4 +- .../ajax/ManageProxiesAjaxController.java | 4 +- .../admin/StartupStatusController.java | 4 +- .../edit/ClassgroupRetryController.java | 6 +-- .../NamespacePrefixOperationController.java | 6 +-- .../edit/NamespacePrefixRetryController.java | 6 +-- .../edit/PropertyGroupRetryController.java | 6 +-- .../jena/NamespacesListingController.java | 6 +-- .../freemarker/BaseSiteAdminController.java | 19 +++------- .../freemarker/BrowseController.java | 6 +-- .../freemarker/FreemarkerHttpServlet.java | 5 +-- .../SimpleReasonerRecomputeController.java | 4 +- .../controller/jena/JenaAdminActions.java | 5 +-- .../jena/JenaCsv2RdfController.java | 9 ++--- .../controller/jena/JenaExportController.java | 6 +-- .../controller/jena/JenaIngestController.java | 10 ++--- .../controller/jena/JenaXMLFileUpload.java | 11 +++--- .../controller/jena/RDFUploadController.java | 9 ++--- .../jena/RDFUploadFormController.java | 6 +-- .../webapp/filters/VitroRequestPrep.java | 5 +-- .../search/controller/IndexController.java | 5 +-- .../WEB-INF/resources/permission_config.n3 | 9 +++++ 37 files changed, 98 insertions(+), 226 deletions(-) delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildVClassGroupCache.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/AccessSpecialDataModels.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageSearchIndex.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageUserAccounts.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/RefreshVisualizationCacheAction.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/SeeStartupStatus.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseAdvancedDataToolsPages.java delete mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseMiscellaneousAdminPages.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java index 276f82885..940e59f3f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java @@ -10,7 +10,6 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import edu.cornell.mannlib.vitro.webapp.auth.permissions.Permission; 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; @@ -27,8 +26,26 @@ public class SimplePermission implements Permission { private static final Map allInstances = new HashMap(); + public static final SimplePermission ACCESS_SPECIAL_DATA_MODELS = new SimplePermission( + "AccessSpecialDataModels"); public static final SimplePermission MANAGE_MENUS = new SimplePermission( "ManageMenus"); + public static final SimplePermission MANAGE_PROXIES = new SimplePermission( + "ManageProxies"); + public static final SimplePermission MANAGE_SEARCH_INDEX = new SimplePermission( + "ManageSearchIndex"); + public static final SimplePermission MANAGE_USER_ACCOUNTS = new SimplePermission( + "ManageUserAccounts"); + 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_STARTUP_STATUS = new SimplePermission( + "SeeStartupStatus"); + public static final SimplePermission USE_ADVANCED_DATA_TOOLS_PAGES = new SimplePermission( + "UseAdvancedDataToolsPages"); + public static final SimplePermission USE_MISCELLANEOUS_ADMIN_PAGES = new SimplePermission( + "UseMiscellaneousAdminPages"); public static List getAllInstances() { return new ArrayList(allInstances.values()); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java index 09f374d83..988b5c34a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java @@ -10,11 +10,9 @@ 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.PolicyDecision; 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.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.DoBackEndEditing; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.DoFrontEndEditing; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntology; @@ -22,19 +20,12 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOwnAcc import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditSiteInformation; 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; @@ -61,34 +52,7 @@ public class UseRestrictedPagesByRoleLevelPolicy implements PolicyIface { RoleLevel userRole = HasRoleLevel.getUsersRoleLevel(whoToAuth); PolicyDecision result; - if (whatToAuth instanceof UseAdvancedDataToolsPages) { - result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole); - - } else if (whatToAuth instanceof ManageUserAccounts) { - 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) { + if (whatToAuth instanceof EditOntology) { result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole); } else if (whatToAuth instanceof ManagePortals) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildVClassGroupCache.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildVClassGroupCache.java deleted file mode 100644 index 0dd3c3a69..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildVClassGroupCache.java +++ /dev/null @@ -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 { - -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/AccessSpecialDataModels.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/AccessSpecialDataModels.java deleted file mode 100644 index 5a9040684..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/AccessSpecialDataModels.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java deleted file mode 100644 index 0e8aafc4d..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageSearchIndex.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageSearchIndex.java deleted file mode 100644 index 5d1d7678b..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageSearchIndex.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageUserAccounts.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageUserAccounts.java deleted file mode 100644 index 9c1bf0761..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageUserAccounts.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/RefreshVisualizationCacheAction.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/RefreshVisualizationCacheAction.java deleted file mode 100644 index 8b59d2d84..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/RefreshVisualizationCacheAction.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/SeeStartupStatus.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/SeeStartupStatus.java deleted file mode 100644 index 296b307e4..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/SeeStartupStatus.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseAdvancedDataToolsPages.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseAdvancedDataToolsPages.java deleted file mode 100644 index 221585671..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseAdvancedDataToolsPages.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseMiscellaneousAdminPages.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseMiscellaneousAdminPages.java deleted file mode 100644 index ab5280efd..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UseMiscellaneousAdminPages.java +++ /dev/null @@ -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 -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java index e09f84d91..3083c4663 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java @@ -19,8 +19,7 @@ import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.sparql.resultset.ResultSetFormat; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; /** * 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) throws ServletException, IOException { - if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(request, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java index 9590b5da0..dd6db37c2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java @@ -44,8 +44,7 @@ import com.hp.hpl.jena.sparql.resultset.ResultSetFormat; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao; import edu.cornell.mannlib.vitro.webapp.utils.SparqlQueryUtils; @@ -101,7 +100,8 @@ public class SparqlQueryServlet extends BaseEditController { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(request, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java index 9a3b73d10..c8457d8ad 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java @@ -7,8 +7,8 @@ import java.util.Collection; import org.apache.commons.logging.Log; 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.usepages.ManageUserAccounts; import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet; @@ -29,7 +29,7 @@ public class UserAccountsAdminController extends FreemarkerHttpServlet { @Override protected Actions requiredActions(VitroRequest vreq) { - return new Actions(new ManageUserAccounts()); + return SimplePermission.MANAGE_USER_ACCOUNTS.ACTIONS; } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java index ba3e7b269..6c6f23076 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java @@ -10,8 +10,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; 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.usepages.ManageUserAccounts; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.ajax.VitroAjaxController; @@ -26,7 +26,7 @@ public class UserAccountsAjaxController extends VitroAjaxController { @Override protected Actions requiredActions(VitroRequest vreq) { - return new Actions(new ManageUserAccounts()); + return SimplePermission.MANAGE_USER_ACCOUNTS.ACTIONS; } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java index ffcaf5afa..53169ef27 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java @@ -7,8 +7,8 @@ import java.util.Map; import org.apache.commons.logging.Log; 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.usepages.ManageProxies; import edu.cornell.mannlib.vitro.webapp.controller.AbstractPageHandler.Message; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet; @@ -27,7 +27,7 @@ public class ManageProxiesController extends FreemarkerHttpServlet { @Override protected Actions requiredActions(VitroRequest vreq) { - return new Actions(new ManageProxies()); + return SimplePermission.MANAGE_PROXIES.ACTIONS; } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java index 4747e6bc3..3e7ba265b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java @@ -10,9 +10,9 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; 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.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.ajax.VitroAjaxController; @@ -27,7 +27,7 @@ public class ManageProxiesAjaxController extends VitroAjaxController { @Override protected Actions requiredActions(VitroRequest vreq) { - return new Actions(new ManageOwnProxies()).or(new ManageProxies()); + return new Actions(new ManageOwnProxies()).or(SimplePermission.MANAGE_PROXIES.ACTION); } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java index a782954ea..2b5866b5a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java @@ -5,8 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.controller.admin; import java.util.HashMap; 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.usepages.SeeStartupStatus; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet; @@ -21,7 +21,7 @@ public class StartupStatusController extends FreemarkerHttpServlet { @Override protected Actions requiredActions(VitroRequest vreq) { - return new Actions(new SeeStartupStatus()); + return SimplePermission.SEE_STARTUP_STATUS.ACTIONS; } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java index fcb41574d..a8ceda4e3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java @@ -21,8 +21,7 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder; import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.validator.Validator; import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; 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()); 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; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java index 5488392b2..50e60642b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java @@ -22,8 +22,7 @@ import com.hp.hpl.jena.shared.Lock; import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; 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()); 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; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java index 10b114988..efa7480bf 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java @@ -11,8 +11,7 @@ import org.apache.commons.logging.LogFactory; import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; public class NamespacePrefixRetryController extends BaseEditController { @@ -20,7 +19,8 @@ public class NamespacePrefixRetryController extends BaseEditController { private static final Log log = LogFactory.getLog(NamespacePrefixRetryController.class.getName()); 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; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java index 4d4931e0d..2e56baa9e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java @@ -21,8 +21,7 @@ import edu.cornell.mannlib.vedit.forwarder.impl.UrlForwarder; import edu.cornell.mannlib.vedit.util.FormUtils; import edu.cornell.mannlib.vedit.validator.Validator; import edu.cornell.mannlib.vedit.validator.impl.RequiredFieldValidator; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; 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()); 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; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java index ad48fd536..dda705e85 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java @@ -19,8 +19,7 @@ import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.util.iterator.ClosableIterator; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; 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 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; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java index 70d740de4..5d23b19e6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java @@ -21,12 +21,7 @@ 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.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.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; @@ -73,10 +68,8 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet { Map urls = new HashMap(); - if (PolicyHelper.isAuthorizedForActions(vreq, new UseMiscellaneousAdminPages())) { - + if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) { urls.put("recomputeInferences", UrlBuilder.getUrl("/RecomputeInferences")); - urls.put("rebuildClassGroupCache", UrlBuilder.getUrl("/browse?clearcache=1")); } @@ -128,11 +121,11 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet { Map data = new HashMap(); - if (PolicyHelper.isAuthorizedForActions(vreq, new ManageUserAccounts())) { + if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.MANAGE_USER_ACCOUNTS.ACTIONS)) { 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")); } @@ -140,13 +133,13 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet { data.put("siteInfo", UrlBuilder.getUrl("/editForm", "controller", "ApplicationBean")); } - if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.MANAGE_MENUS.ACTION)) { + if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.MANAGE_MENUS.ACTIONS)) { data.put("menuManagement", UrlBuilder.getUrl("/individual", "uri", "http://vitro.mannlib.cornell.edu/ontologies/display/1.1#DefaultMenu", "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("startupStatusAlert", !StartupStatus.getBean(getServletContext()).allClear()); } @@ -200,7 +193,7 @@ public class BaseSiteAdminController extends FreemarkerHttpServlet { Map urls = new HashMap(); - 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("rdfData", UrlBuilder.getUrl("/uploadRDFForm")); urls.put("rdfExport", UrlBuilder.getUrl("/export")); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java index 892e01933..bf7877b74 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java @@ -10,9 +10,9 @@ import java.util.Map; import org.apache.commons.logging.Log; 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.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.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; @@ -36,7 +36,7 @@ public class BrowseController extends FreemarkerHttpServlet { @Override protected Actions requiredActions(VitroRequest vreq) { if ( vreq.getParameter("clearcache") != null ) - return new Actions(new RebuildVClassGroupCache() ); + return SimplePermission.REBUILD_VCLASS_GROUP_CACHE.ACTIONS; else return Actions.AUTHORIZED; } @@ -51,7 +51,7 @@ public class BrowseController extends FreemarkerHttpServlet { if ( vreq.getParameter("clearcache") != null ) { //mainly for debugging - if( PolicyHelper.isAuthorizedForActions(vreq, new RebuildVClassGroupCache()) ){ + if( PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.REBUILD_VCLASS_GROUP_CACHE.ACTIONS) ){ clearGroupCache(); } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java index c62eab84d..360137d4f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java @@ -8,7 +8,6 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Calendar; - import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -21,10 +20,10 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; 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.requestedAction.Actions; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOwnAccount; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage; import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet; @@ -167,7 +166,7 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { boolean sentEmail = false; // If the user is authorized, display the error data on the page - if (PolicyHelper.isAuthorizedForActions(vreq, new UseMiscellaneousAdminPages())) { + if (PolicyHelper.isAuthorizedForActions(vreq, SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) { templateMap.put("adminErrorData", adminErrorData); // Else send the data to the site administrator diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java index 7397e072b..e695b560e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java @@ -7,8 +7,8 @@ import java.util.Map; import org.apache.commons.logging.Log; 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.usepages.UseMiscellaneousAdminPages; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues; @@ -24,7 +24,7 @@ public class SimpleReasonerRecomputeController extends FreemarkerHttpServlet { @Override protected Actions requiredActions(VitroRequest vreq) { - return new Actions(new UseMiscellaneousAdminPages()); + return SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS; } protected ResponseValues processRequest(VitroRequest vreq) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java index fbc7852c9..90d2398b1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java @@ -45,8 +45,7 @@ import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousAdminPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; @@ -254,7 +253,7 @@ public class JenaAdminActions extends BaseEditController { } public void doGet(HttpServletRequest req, HttpServletResponse response) { - if (!isAuthorizedToDisplayPage(req, response, new Actions(new UseMiscellaneousAdminPages()))) { + if (!isAuthorizedToDisplayPage(req, response, SimplePermission.USE_MISCELLANEOUS_ADMIN_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java index e3302bd32..c310de156 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java @@ -19,16 +19,12 @@ import org.apache.commons.fileupload.FileItem; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelMaker; -import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.dao.jena.VitroJenaSpecialModelMaker; import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest; import edu.cornell.mannlib.vitro.webapp.utils.Csv2Rdf; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils; @@ -44,7 +40,8 @@ public class JenaCsv2RdfController extends JenaIngestController { @Override public void doPost(HttpServletRequest rawRequest, HttpServletResponse response) throws ServletException, IOException { - if (!isAuthorizedToDisplayPage(rawRequest, response, new Actions(new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(rawRequest, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java index 1161350c5..f668a2cad 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java @@ -18,9 +18,9 @@ import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.shared.Lock; import edu.cornell.mannlib.vedit.controller.BaseEditController; +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.usepages.EditOntology; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaModelUtils; @@ -28,8 +28,8 @@ import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaOutputUtils; public class JenaExportController extends BaseEditController { - private static final Actions REQUIRED_ACTIONS = new Actions( - new UseAdvancedDataToolsPages()).or(new EditOntology()); + private static final Actions REQUIRED_ACTIONS = SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS + .or(new EditOntology()); @Override public void doGet( HttpServletRequest request, HttpServletResponse response ) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java index bcc8f0004..23e9acbcd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java @@ -42,9 +42,7 @@ import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QueryExecException; import com.hp.hpl.jena.query.QueryExecution; import com.hp.hpl.jena.query.QueryExecutionFactory; -import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QueryParseException; -import com.hp.hpl.jena.query.Syntax; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; @@ -64,11 +62,9 @@ import com.hp.hpl.jena.util.ResourceUtils; import com.hp.hpl.jena.util.iterator.ClosableIterator; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; -import edu.cornell.mannlib.vitro.webapp.controller.SparqlQueryServlet; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao; import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao; @@ -118,8 +114,8 @@ public class JenaIngestController extends BaseEditController { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (!isAuthorizedToDisplayPage(request, response, new Actions( - new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(request, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java index 74ec8377b..f9ea1335b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java @@ -33,12 +33,9 @@ import com.hp.hpl.jena.rdf.model.ModelMaker; import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.shared.Lock; -import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.dao.jena.VitroJenaSpecialModelMaker; import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest; public class JenaXMLFileUpload extends JenaIngestController { @@ -103,7 +100,8 @@ public class JenaXMLFileUpload extends JenaIngestController { throw new ServletException("Must POST a multipart encoded request"); } - if (!isAuthorizedToDisplayPage(request, resp, new Actions(new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(request, resp, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } @@ -155,7 +153,8 @@ public class JenaXMLFileUpload extends JenaIngestController { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(request, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java index 09938b891..1e5f08ee2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java @@ -27,16 +27,13 @@ import com.hp.hpl.jena.shared.JenaException; import com.hp.hpl.jena.shared.Lock; import edu.cornell.mannlib.vedit.beans.LoginStatusBean; -import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaModelUtils; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector; -import edu.cornell.mannlib.vitro.webapp.dao.jena.VitroJenaSpecialModelMaker; import edu.cornell.mannlib.vitro.webapp.dao.jena.event.BulkUpdateEvent; import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent; import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest; @@ -51,8 +48,8 @@ public class RDFUploadController extends JenaIngestController { public void doPost(HttpServletRequest rawRequest, HttpServletResponse response) throws ServletException, IOException { - if (!isAuthorizedToDisplayPage(rawRequest, response, new Actions( - new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(rawRequest, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java index 4d4c7c1c9..6c407c129 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java @@ -10,8 +10,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import edu.cornell.mannlib.vedit.controller.BaseEditController; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseAdvancedDataToolsPages; +import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; @@ -22,7 +21,8 @@ public class RDFUploadFormController extends BaseEditController { @Override public void doPost (HttpServletRequest request, HttpServletResponse response) { - if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) { + if (!isAuthorizedToDisplayPage(request, response, + SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTIONS)) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java index d02e87bdf..b29201351 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java @@ -37,7 +37,6 @@ import edu.cornell.mannlib.vitro.webapp.auth.identifier.RequestIdentifiers; 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.ServletPolicyList; -import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.AccessSpecialDataModels; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet; @@ -196,9 +195,9 @@ public class VitroRequestPrep implements Filter { private boolean authorizedForSpecialModel(HttpServletRequest req) { if (isParameterPresent(req, SWITCH_TO_DISPLAY_MODEL)) { - return PolicyHelper.isAuthorizedForActions(req, SimplePermission.MANAGE_MENUS.ACTION); + return PolicyHelper.isAuthorizedForActions(req, SimplePermission.MANAGE_MENUS.ACTIONS); } else if (anyOtherSpecialProperties(req)){ - return PolicyHelper.isAuthorizedForActions(req, new AccessSpecialDataModels()); + return PolicyHelper.isAuthorizedForActions(req, SimplePermission.ACCESS_SPECIAL_DATA_MODELS.ACTIONS); } else { return true; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java index 4beeabc92..90aa503fd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java @@ -16,8 +16,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; 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.usepages.ManageSearchIndex; 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.UrlBuilder; @@ -81,8 +81,7 @@ public class IndexController extends FreemarkerHttpServlet { private static final String PAGE_URL = "/SearchIndex"; private static final String TEMPLATE_NAME = "searchIndex.ftl"; - public static final Actions REQUIRED_ACTIONS = new Actions( - new ManageSearchIndex()); + public static final Actions REQUIRED_ACTIONS = SimplePermission.MANAGE_SEARCH_INDEX.ACTIONS; @Override protected Actions requiredActions(VitroRequest vreq) { diff --git a/webapp/web/WEB-INF/resources/permission_config.n3 b/webapp/web/WEB-INF/resources/permission_config.n3 index 2664fbe4f..5f819d060 100644 --- a/webapp/web/WEB-INF/resources/permission_config.n3 +++ b/webapp/web/WEB-INF/resources/permission_config.n3 @@ -7,7 +7,16 @@ auth:ADMIN a auth:PermissionSet ; rdfs:label "Site Admin" ; + auth:hasPermission simplePermission:AccessSpecialDataModels ; auth:hasPermission simplePermission:ManageMenus ; + auth:hasPermission simplePermission:ManageProxies ; + auth:hasPermission simplePermission:ManageSearchIndex ; + auth:hasPermission simplePermission:ManageUserAccounts ; + auth:hasPermission simplePermission:RebuildVClassGroupCache ; + auth:hasPermission simplePermission:RefreshVisualizationCache ; + auth:hasPermission simplePermission:SeeStartupStatus ; + auth:hasPermission simplePermission:UseAdvancedDataToolsPages ; + auth:hasPermission simplePermission:UseMiscellaneousAdminPages ; . auth:CURATOR