NIHVIVO-2254 Remove VisitingPolicyIface

This commit is contained in:
j2blake 2011-04-06 19:50:41 +00:00
parent 625f654ae4
commit 2f67bd199e
27 changed files with 70 additions and 632 deletions

View file

@ -1,160 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.policy;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.Authorization;
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.admin.AddNewUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.LoadOntology;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RebuildTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RemoveUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.ServerStatus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UpdateTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UploadFile;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.CreateOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineDataProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineObjectProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.RemoveOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditObjPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.AddResource;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.DropResource;
public class BaseVisitingPolicy implements VisitingPolicyIface {
public PolicyDecision defaultDecision(){
return new BasicPolicyDecision(Authorization.INCONCLUSIVE, "BaseVisitingPolicy default");
}
public PolicyDecision visit(IdentifierBundle ids, CreateOwlClass action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, RemoveOwlClass action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, DefineDataProperty action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids,
DefineObjectProperty action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, AddObjectPropStmt action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, DropResource action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, DropDataPropStmt action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, DropObjectPropStmt action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, AddResource action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, AddDataPropStmt action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, AddNewUser action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, RemoveUser action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, LoadOntology action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, RebuildTextIndex action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, UpdateTextIndex action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, UploadFile action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, ServerStatus action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, EditDataPropStmt action) {
return defaultDecision();
}
public PolicyDecision visit(IdentifierBundle ids, EditObjPropStmt action) {
return defaultDecision();
}
public PolicyDecision isAuthorized(IdentifierBundle whoToAuth,
RequestedAction whatToAuth) {
if( whatToAuth != null )
return whatToAuth.accept(this, whoToAuth);
else
return new BasicPolicyDecision(Authorization.INCONCLUSIVE, "What to auth was null.");
}
}

View file

@ -31,25 +31,12 @@ import edu.cornell.mannlib.vitro.webapp.auth.identifier.SelfEditingIdentifierFac
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.Authorization;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.DefaultInconclusivePolicy;
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.admin.AddNewUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.LoadOntology;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RebuildTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RemoveUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.ServerStatus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UpdateTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UploadFile;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyIface;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.CreateOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineDataProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineObjectProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.RemoveOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditObjPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.AddResource;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.DropResource;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
@ -111,7 +98,7 @@ PREFIX vitro: <http://lowe.mannlib.cornell.edu/ns/vitro/0.1/vitro.owl#>
* @author bdc34
*
*/
public class JenaNetidPolicy extends DefaultInconclusivePolicy implements VisitingPolicyIface {
public class JenaNetidPolicy extends DefaultInconclusivePolicy implements PolicyIface {
protected transient Model model = ModelFactory.createDefaultModel();
@ -190,13 +177,25 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
if (netid == null)
return pd.setMessage("Unable to get netid from IdBundle");
//kick off the visitor pattern
return whatToAuth.accept(this, whoToAuth);
if (whoToAuth instanceof AddResource) {
return visit(whoToAuth, (AddResource) whatToAuth);
} else if (whoToAuth instanceof DropResource) {
return visit(whoToAuth, (DropResource) whatToAuth);
} else if (whoToAuth instanceof AddObjectPropStmt) {
return visit(whoToAuth, (AddObjectPropStmt) whatToAuth);
} else if (whoToAuth instanceof DropObjectPropStmt) {
return visit(whoToAuth, (DropObjectPropStmt) whatToAuth);
} else if (whoToAuth instanceof AddDataPropStmt) {
return visit(whoToAuth, (AddDataPropStmt) whatToAuth);
} else if (whoToAuth instanceof DropDataPropStmt) {
return visit(whoToAuth, (DropDataPropStmt) whatToAuth);
} else {
return UNAUTH;
}
}
/* ************************* visit methods ************************** */
@Override
public PolicyDecision visit(IdentifierBundle ids, AddResource action) {
private PolicyDecision visit(IdentifierBundle ids, AddResource action) {
log.debug("doing AddResource");
List<String> queryStrs = actionToQueryStr.get(action.getClass().getName());
@ -211,8 +210,7 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
return doQueries(queryStrs,parameters,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DropResource action) {
private PolicyDecision visit(IdentifierBundle ids, DropResource action) {
log.debug("doing DropResource");
List<String> queryStrs = actionToQueryStr.get(action.getClass().getName());
@ -227,8 +225,7 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
return doQueries(queryStrs,parameters,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, AddObjectPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, AddObjectPropStmt action) {
log.debug("doing AddObjectPropStmt in visit()");
List<String> queryStrs = actionToQueryStr.get(action.getClass().getName());
@ -245,8 +242,7 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
return doQueries(queryStrs,parameters,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DropObjectPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, DropObjectPropStmt action) {
log.debug("doing DropObjectPropStmt");
List<String> queryStrs = actionToQueryStr.get(action.getClass().getName());
@ -263,8 +259,7 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
return doQueries(queryStrs,parameters,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, AddDataPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, AddDataPropStmt action) {
log.debug("doing AddDataPropStmt");
List<String> queryStrs = actionToQueryStr.get(action.getClass().getName());
@ -280,8 +275,7 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
return doQueries(queryStrs,parameters,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DropDataPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, DropDataPropStmt action) {
log.debug("doing DropDataPropStmt");
List<String> queryStrs = actionToQueryStr.get(action.getClass().getName());
@ -427,81 +421,8 @@ public class JenaNetidPolicy extends DefaultInconclusivePolicy implements Visiti
"PREFIX vivo: <http://vivo.library.cornell.edu/ns/0.1#>\n"+
"PREFIX vitro: <"+ VitroVocabulary.vitroURI+">\n";
@Override
public PolicyDecision visit(IdentifierBundle ids, CreateOwlClass action) {
return UNAUTH;
}
private final PolicyDecision UNAUTH = new BasicPolicyDecision(
Authorization.UNAUTHORIZED,
"JenaNetidPolicy doesn't authorize admin or onto editing actions");
@Override
public PolicyDecision visit(IdentifierBundle ids, RemoveOwlClass action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DefineDataProperty action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DefineObjectProperty action){
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, AddNewUser action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, RemoveUser action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, LoadOntology action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, RebuildTextIndex action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, UpdateTextIndex action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, UploadFile action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, ServerStatus action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, EditDataPropStmt action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, EditObjPropStmt action) {
return UNAUTH;
}
private final PolicyDecision UNAUTH = new PolicyDecision(){
@Override
public Authorization getAuthorized() {return Authorization.UNAUTHORIZED; }
@Override
public String getMessage() {
return "JenaNetidPolicy doesn't authorize admin or onto editing actions";
}
@Override
public String getDebuggingInfo() { return ""; }
@Override
public String getStackTrace() { return ""; }
};
}

View file

@ -23,19 +23,9 @@ import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.Authorization;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.DefaultInconclusivePolicy;
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.admin.AddNewUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.LoadOntology;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RebuildTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RemoveUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.ServerStatus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UpdateTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces.PolicyIface;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UploadFile;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.CreateOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineDataProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineObjectProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.RemoveOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropDataPropStmt;
@ -55,7 +45,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.DropResour
* @author bdc34
*
*/
public class SparqlPolicy extends DefaultInconclusivePolicy implements VisitingPolicyIface{
public class SparqlPolicy extends DefaultInconclusivePolicy implements PolicyIface{
protected Model model = ModelFactory.createDefaultModel();
private HashMap<String,Query> queryStrToQuery = new HashMap<String,Query>();
@ -101,7 +91,7 @@ public class SparqlPolicy extends DefaultInconclusivePolicy implements VisitingP
this.name = jnip.name;
try{
policySpec.close();
}catch(Throwable th){}
}catch(Throwable th){/*ignore it?*/}
}
/* *********************** Methods ************************************ */
@ -117,8 +107,27 @@ public class SparqlPolicy extends DefaultInconclusivePolicy implements VisitingP
return new BasicPolicyDecision(Authorization.INCONCLUSIVE,
"no queryies found for action" + whatToAuth.getClass().getName());
//kick off the visitor pattern which generally just calls doQueries()
return whatToAuth.accept(this, whoToAuth);
if (whoToAuth instanceof AddObjectPropStmt) {
return visit(whoToAuth, (AddObjectPropStmt) whatToAuth);
} else if (whoToAuth instanceof DropResource) {
return visit(whoToAuth, (DropResource) whatToAuth);
} else if (whoToAuth instanceof DropDataPropStmt) {
return visit(whoToAuth, (DropDataPropStmt) whatToAuth);
} else if (whoToAuth instanceof DropObjectPropStmt) {
return visit(whoToAuth, (DropObjectPropStmt) whatToAuth);
} else if (whoToAuth instanceof AddResource) {
return visit(whoToAuth, (AddResource) whatToAuth);
} else if (whoToAuth instanceof AddDataPropStmt) {
return visit(whoToAuth, (AddDataPropStmt) whatToAuth);
} else if (whoToAuth instanceof UploadFile) {
return visit(whoToAuth, (UploadFile) whatToAuth);
} else if (whoToAuth instanceof EditDataPropStmt) {
return visit(whoToAuth, (EditDataPropStmt) whatToAuth);
} else if (whoToAuth instanceof EditObjPropStmt) {
return visit(whoToAuth, (EditObjPropStmt) whatToAuth);
} else {
return UNAUTH;
}
}
private PolicyDecision doQueries(List<String>queryStrs, IdentifierBundle ids, RequestedAction action){
@ -162,109 +171,48 @@ public class SparqlPolicy extends DefaultInconclusivePolicy implements VisitingP
/* ***************** Visit methods ********************** */
private final String pkg = "edu.cornell.mannlib.vitro.webapp.auth.requestedAction.";
@Override
public PolicyDecision visit(IdentifierBundle ids, AddObjectPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, AddObjectPropStmt action) {
return doQueries(actionToQueryStr.get(pkg +"AddObjectPropStmt"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DropResource action) {
private PolicyDecision visit(IdentifierBundle ids, DropResource action) {
return doQueries(actionToQueryStr.get(pkg +"DropResource"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DropDataPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, DropDataPropStmt action) {
return doQueries(actionToQueryStr.get(pkg +"DropDataPropStmt"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DropObjectPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, DropObjectPropStmt action) {
return doQueries(actionToQueryStr.get(pkg +"DropObjectPropStmt"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, AddResource action) {
private PolicyDecision visit(IdentifierBundle ids, AddResource action) {
return doQueries(actionToQueryStr.get(pkg +"AddResource"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, AddDataPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, AddDataPropStmt action) {
return doQueries(actionToQueryStr.get(pkg +"AddDataPropStmt"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, UploadFile action) {
private PolicyDecision visit(IdentifierBundle ids, UploadFile action) {
return doQueries(actionToQueryStr.get(pkg +"UploadFile"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, EditDataPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, EditDataPropStmt action) {
return doQueries(actionToQueryStr.get(pkg +"EditDataPropStmt"),ids,action);
}
@Override
public PolicyDecision visit(IdentifierBundle ids, EditObjPropStmt action) {
private PolicyDecision visit(IdentifierBundle ids, EditObjPropStmt action) {
return doQueries(actionToQueryStr.get(pkg +"EditObjPropStmt"),ids,action);
}
/* **** Currently the following actions are unauthorized by this policy **** */
@Override
public PolicyDecision visit(IdentifierBundle ids, CreateOwlClass action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, RemoveOwlClass action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, DefineDataProperty action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids,
DefineObjectProperty action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, ServerStatus action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, AddNewUser action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, RemoveUser action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, LoadOntology action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, RebuildTextIndex action) {
return UNAUTH;
}
@Override
public PolicyDecision visit(IdentifierBundle ids, UpdateTextIndex action) {
return UNAUTH;
}
private static final Log log = LogFactory.getLog(SparqlPolicy.class.getName());
private final PolicyDecision UNAUTH = new PolicyDecision(){
@Override
public Authorization getAuthorized() {return Authorization.UNAUTHORIZED; }
@Override
public String getMessage() {
return name + " SparqlPolicy doesn't authorize admin or onto editing actions";
}
@Override
public String getDebuggingInfo() { return ""; }
@Override
public String getStackTrace() { return ""; }
};
private final PolicyDecision UNAUTH = new BasicPolicyDecision(
Authorization.UNAUTHORIZED,
name + " SparqlPolicy doesn't authorize admin or onto editing actions");
/*
* example of how to set up the xml:

View file

@ -1,90 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.auth.policy.ifaces;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.AddNewUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.LoadOntology;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RebuildTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.RemoveUser;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.ServerStatus;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UpdateTextIndex;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin.UploadFile;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.CreateOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineDataProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.DefineObjectProperty;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology.RemoveOwlClass;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.DropObjectPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditDataPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditObjPropStmt;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.AddResource;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.DropResource;
/**
* This is a interface to write a policy that uses the Visitor pattern.
* In general this should be avoided, just implement PolicyIface.
*
* @author bdc34
*
*/
public interface VisitingPolicyIface extends PolicyIface {
//visitor pattern abstract visitor:
public abstract PolicyDecision visit(IdentifierBundle ids,
CreateOwlClass action);
public abstract PolicyDecision visit(IdentifierBundle ids,
RemoveOwlClass action);
public abstract PolicyDecision visit(IdentifierBundle ids,
DefineDataProperty action);
public abstract PolicyDecision visit(IdentifierBundle ids,
DefineObjectProperty action);
public abstract PolicyDecision visit(IdentifierBundle ids,
AddObjectPropStmt action);
public abstract PolicyDecision visit(IdentifierBundle ids,
DropResource action);
public abstract PolicyDecision visit(IdentifierBundle ids,
DropDataPropStmt action);
public abstract PolicyDecision visit(IdentifierBundle ids,
DropObjectPropStmt action);
public abstract PolicyDecision visit(IdentifierBundle ids,
AddResource action);
public abstract PolicyDecision visit(IdentifierBundle ids,
AddDataPropStmt action);
public abstract PolicyDecision visit(IdentifierBundle ids, AddNewUser action);
public abstract PolicyDecision visit(IdentifierBundle ids, RemoveUser action);
public abstract PolicyDecision visit(IdentifierBundle ids,
LoadOntology action);
public abstract PolicyDecision visit(IdentifierBundle ids,
RebuildTextIndex action);
public abstract PolicyDecision visit(IdentifierBundle ids,
UpdateTextIndex action);
public abstract PolicyDecision visit(IdentifierBundle ids, UploadFile action);
public abstract PolicyDecision visit(IdentifierBundle ids,
ServerStatus action);
public abstract PolicyDecision visit(IdentifierBundle ids,
EditDataPropStmt action);
public abstract PolicyDecision visit(IdentifierBundle ids,
EditObjPropStmt action);
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -13,8 +10,4 @@ public class AddNewUser implements AdminRequestedAction{
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -23,8 +20,4 @@ public class LoadOntology implements AdminRequestedAction{
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -13,8 +10,4 @@ public class RebuildTextIndex implements AdminRequestedAction{
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -23,8 +20,4 @@ public class RemoveUser implements AdminRequestedAction{
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -19,9 +16,4 @@ public class ServerStatus implements AdminRequestedAction {
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -13,9 +10,4 @@ public class UpdateTextIndex implements AdminRequestedAction{
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.admin;
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.AdminRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
@ -22,8 +19,4 @@ public class UploadFile implements AdminRequestedAction{
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,22 +2,14 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces;
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;
/* Represents a request to perform an action. */
public interface RequestedAction {
/**
* In its most basic form, a RequestAction needs to have an
* identifier. Sometimes this will be enough. For example
* ServerStatusRequest.
* In its most basic form, a RequestAction needs to have an identifier.
* Sometimes this will be enough. For example ServerStatusRequest.
*
* @return
*/
public String getURI();
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle whoToAuth);
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology;
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.OntoRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.SingleParameterAction;
@ -15,9 +12,4 @@ public class CreateOwlClass extends SingleParameterAction implements OntoRequest
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology;
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.OntoRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.SingleParameterAction;
@ -14,9 +11,4 @@ public class DefineDataProperty extends SingleParameterAction implements OntoReq
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology;
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.OntoRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.SingleParameterAction;
@ -15,9 +12,4 @@ public class DefineObjectProperty extends SingleParameterAction implements OntoR
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ontology;
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.OntoRequestedAction;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.SingleParameterAction;
@ -14,8 +11,4 @@ public class RemoveOwlClass extends SingleParameterAction implements OntoRequest
public String getURI() {
return RequestActionConstants.actionNamespace + this.getClass().getName();
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids){
return policy.visit(ids,this);
}
}

View file

@ -2,9 +2,6 @@
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;
@ -34,10 +31,6 @@ public abstract class AbstractDataPropertyAction implements RequestedAction {
+ this.getClass().getName();
}
@Override
public abstract PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle whoToAuth);
@Override
public String toString() {
return getClass().getSimpleName() + ": <" + subjectUri + "> <"

View file

@ -2,9 +2,6 @@
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;
@ -42,10 +39,6 @@ public abstract class AbstractObjectPropertyAction implements RequestedAction {
+ this.getClass().getName();
}
@Override
public abstract PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle whoToAuth);
@Override
public String toString() {
return this.getClass().getSimpleName() + ": <" + uriOfSubject + "> <"

View file

@ -2,9 +2,6 @@
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;
public class AddDataPropStmt extends AbstractDataPropertyAction {
@ -30,9 +27,4 @@ public class AddDataPropStmt extends AbstractDataPropertyAction {
public String getLang() {
return lang;
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle ids ){
return policy.visit(ids, this );
}
}

View file

@ -2,19 +2,10 @@
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;
public class AddObjectPropStmt extends AbstractObjectPropertyAction {
public AddObjectPropStmt(String uriOfSub, String uriOfPred, String uriOfObj) {
super(uriOfSub, uriOfPred, uriOfObj);
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle ids) {
return policy.visit(ids, this);
}
}

View file

@ -2,9 +2,6 @@
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.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl;
@ -25,11 +22,6 @@ public class DropDataPropStmt extends AbstractDataPropertyAction {
dataPropStmt.setData(data);
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle whoToAuth) {
return policy.visit(whoToAuth,this);
}
public String data(){ return dataPropStmt.getData(); }
public String lang(){ return dataPropStmt.getLanguage(); }
public String datatype(){return dataPropStmt.getDatatypeURI(); }

View file

@ -2,19 +2,9 @@
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;
public class DropObjectPropStmt extends AbstractObjectPropertyAction {
public DropObjectPropStmt(String sub, String pred, String obj) {
super(sub, pred, obj);
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle ids) {
return policy.visit(ids, this);
}
}

View file

@ -2,9 +2,6 @@
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.beans.DataPropertyStatement;
public class EditDataPropStmt extends AbstractDataPropertyAction {
@ -16,11 +13,6 @@ public class EditDataPropStmt extends AbstractDataPropertyAction {
this.dataPropStmt = dps;
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy, IdentifierBundle whoToAuth) {
return policy.visit(whoToAuth,this);
}
public String data(){ return dataPropStmt.getData(); }
public String lang(){ return dataPropStmt.getLanguage(); }
public String datatype(){return dataPropStmt.getDatatypeURI(); }

View file

@ -2,9 +2,6 @@
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.beans.ObjectPropertyStatement;
public class EditObjPropStmt extends AbstractObjectPropertyAction {
@ -18,10 +15,4 @@ public class EditObjPropStmt extends AbstractObjectPropertyAction {
super(subjectUri, keywordPredUri, objectUri);
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle whoToAuth) {
return policy.visit(whoToAuth, this);
}
}

View file

@ -2,9 +2,6 @@
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;
@ -36,10 +33,6 @@ public abstract class AbstractResourceAction implements RequestedAction {
+ this.getClass().getName();
}
@Override
public abstract PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle whoToAuth);
@Override
public String toString() {
return this.getClass().getSimpleName() + " <" + subjectUri + ">";

View file

@ -2,19 +2,10 @@
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;
public class AddResource extends AbstractResourceAction {
public AddResource(String typeUri, String subjectUri) {
super(typeUri, subjectUri);
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle ids) {
return policy.visit(ids, this);
}
}

View file

@ -2,19 +2,10 @@
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;
public class DropResource extends AbstractResourceAction {
public DropResource(String typeUri, String subjectUri) {
super(typeUri, subjectUri);
}
@Override
public PolicyDecision accept(VisitingPolicyIface policy,
IdentifierBundle ids) {
return policy.visit(ids, this);
}
}