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.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.auth.requestedAction.ifaces.SingleParameterAction;
|
||||
|
||||
public class AddResource extends SingleParameterAction implements RequestedAction {
|
||||
public class AddResource extends AbstractResourceAction implements
|
||||
RequestedAction {
|
||||
|
||||
private String typeUri;
|
||||
private String uri;
|
||||
public AddResource(String typeUri, String subjectUri) {
|
||||
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 String getTypeUri() {
|
||||
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);
|
||||
}
|
||||
public PolicyDecision accept(VisitingPolicyIface policy,
|
||||
IdentifierBundle ids) {
|
||||
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.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.auth.requestedAction.ifaces.SingleParameterAction;
|
||||
|
||||
public class DropResource extends SingleParameterAction implements RequestedAction {
|
||||
public class DropResource extends AbstractResourceAction implements
|
||||
RequestedAction {
|
||||
|
||||
private String typeUri;
|
||||
private String uri;
|
||||
public DropResource(String typeUri, String subjectUri) {
|
||||
super(typeUri, subjectUri);
|
||||
}
|
||||
|
||||
public DropResource(String typeUri, String uri) {
|
||||
super();
|
||||
this.typeUri = typeUri;
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public String getTypeUri() {
|
||||
return typeUri;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
public PolicyDecision accept(VisitingPolicyIface policy,
|
||||
IdentifierBundle ids) {
|
||||
return policy.visit(ids, this);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue