From 2fe2a522563ca605b9c5cd3246ad551626b8f8ba Mon Sep 17 00:00:00 2001 From: jeb228 Date: Thu, 2 Dec 2010 18:31:51 +0000 Subject: [PATCH] NIHVIVO-1232 Give the resource actions a common ancestor. Clean them up. Make them immutable objects. --- .../resource/AbstractResourceAction.java | 48 +++++++++++++++++++ .../requestedAction/resource/AddResource.java | 46 ++++-------------- .../resource/DropResource.java | 44 ++++------------- 3 files changed, 66 insertions(+), 72 deletions(-) create mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java new file mode 100644 index 000000000..42501083c --- /dev/null +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java @@ -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 + ">"; + } + +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java index 157441c6b..6fb6768dd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java @@ -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); + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java index b643991e1..00f3e3e93 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java @@ -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); + } }