NIHVIVO-1232 Give the resource actions a common ancestor. Clean them up. Make them immutable objects.
This commit is contained in:
parent
9279dd1b4c
commit
2fe2a52256
3 changed files with 66 additions and 72 deletions
|
@ -0,0 +1,48 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource;
|
||||||
|
|
||||||
|
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 common base class for resource-related actions.
|
||||||
|
*/
|
||||||
|
public abstract class AbstractResourceAction implements RequestedAction {
|
||||||
|
private final String typeUri;
|
||||||
|
private final String subjectUri;
|
||||||
|
|
||||||
|
public AbstractResourceAction(String typeUri, String subjectUri) {
|
||||||
|
this.typeUri = typeUri;
|
||||||
|
this.subjectUri = subjectUri;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This should return a list of type URIs since an Indiviudal can be
|
||||||
|
// multiple types.
|
||||||
|
public String getTypeUri() {
|
||||||
|
return typeUri;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSubjectUri() {
|
||||||
|
return subjectUri;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getURI() {
|
||||||
|
return RequestActionConstants.actionNamespace
|
||||||
|
+ this.getClass().getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract PolicyDecision accept(VisitingPolicyIface policy,
|
||||||
|
IdentifierBundle whoToAuth);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.getClass().getSimpleName() + " <" + subjectUri + ">";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -5,45 +5,17 @@ package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
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.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.auth.requestedAction.ifaces.RequestedAction;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.SingleParameterAction;
|
|
||||||
|
|
||||||
public class AddResource extends SingleParameterAction implements RequestedAction {
|
public class AddResource extends AbstractResourceAction implements
|
||||||
|
RequestedAction {
|
||||||
|
|
||||||
private String typeUri;
|
public AddResource(String typeUri, String subjectUri) {
|
||||||
private String uri;
|
super(typeUri, subjectUri);
|
||||||
|
|
||||||
public AddResource(String typeUri, String uri) {
|
|
||||||
super();
|
|
||||||
this.typeUri = typeUri;
|
|
||||||
this.uri = uri;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//This should return a list of type URIs since an Indiviudal can be multiple types.
|
public PolicyDecision accept(VisitingPolicyIface policy,
|
||||||
public String getTypeUri() {
|
IdentifierBundle ids) {
|
||||||
return typeUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTypeUri(String typeUri) {
|
|
||||||
this.typeUri = typeUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO: rename this method to avoid confusion with getURI()
|
|
||||||
public String getUri() {
|
|
||||||
return uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUri(String uri) {
|
|
||||||
this.uri = uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** returns "java//edu.cornell.mannlib.vitro.webapp.auth.requestedAction.CreateResource" */
|
|
||||||
public String getURI() {
|
|
||||||
return RequestActionConstants.actionNamespace + this.getClass().getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
|
|
||||||
return policy.visit(ids, this);
|
return policy.visit(ids, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,43 +5,17 @@ package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyDecision;
|
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.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.auth.requestedAction.ifaces.RequestedAction;
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.SingleParameterAction;
|
|
||||||
|
|
||||||
public class DropResource extends SingleParameterAction implements RequestedAction {
|
public class DropResource extends AbstractResourceAction implements
|
||||||
|
RequestedAction {
|
||||||
|
|
||||||
private String typeUri;
|
public DropResource(String typeUri, String subjectUri) {
|
||||||
private String uri;
|
super(typeUri, subjectUri);
|
||||||
|
|
||||||
public DropResource(String typeUri, String uri) {
|
|
||||||
super();
|
|
||||||
this.typeUri = typeUri;
|
|
||||||
this.uri = uri;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTypeUri() {
|
public PolicyDecision accept(VisitingPolicyIface policy,
|
||||||
return typeUri;
|
IdentifierBundle ids) {
|
||||||
}
|
return policy.visit(ids, this);
|
||||||
|
|
||||||
public void setTypeUri(String typeUri) {
|
|
||||||
this.typeUri = typeUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUri() {
|
|
||||||
return uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUri(String uri) {
|
|
||||||
this.uri = uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** returns "java//edu.cornell.mannlib.vitro.webapp.auth.requestedAction.CreateResource" */
|
|
||||||
public String getURI() {
|
|
||||||
return RequestActionConstants.actionNamespace + this.getClass().getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
|
|
||||||
return policy.visit(ids, (DropResource)this);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue