NIHVIVO-1232 Give the resource actions a common ancestor. Clean them up. Make them immutable objects.

This commit is contained in:
jeb228 2010-12-02 18:31:51 +00:00
parent 9279dd1b4c
commit 2fe2a52256
3 changed files with 66 additions and 72 deletions

View file

@ -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 + ">";
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}