NIHVIVO-1232 Give the data property statement actions a common ancestor. Clean them up. Make them immutable objects.
This commit is contained in:
parent
584a285465
commit
043f2f1a3d
13 changed files with 134 additions and 145 deletions
|
@ -253,27 +253,27 @@ public class CuratorEditingPolicy implements VisitingPolicyIface {
|
|||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy, null action or ids");
|
||||
}
|
||||
//cannot edit resources related to system
|
||||
if( prohibitedNs.contains( action.uriOfSubject() ) ) { // jc55 was getResourceURI()
|
||||
if( prohibitedNs.contains( action.getSubjectUri() ) ) { // jc55 was getResourceURI()
|
||||
log.debug("CuratorEditingPolicy for DropDatapropStmt is inconclusive because it does not grant access to admin resources");
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin resources");
|
||||
}
|
||||
|
||||
//many predicates are prohibited by namespace but there are many ones that curator editors need to work with
|
||||
if( prohibitedNs.contains(action.uriOfPredicate() ) && ! editableVitroUris.contains( action.uriOfPredicate() ) ) {
|
||||
if( prohibitedNs.contains(action.getPredicateUri() ) && ! editableVitroUris.contains( action.getPredicateUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for DropDatapropStmt is inconclusive because it does not grant access to admin controls");
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin controls");
|
||||
}
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( !canModifyResource( action.uriOfSubject() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.uriOfSubject());
|
||||
if( !canModifyResource( action.getSubjectUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.getSubjectUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin resources; " +
|
||||
"cannot modify " + action.uriOfSubject());
|
||||
"cannot modify " + action.getSubjectUri());
|
||||
}
|
||||
if( !canModifyPredicate( action.uriOfPredicate() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt is inconclusive because it does not grant access to admin predicates; cannot modify " + action.uriOfPredicate());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt is inconclusive because it does not grant access to admin predicates; cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin predicates; " +
|
||||
"cannot modify " + action.uriOfPredicate());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
log.debug("CuratorEditingPolicy for DropDatapropStmt returns authorization because the user is a curator");
|
||||
|
||||
|
@ -310,17 +310,17 @@ public class CuratorEditingPolicy implements VisitingPolicyIface {
|
|||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy, null action or ids");
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( prohibitedNs.contains( action.getResourceUri() ) )
|
||||
if( prohibitedNs.contains( action.getSubjectUri() ) )
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin resources");
|
||||
|
||||
//many predicates are prohibited by namespace but there are many ones that curator editors need to work with
|
||||
if( prohibitedNs.contains(action.getDataPropUri() ) && ! editableVitroUris.contains( action.getDataPropUri() ) )
|
||||
if( prohibitedNs.contains(action.getPredicateUri() ) && ! editableVitroUris.contains( action.getPredicateUri() ) )
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin controls");
|
||||
|
||||
if( !canModifyPredicate( action.getDataPropUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getDataPropUri());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.getDataPropUri());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
|
||||
return new BasicPolicyDecision(Authorization.AUTHORIZED,"CuratorEditingPolicy: user may add this data property statement");
|
||||
|
@ -337,15 +337,15 @@ public class CuratorEditingPolicy implements VisitingPolicyIface {
|
|||
}
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( !canModifyResource( action.uriOfSubject() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.uriOfSubject());
|
||||
if( !canModifyResource( action.getSubjectUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.getSubjectUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy does not grant access to admin resources; " +
|
||||
"cannot modify " + action.uriOfSubject());
|
||||
"cannot modify " + action.getSubjectUri());
|
||||
}
|
||||
if( !canModifyPredicate( action.uriOfPredicate() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.uriOfPredicate());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("CuratorEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"CuratorEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.uriOfPredicate());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
|
||||
log.debug("CuratorEditingPolicy for EditDatapropStmt returns authorization because the user is a curator");
|
||||
|
|
|
@ -267,27 +267,27 @@ public class DbAdminEditingPolicy implements VisitingPolicyIface {
|
|||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy, null action or ids");
|
||||
}
|
||||
//cannot edit resources related to system
|
||||
if( prohibitedNs.contains( action.uriOfSubject() ) ) { // jc55 was getResourceURI()
|
||||
if( prohibitedNs.contains( action.getSubjectUri() ) ) { // jc55 was getResourceURI()
|
||||
log.debug("DbAdminEditingPolicy for DropDatapropStmt is inconclusive because it does not grant access to admin resources");
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to admin resources");
|
||||
}
|
||||
|
||||
//many predicates are prohibited by namespace but there are many ones that dbAdmin editors need to work with
|
||||
if( prohibitedNs.contains(action.uriOfPredicate() ) && ! editableVitroUris.contains( action.uriOfPredicate() ) ) {
|
||||
if( prohibitedNs.contains(action.getPredicateUri() ) && ! editableVitroUris.contains( action.getPredicateUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for DropDatapropStmt is inconclusive because it does not grant access to admin controls");
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to admin controls");
|
||||
}
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( !canModifyResource( action.uriOfSubject() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.uriOfSubject());
|
||||
if( !canModifyResource( action.getSubjectUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.getSubjectUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to admin resources; " +
|
||||
"cannot modify " + action.uriOfSubject());
|
||||
"cannot modify " + action.getSubjectUri());
|
||||
}
|
||||
if( !canModifyPredicate( action.uriOfPredicate() ) ) {
|
||||
log.debug("DbAdminEditingPolicy does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.uriOfPredicate());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.uriOfPredicate());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
log.debug("DbAdminEditingPolicy for DropDatapropStmt returns authorization because the user is a dbAdmin");
|
||||
|
||||
|
@ -324,17 +324,17 @@ public class DbAdminEditingPolicy implements VisitingPolicyIface {
|
|||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy has null action or ids");
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( prohibitedNs.contains( action.getResourceUri() ) )
|
||||
if( prohibitedNs.contains( action.getSubjectUri() ) )
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to admin resources from prohibited namespaces");
|
||||
|
||||
//many predicates are prohibited by namespace but there are many ones that dbAdmin editors need to work with
|
||||
if( prohibitedNs.contains(action.getDataPropUri() ) && ! editableVitroUris.contains( action.getDataPropUri() ) )
|
||||
if( prohibitedNs.contains(action.getPredicateUri() ) && ! editableVitroUris.contains( action.getPredicateUri() ) )
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to admin controls");
|
||||
|
||||
if( !canModifyPredicate( action.getDataPropUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getDataPropUri());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.getDataPropUri());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
|
||||
return new BasicPolicyDecision(Authorization.AUTHORIZED,"DbAdminEditingPolicy: user may add this data property statement");
|
||||
|
@ -351,15 +351,15 @@ public class DbAdminEditingPolicy implements VisitingPolicyIface {
|
|||
}
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( !canModifyResource( action.uriOfSubject() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.uriOfSubject());
|
||||
if( !canModifyResource( action.getSubjectUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.getSubjectUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy does not grant access to admin resources; " +
|
||||
"cannot modify " + action.uriOfSubject());
|
||||
"cannot modify " + action.getSubjectUri());
|
||||
}
|
||||
if( !canModifyPredicate( action.uriOfPredicate() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.uriOfPredicate());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("DbAdminEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"DbAdminEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.uriOfPredicate());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
|
||||
log.debug("DbAdminEditingPolicy for EditDatapropStmt returns authorization because the user is a dbAdmin");
|
||||
|
|
|
@ -253,27 +253,27 @@ public class EditorEditingPolicy implements VisitingPolicyIface{
|
|||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy, null action or ids");
|
||||
}
|
||||
//cannot edit resources related to system
|
||||
if( prohibitedNs.contains( action.uriOfSubject() ) ) { // jc55 was getResourceURI()
|
||||
if( prohibitedNs.contains( action.getSubjectUri() ) ) { // jc55 was getResourceURI()
|
||||
log.debug("EditorEditingPolicy for DropDatapropStmt is inconclusive because it does not grant access to admin resources");
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin resources");
|
||||
}
|
||||
|
||||
//many predicates are prohibited by namespace but there are many ones that editor editors need to work with
|
||||
if( prohibitedNs.contains(action.uriOfPredicate() ) && ! editableVitroUris.contains( action.uriOfPredicate() ) ) {
|
||||
if( prohibitedNs.contains(action.getPredicateUri() ) && ! editableVitroUris.contains( action.getPredicateUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for DropDatapropStmt is inconclusive because it does not grant access to admin controls");
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin controls");
|
||||
}
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( !canModifyResource( action.uriOfSubject() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.uriOfSubject());
|
||||
if( !canModifyResource( action.getSubjectUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.getSubjectUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin resources; " +
|
||||
"cannot modify " + action.uriOfSubject());
|
||||
"cannot modify " + action.getSubjectUri());
|
||||
}
|
||||
if( !canModifyPredicate( action.uriOfPredicate() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt is inconclusive because it does not grant access to admin predicates; cannot modify " + action.uriOfPredicate());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt is inconclusive because it does not grant access to admin predicates; cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin predicates; " +
|
||||
"cannot modify " + action.uriOfPredicate());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
log.debug("EditorEditingPolicy for DropDatapropStmt returns authorization because the user is a editor");
|
||||
|
||||
|
@ -310,17 +310,17 @@ public class EditorEditingPolicy implements VisitingPolicyIface{
|
|||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy, null action or ids");
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( prohibitedNs.contains( action.getResourceUri() ) )
|
||||
if( prohibitedNs.contains( action.getSubjectUri() ) )
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin resources");
|
||||
|
||||
//many predicates are prohibited by namespace but there are many ones that editor editors need to work with
|
||||
if( prohibitedNs.contains(action.getDataPropUri() ) && ! editableVitroUris.contains( action.getDataPropUri() ) )
|
||||
if( prohibitedNs.contains(action.getPredicateUri() ) && ! editableVitroUris.contains( action.getPredicateUri() ) )
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin controls");
|
||||
|
||||
if( !canModifyPredicate( action.getDataPropUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getDataPropUri());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy for AddDataPropStmt does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.getDataPropUri());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
|
||||
return new BasicPolicyDecision(Authorization.AUTHORIZED,"EditorEditingPolicy: user may add this data property statement");
|
||||
|
@ -337,15 +337,15 @@ public class EditorEditingPolicy implements VisitingPolicyIface{
|
|||
}
|
||||
|
||||
//cannot edit resources related to system
|
||||
if( !canModifyResource( action.uriOfSubject() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.uriOfSubject());
|
||||
if( !canModifyResource( action.getSubjectUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt action is inconclusive because it does not grant access to admin resources; cannot modify " + action.getSubjectUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy does not grant access to admin resources; " +
|
||||
"cannot modify " + action.uriOfSubject());
|
||||
"cannot modify " + action.getSubjectUri());
|
||||
}
|
||||
if( !canModifyPredicate( action.uriOfPredicate() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.uriOfPredicate());
|
||||
if( !canModifyPredicate( action.getPredicateUri() ) ) {
|
||||
log.debug("EditorEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: cannot modify " + action.getPredicateUri());
|
||||
return new BasicPolicyDecision(this.defaultFailure,"EditorEditingPolicy for EditDataPropStmt does not grant access to prohibited predicates or certain namespaces: " +
|
||||
"cannot modify " + action.uriOfPredicate());
|
||||
"cannot modify " + action.getPredicateUri());
|
||||
}
|
||||
|
||||
log.debug("EditorEditingPolicy for EditDatapropStmt returns authorization because the user is a editor");
|
||||
|
|
|
@ -271,8 +271,8 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
|
|||
|
||||
QuerySolutionMap parameters = new QuerySolutionMap();
|
||||
parameters.add("netid", model.createLiteral( getNetid(ids) ));
|
||||
parameters.add("subject",model.createResource( action.getResourceUri() )) ;
|
||||
parameters.add("predicate", model.createResource( action.getDataPropUri() )) ;
|
||||
parameters.add("subject",model.createResource( action.getSubjectUri() )) ;
|
||||
parameters.add("predicate", model.createResource( action.getPredicateUri() )) ;
|
||||
parameters.add("literalValue", model.createLiteral(action.getData() ));
|
||||
return doQueries(queryStrs,parameters,action);
|
||||
}
|
||||
|
@ -287,8 +287,8 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
|
|||
|
||||
QuerySolutionMap parameters = new QuerySolutionMap();
|
||||
parameters.add("netid", model.createLiteral( getNetid(ids) ));
|
||||
parameters.add("subject",model.createResource( action.uriOfSubject() )) ;
|
||||
parameters.add("predicate", model.createResource( action.uriOfPredicate() )) ;
|
||||
parameters.add("subject",model.createResource( action.getSubjectUri() )) ;
|
||||
parameters.add("predicate", model.createResource( action.getPredicateUri() )) ;
|
||||
parameters.add("literalValue", model.createLiteral(action.data() )); // caution: will always do untyped things
|
||||
return doQueries(queryStrs,parameters,action);
|
||||
}
|
||||
|
|
|
@ -201,27 +201,27 @@ public class SelfEditingPolicy implements VisitingPolicyIface {
|
|||
|
||||
public PolicyDecision visit(IdentifierBundle ids, AddDataPropStmt action) {
|
||||
PolicyDecision pd = checkNullArguments(ids, action);
|
||||
if (pd == null) pd = checkRestrictedResource(action.getResourceUri());
|
||||
if (pd == null) pd = checkRestrictedPredicate(action.getDataPropUri());
|
||||
if (pd == null) pd = checkUserEditsAsSubjectOfStmt(ids, action.getResourceUri());
|
||||
if (pd == null) pd = checkRestrictedResource(action.getSubjectUri());
|
||||
if (pd == null) pd = checkRestrictedPredicate(action.getPredicateUri());
|
||||
if (pd == null) pd = checkUserEditsAsSubjectOfStmt(ids, action.getSubjectUri());
|
||||
if (pd == null) pd = defaultDecision("No basis for decision.");
|
||||
return pd;
|
||||
}
|
||||
|
||||
public PolicyDecision visit(IdentifierBundle ids, EditDataPropStmt action) {
|
||||
PolicyDecision pd = checkNullArguments(ids, action);
|
||||
if (pd == null) pd = checkRestrictedResource(action.uriOfSubject());
|
||||
if (pd == null) pd = checkRestrictedPredicate(action.uriOfPredicate());
|
||||
if (pd == null) pd = checkUserEditsAsSubjectOfStmt(ids, action.uriOfSubject());
|
||||
if (pd == null) pd = checkRestrictedResource(action.getSubjectUri());
|
||||
if (pd == null) pd = checkRestrictedPredicate(action.getPredicateUri());
|
||||
if (pd == null) pd = checkUserEditsAsSubjectOfStmt(ids, action.getSubjectUri());
|
||||
if (pd == null) pd = defaultDecision("No basis for decision.");
|
||||
return pd;
|
||||
}
|
||||
|
||||
public PolicyDecision visit(IdentifierBundle ids, DropDataPropStmt action) {
|
||||
PolicyDecision pd = checkNullArguments(ids, action);
|
||||
if (pd == null) pd = checkRestrictedResource(action.uriOfSubject());
|
||||
if (pd == null) pd = checkRestrictedPredicate(action.uriOfPredicate());
|
||||
if (pd == null) pd = checkUserEditsAsSubjectOfStmt(ids, action.uriOfSubject());
|
||||
if (pd == null) pd = checkRestrictedResource(action.getSubjectUri());
|
||||
if (pd == null) pd = checkRestrictedPredicate(action.getPredicateUri());
|
||||
if (pd == null) pd = checkUserEditsAsSubjectOfStmt(ids, action.getSubjectUri());
|
||||
if (pd == null) pd = defaultDecision("No basis for decision.");
|
||||
return pd;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
|
||||
/**
|
||||
* A base class for requestion actions that relate to data properties.
|
||||
*/
|
||||
public abstract class AbstractDataPropertyAction implements RequestedAction {
|
||||
private final String subjectUri;
|
||||
private final String predicateUri;
|
||||
|
||||
public AbstractDataPropertyAction(String subjectUri, String predicateUri) {
|
||||
this.subjectUri = subjectUri;
|
||||
this.predicateUri = predicateUri;
|
||||
}
|
||||
|
||||
public String getSubjectUri() {
|
||||
return subjectUri;
|
||||
}
|
||||
|
||||
public String getPredicateUri() {
|
||||
return predicateUri;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getURI() {
|
||||
return RequestActionConstants.actionNamespace
|
||||
+ this.getClass().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract PolicyDecision accept(VisitingPolicyIface policy,
|
||||
IdentifierBundle whoToAuth);
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName() + ": <" + subjectUri + "> <"
|
||||
+ predicateUri + ">";
|
||||
}
|
||||
}
|
|
@ -12,12 +12,12 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAct
|
|||
* A base class for requested actions that involve manipulating an object
|
||||
* property.
|
||||
*/
|
||||
public abstract class ObjectPropertyAction implements RequestedAction {
|
||||
public abstract class AbstractObjectPropertyAction implements RequestedAction {
|
||||
public final String uriOfSubject;
|
||||
public final String uriOfPredicate;
|
||||
public final String uriOfObject;
|
||||
|
||||
public ObjectPropertyAction(String uriOfSubject, String uriOfPredicate,
|
||||
public AbstractObjectPropertyAction(String uriOfSubject, String uriOfPredicate,
|
||||
String uriOfObject) {
|
||||
this.uriOfSubject = uriOfSubject;
|
||||
this.uriOfPredicate = uriOfPredicate;
|
|
@ -5,69 +5,33 @@ package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt;
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
|
||||
public class AddDataPropStmt implements RequestedAction {
|
||||
public class AddDataPropStmt extends AbstractDataPropertyAction {
|
||||
|
||||
protected String resourceUri;
|
||||
protected String dataPropUri;
|
||||
protected String data;
|
||||
protected String dataType;
|
||||
protected String lang;
|
||||
|
||||
public AddDataPropStmt(String resourceUri, String dataPropUri, String value, String dataType, String lang) {
|
||||
super();
|
||||
this.resourceUri = resourceUri;
|
||||
this.dataPropUri = dataPropUri;
|
||||
public AddDataPropStmt(String subjectUri, String predicateUri, String value, String dataType, String lang) {
|
||||
super(subjectUri, predicateUri);
|
||||
this.data= value;
|
||||
this.dataType = dataType;
|
||||
this.lang = lang;
|
||||
}
|
||||
|
||||
public String getDataPropUri() {
|
||||
return dataPropUri;
|
||||
}
|
||||
|
||||
public void setDataPropUri(String dataPropUri) {
|
||||
this.dataPropUri = dataPropUri;
|
||||
}
|
||||
|
||||
public String getResourceUri() {
|
||||
return resourceUri;
|
||||
}
|
||||
|
||||
public void setResourceUri(String resourceUri) {
|
||||
this.resourceUri = resourceUri;
|
||||
}
|
||||
|
||||
public String getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(String value) {
|
||||
this.data= value;
|
||||
}
|
||||
|
||||
public String getDataType() {
|
||||
return dataType;
|
||||
}
|
||||
|
||||
public void setDataType(String dataType) {
|
||||
this.dataType = dataType;
|
||||
}
|
||||
|
||||
public String getLang() {
|
||||
return lang;
|
||||
}
|
||||
|
||||
public void setLang(String lang) {
|
||||
this.lang = lang;
|
||||
}
|
||||
|
||||
public String getURI() {
|
||||
return RequestActionConstants.actionNamespace + this.getClass().getName();
|
||||
}
|
||||
@Override
|
||||
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids ){
|
||||
return policy.visit(ids, this );
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
|
||||
public class AddObjectPropStmt extends ObjectPropertyAction implements
|
||||
public class AddObjectPropStmt extends AbstractObjectPropertyAction implements
|
||||
RequestedAction {
|
||||
|
||||
public AddObjectPropStmt(String uriOfSub, String uriOfPred, String uriOfObj) {
|
||||
|
|
|
@ -5,49 +5,35 @@ package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt;
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl;
|
||||
|
||||
public class DropDataPropStmt implements RequestedAction {
|
||||
public class DropDataPropStmt extends AbstractDataPropertyAction {
|
||||
|
||||
final DataPropertyStatement dataPropStmt;
|
||||
private final DataPropertyStatement dataPropStmt;
|
||||
|
||||
public DropDataPropStmt(DataPropertyStatement dps){
|
||||
super(dps.getIndividualURI(),dps.getDatapropURI() );
|
||||
this.dataPropStmt = dps;
|
||||
}
|
||||
|
||||
public DropDataPropStmt(String subjectUri, String predicateUri, String data) {
|
||||
super(subjectUri, predicateUri);
|
||||
dataPropStmt = new DataPropertyStatementImpl();
|
||||
dataPropStmt.setIndividualURI(subjectUri);
|
||||
dataPropStmt.setDatapropURI(predicateUri);
|
||||
dataPropStmt.setData(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle whoToAuth) {
|
||||
return policy.visit(whoToAuth,this);
|
||||
}
|
||||
|
||||
//TODO: rename this method to something like getUriOfSubject
|
||||
public String uriOfSubject(){ return dataPropStmt.getIndividualURI(); }
|
||||
|
||||
//TODO: rename this method to something like getUriOfPredicate
|
||||
public String uriOfPredicate(){ return dataPropStmt.getDatapropURI(); }
|
||||
|
||||
public String data(){ return dataPropStmt.getData(); }
|
||||
public String lang(){ return dataPropStmt.getLanguage(); }
|
||||
public String datatype(){return dataPropStmt.getDatatypeURI(); }
|
||||
|
||||
|
||||
public String getURI() {
|
||||
return RequestActionConstants.actionNamespace + this.getClass().getName();
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
return "DropDataPropStmt <"+dataPropStmt.getIndividualURI()+"> <"+dataPropStmt.getDatapropURI()+">" ;
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: needs to be fixed to work with lang/datatype literals
|
||||
*/
|
||||
|
|
|
@ -7,7 +7,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
|
||||
public class DropObjectPropStmt extends ObjectPropertyAction implements
|
||||
public class DropObjectPropStmt extends AbstractObjectPropertyAction implements
|
||||
RequestedAction {
|
||||
|
||||
public DropObjectPropStmt(String sub, String pred, String obj) {
|
||||
|
|
|
@ -5,31 +5,24 @@ package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt;
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
|
||||
|
||||
public class EditDataPropStmt implements RequestedAction {
|
||||
public class EditDataPropStmt extends AbstractDataPropertyAction {
|
||||
|
||||
final DataPropertyStatement dataPropStmt;
|
||||
private final DataPropertyStatement dataPropStmt;
|
||||
|
||||
public EditDataPropStmt(DataPropertyStatement dps){
|
||||
super(dps.getIndividualURI(), dps.getDatapropURI());
|
||||
this.dataPropStmt = dps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle whoToAuth) {
|
||||
return policy.visit(whoToAuth,this);
|
||||
}
|
||||
|
||||
|
||||
public String uriOfSubject(){ return dataPropStmt.getIndividualURI(); }
|
||||
public String uriOfPredicate(){ return dataPropStmt.getDatapropURI(); }
|
||||
public String data(){ return dataPropStmt.getData(); }
|
||||
public String lang(){ return dataPropStmt.getLanguage(); }
|
||||
public String datatype(){return dataPropStmt.getDatatypeURI(); }
|
||||
|
||||
public String getURI() {
|
||||
return RequestActionConstants.actionNamespace + this.getClass().getName();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.VisitingPolicyIface;
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement;
|
||||
|
||||
public class EditObjPropStmt extends ObjectPropertyAction implements
|
||||
public class EditObjPropStmt extends AbstractObjectPropertyAction implements
|
||||
RequestedAction {
|
||||
|
||||
public EditObjPropStmt(ObjectPropertyStatement ops) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue