VIVO-82 Use ModelAccess to get or set the JenaOntModel (Union Full model)

This commit is contained in:
j2blake 2013-05-17 11:41:47 -04:00
parent 1c95d4e4a9
commit 0a15a6df7d
32 changed files with 88 additions and 123 deletions

View file

@ -25,6 +25,7 @@ import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet; import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
@ -153,14 +154,13 @@ public class BaseEditController extends VitroHttpServlet {
} }
} }
protected String MODEL_ATTR_NAME = "jenaOntModel";
protected OntModel getOntModel( HttpServletRequest request, ServletContext ctx ) { protected OntModel getOntModel( HttpServletRequest request, ServletContext ctx ) {
// TODO: JB - This method gets the UNION FULL model from the session, if there is one,
// TODO and the BASE_TBOX model otherwise.
OntModel ontModel = null; OntModel ontModel = null;
try { try {
ontModel = (OntModel) request.getSession().getAttribute(MODEL_ATTR_NAME); ontModel = ModelAccess.on(request.getSession()).getJenaOntModel();
} catch (Exception e) { } catch (Exception e) {
// ignoring any problems here - we're not really expecting // ignoring any problems here - we're not really expecting
// this attribute to be populated anyway // this attribute to be populated anyway

View file

@ -16,18 +16,19 @@ import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution; import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.RDFNode;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.Identifier; import edu.cornell.mannlib.vitro.webapp.auth.identifier.Identifier;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle; import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
/** /**
* The current user is blacklisted for this reason. * The current user is blacklisted for this reason.
@ -152,7 +153,7 @@ public class IsBlacklisted extends AbstractCommonIdentifier implements
return NOT_BLACKLISTED; return NOT_BLACKLISTED;
} }
Model model = (Model) context.getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(context).getJenaOntModel();
queryString = queryString.replaceAll("\\?individualURI", queryString = queryString.replaceAll("\\?individualURI",
"<" + ind.getURI() + ">"); "<" + ind.getURI() + ">");

View file

@ -13,6 +13,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.listener.ChangeListener; import edu.cornell.mannlib.vedit.listener.ChangeListener;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel; import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.beans.Property; import edu.cornell.mannlib.vitro.webapp.beans.Property;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
/** /**
* Add this ChangeListener to your EditProcessObject when modifying the * Add this ChangeListener to your EditProcessObject when modifying the
@ -90,7 +91,7 @@ public class PropertyRestrictionListener implements ChangeListener {
} }
private void createAndSetBean() { private void createAndSetBean() {
OntModel model = (OntModel) ctx.getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(ctx).getJenaOntModel();
PropertyRestrictionPolicyHelper bean = PropertyRestrictionPolicyHelper PropertyRestrictionPolicyHelper bean = PropertyRestrictionPolicyHelper
.createBean(model); .createBean(model);
PropertyRestrictionPolicyHelper.setBean(ctx, bean); PropertyRestrictionPolicyHelper.setBean(ctx, bean);

View file

@ -26,6 +26,7 @@ import com.hp.hpl.jena.rdf.model.impl.Util;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel; import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus; import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus;
@ -344,7 +345,7 @@ public class PropertyRestrictionPolicyHelper {
StartupStatus ss = StartupStatus.getBean(ctx); StartupStatus ss = StartupStatus.getBean(ctx);
try { try {
OntModel model = (OntModel) ctx.getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(ctx).getJenaOntModel();
if (model == null) { if (model == null) {
throw new NullPointerException( throw new NullPointerException(
"jenaOntModel has not been initialized."); "jenaOntModel has not been initialized.");

View file

@ -42,6 +42,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao; import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest; import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest;
@ -101,7 +102,7 @@ public class FedoraDatastreamController extends VitroHttpServlet implements Cons
log.debug("In doGet"); log.debug("In doGet");
VitroRequest vreq = new VitroRequest(req); VitroRequest vreq = new VitroRequest(req);
OntModel sessionOntModel = (OntModel)vreq.getSession().getAttribute("jenaOntModel"); OntModel sessionOntModel = ModelAccess.on(vreq.getSession()).getJenaOntModel();
synchronized (FedoraDatastreamController.class) { synchronized (FedoraDatastreamController.class) {
if( fedoraUrl == null ){ if( fedoraUrl == null ){
@ -231,7 +232,7 @@ public class FedoraDatastreamController extends VitroHttpServlet implements Cons
} }
//check if fedora is on line //check if fedora is on line
OntModel sessionOntModel = (OntModel)rawRequest.getSession().getAttribute("jenaOntModel"); OntModel sessionOntModel = ModelAccess.on(rawRequest.getSession()).getJenaOntModel();
synchronized (FedoraDatastreamController.class) { synchronized (FedoraDatastreamController.class) {
if( fedoraUrl == null ){ if( fedoraUrl == null ){
setup( sessionOntModel, getServletContext() ); setup( sessionOntModel, getServletContext() );

View file

@ -27,6 +27,7 @@ import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaOutputUtils; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaOutputUtils;
import edu.cornell.mannlib.vitro.webapp.web.ContentType; import edu.cornell.mannlib.vitro.webapp.web.ContentType;
@ -127,12 +128,7 @@ public class OntologyController extends VitroHttpServlet{
String url = ontology; String url = ontology;
OntModel ontModel = null; OntModel ontModel = ModelAccess.on(vreq.getSession()).getJenaOntModel();
HttpSession session = vreq.getSession(false);
if( session != null )
ontModel =(OntModel)session.getAttribute("jenaOntModel");
if( ontModel == null)
ontModel = (OntModel)getServletContext().getAttribute("jenaOntModel");
boolean found = false; boolean found = false;
Model newModel = ModelFactory.createDefaultModel(); Model newModel = ModelFactory.createDefaultModel();

View file

@ -17,6 +17,7 @@ import com.hp.hpl.jena.query.Dataset;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.ModelID;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao; import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao;
import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector; import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector;
@ -107,7 +108,7 @@ public class VitroRequest extends HttpServletRequestWrapper {
} }
public void setJenaOntModel(OntModel ontModel) { public void setJenaOntModel(OntModel ontModel) {
setAttribute("jenaOntModel", ontModel); ModelAccess.on(this).setJenaOntModel(ontModel);
} }
public void setOntModelSelector(OntModelSelector oms) { public void setOntModelSelector(OntModelSelector oms) {
@ -176,15 +177,7 @@ public class VitroRequest extends HttpServletRequestWrapper {
public OntModel getJenaOntModel() { public OntModel getJenaOntModel() {
Object ontModel = getAttribute("jenaOntModel"); return ModelAccess.on(this).getJenaOntModel();
if (ontModel instanceof OntModel) {
return (OntModel) ontModel;
}
OntModel jenaOntModel = (OntModel)_req.getSession().getAttribute( JenaBaseDao.JENA_ONT_MODEL_ATTRIBUTE_NAME );
if ( jenaOntModel == null ) {
jenaOntModel = (OntModel)_req.getSession().getServletContext().getAttribute( JenaBaseDao.JENA_ONT_MODEL_ATTRIBUTE_NAME );
}
return jenaOntModel;
} }
public OntModelSelector getOntModelSelector() { public OntModelSelector getOntModelSelector() {

View file

@ -39,6 +39,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.authenticate.LoginRedirector;
import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean; import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean;
import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean.Message; import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean.Message;
import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean.State; import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean.State;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.jena.LoginLogoutEvent; import edu.cornell.mannlib.vitro.webapp.dao.jena.LoginLogoutEvent;
public class Authenticate extends VitroHttpServlet { public class Authenticate extends VitroHttpServlet {
@ -557,16 +558,7 @@ public class Authenticate extends VitroHttpServlet {
return; return;
} }
OntModel jenaOntModel = (OntModel) session.getAttribute("jenaOntModel"); OntModel jenaOntModel = ModelAccess.on(session).getJenaOntModel();
if (jenaOntModel == null) {
jenaOntModel = (OntModel) context.getAttribute("jenaOntModel");
}
if (jenaOntModel == null) {
log.error("Unable to notify audit model of login event "
+ "because no model could be found");
return;
}
jenaOntModel.getBaseModel().notifyEvent(event); jenaOntModel.getBaseModel().notifyEvent(event);
} }

View file

@ -24,6 +24,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
public class NamespacePrefixOperationController extends BaseEditController { public class NamespacePrefixOperationController extends BaseEditController {
@ -68,7 +69,7 @@ public class NamespacePrefixOperationController extends BaseEditController {
if (request.getParameter("_cancel") == null) { if (request.getParameter("_cancel") == null) {
OntModel ontModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel();
String namespaceStr = request.getParameter("namespace"); String namespaceStr = request.getParameter("namespace");
String prefixStr = request.getParameter("prefix"); String prefixStr = request.getParameter("prefix");

View file

@ -22,6 +22,7 @@ import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
public class NamespacesListingController extends BaseEditController { public class NamespacesListingController extends BaseEditController {
@ -34,7 +35,7 @@ public class NamespacesListingController extends BaseEditController {
VitroRequest vrequest = new VitroRequest(request); VitroRequest vrequest = new VitroRequest(request);
OntModel ontModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel();
ArrayList results = new ArrayList(); ArrayList results = new ArrayList();
request.setAttribute("results",results); request.setAttribute("results",results);

View file

@ -33,6 +33,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao; import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao; import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
@ -51,7 +52,7 @@ public class RestrictionsListingController extends BaseEditController {
epo = super.createEpo(request); epo = super.createEpo(request);
OntModel ontModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel();
ObjectPropertyDao opDao = vrequest.getFullWebappDaoFactory().getObjectPropertyDao(); ObjectPropertyDao opDao = vrequest.getFullWebappDaoFactory().getObjectPropertyDao();
VClassDao vcDao = vrequest.getFullWebappDaoFactory().getVClassDao(); VClassDao vcDao = vrequest.getFullWebappDaoFactory().getVClassDao();

View file

@ -47,6 +47,7 @@ import com.hp.hpl.jena.vocabulary.RDFS;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
public class JenaAdminActions extends BaseEditController { public class JenaAdminActions extends BaseEditController {
@ -171,7 +172,7 @@ public class JenaAdminActions extends BaseEditController {
private String testWriteXML() { private String testWriteXML() {
StringBuffer output = new StringBuffer(); StringBuffer output = new StringBuffer();
output.append("<html><head><title>Test Write XML</title></head><body><pre>\n"); output.append("<html><head><title>Test Write XML</title></head><body><pre>\n");
Model model = (Model) getServletContext().getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(getServletContext()).getJenaOntModel();
Model tmp = ModelFactory.createDefaultModel(); Model tmp = ModelFactory.createDefaultModel();
boolean valid = true; boolean valid = true;
for (Statement stmt : ((List<Statement>)model.listStatements().toList()) ) { for (Statement stmt : ((List<Statement>)model.listStatements().toList()) ) {
@ -230,7 +231,7 @@ public class JenaAdminActions extends BaseEditController {
} }
private void removeLongLiterals() { private void removeLongLiterals() {
OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
memoryModel.enterCriticalSection(Lock.WRITE); memoryModel.enterCriticalSection(Lock.WRITE);
try { try {
List<Statement> statementsToRemove = new LinkedList<Statement>(); List<Statement> statementsToRemove = new LinkedList<Statement>();
@ -273,7 +274,7 @@ public class JenaAdminActions extends BaseEditController {
} }
if (actionStr.equals("checkURIs")) { if (actionStr.equals("checkURIs")) {
OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
ClosableIterator stmtIt = memoryModel.listStatements(); ClosableIterator stmtIt = memoryModel.listStatements();
try { try {
for (Iterator i = stmtIt; i.hasNext(); ) { for (Iterator i = stmtIt; i.hasNext(); ) {
@ -314,7 +315,7 @@ public class JenaAdminActions extends BaseEditController {
memoryModel = (OntModel) getServletContext().getAttribute("pelletOntModel"); memoryModel = (OntModel) getServletContext().getAttribute("pelletOntModel");
System.out.println("pelletOntModel"); System.out.println("pelletOntModel");
} else { } else {
memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
System.out.println("jenaOntModel"); System.out.println("jenaOntModel");
} }
int subModelCount = 0; int subModelCount = 0;
@ -340,7 +341,7 @@ public class JenaAdminActions extends BaseEditController {
} }
if (actionStr.equals("isIsomorphic")) { if (actionStr.equals("isIsomorphic")) {
OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
OntModel persistentModel = (OntModel) getServletContext().getAttribute("jenaPersistentOntModel"); OntModel persistentModel = (OntModel) getServletContext().getAttribute("jenaPersistentOntModel");
if ((memoryModel != null) && (persistentModel != null)) { if ((memoryModel != null) && (persistentModel != null)) {
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
@ -363,7 +364,7 @@ public class JenaAdminActions extends BaseEditController {
log.trace((System.currentTimeMillis()-startTime)/1000+" seconds to check isomorphism"); log.trace((System.currentTimeMillis()-startTime)/1000+" seconds to check isomorphism");
} }
} else if (actionStr.equals("removeUntypedResources")) { } else if (actionStr.equals("removeUntypedResources")) {
OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
OntModel persistentModel = (OntModel) getServletContext().getAttribute("jenaPersistentOntModel"); OntModel persistentModel = (OntModel) getServletContext().getAttribute("jenaPersistentOntModel");
ClosableIterator rIt = memoryModel.listSubjects(); ClosableIterator rIt = memoryModel.listSubjects();
clean(rIt,memoryModel); clean(rIt,memoryModel);

View file

@ -283,7 +283,6 @@ public class JenaExportController extends BaseEditController {
} }
} }
static final String FULL_ONT_MODEL_ATTR = "jenaOntModel";
static final String ASSERTIONS_ONT_MODEL_ATTR = "baseOntModel"; static final String ASSERTIONS_ONT_MODEL_ATTR = "baseOntModel";
static final String INFERENCES_ONT_MODEL_ATTR = "inferenceOntModel"; static final String INFERENCES_ONT_MODEL_ATTR = "inferenceOntModel";
static final String FULL_GRAPH = "?g"; static final String FULL_GRAPH = "?g";

View file

@ -67,6 +67,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.beans.Ontology; import edu.cornell.mannlib.vitro.webapp.beans.Ontology;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao; import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao;
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceGraph; import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceGraph;
@ -520,7 +521,7 @@ public class JenaIngestController extends BaseEditController {
vreq.setAttribute("title", "Choose Workflow Step"); vreq.setAttribute("title", "Choose Workflow Step");
vreq.setAttribute("bodyJsp", WORKFLOW_STEP_JSP); vreq.setAttribute("bodyJsp", WORKFLOW_STEP_JSP);
} else { } else {
OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel jenaOntModel = ModelAccess.on(getServletContext()).getJenaOntModel();
jenaOntModel.enterCriticalSection(Lock.READ); jenaOntModel.enterCriticalSection(Lock.READ);
List<Individual> savedQueryList = new LinkedList<Individual>(); List<Individual> savedQueryList = new LinkedList<Individual>();
try { try {
@ -537,7 +538,7 @@ public class JenaIngestController extends BaseEditController {
private void processExecuteSparqlRequest(VitroRequest vreq, ModelMaker maker, String modelType) { private void processExecuteSparqlRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
String sparqlQueryStr = vreq.getParameter("sparqlQueryStr"); String sparqlQueryStr = vreq.getParameter("sparqlQueryStr");
OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel jenaOntModel = ModelAccess.on(getServletContext()).getJenaOntModel();
jenaOntModel.enterCriticalSection(Lock.READ); jenaOntModel.enterCriticalSection(Lock.READ);
List<Individual> savedQueryList = new LinkedList<Individual>(); List<Individual> savedQueryList = new LinkedList<Individual>();
try { try {
@ -910,7 +911,7 @@ public class JenaIngestController extends BaseEditController {
} }
private long doExecuteSparql(VitroRequest vreq) { private long doExecuteSparql(VitroRequest vreq) {
OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); OntModel jenaOntModel = ModelAccess.on(getServletContext()).getJenaOntModel();
OntModel source = null; OntModel source = null;
if ("pellet".equals(vreq.getParameter("reasoning"))) { if ("pellet".equals(vreq.getParameter("reasoning"))) {
source = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC); source = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
@ -1193,8 +1194,7 @@ public class JenaIngestController extends BaseEditController {
Model baseOntModel = RDFServiceGraph.createRDFServiceModel Model baseOntModel = RDFServiceGraph.createRDFServiceModel
(new RDFServiceGraph( (new RDFServiceGraph(
rdfService, JenaDataSourceSetupBase.JENA_DB_MODEL)); rdfService, JenaDataSourceSetupBase.JENA_DB_MODEL));
OntModel ontModel = (OntModel) OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel();
getServletContext().getAttribute("jenaOntModel");
List<String> urisToChange = new LinkedList<String>(); List<String> urisToChange = new LinkedList<String>();
ontModel.enterCriticalSection(Lock.READ); ontModel.enterCriticalSection(Lock.READ);
try { try {
@ -1312,12 +1312,7 @@ public class JenaIngestController extends BaseEditController {
public static Model getModel(String name, HttpServletRequest request, ServletContext context) { public static Model getModel(String name, HttpServletRequest request, ServletContext context) {
if ("vitro:jenaOntModel".equals(name)) { if ("vitro:jenaOntModel".equals(name)) {
Object sessionOntModel = request.getSession().getAttribute("jenaOntModel"); return ModelAccess.on(request.getSession()).getJenaOntModel();
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
return (OntModel) sessionOntModel;
} else {
return (OntModel) context.getAttribute("jenaOntModel");
}
} else if ("vitro:baseOntModel".equals(name)) { } else if ("vitro:baseOntModel".equals(name)) {
Object sessionOntModel = request.getSession().getAttribute("baseOntModel"); Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
if (sessionOntModel != null && sessionOntModel instanceof OntModel) { if (sessionOntModel != null && sessionOntModel instanceof OntModel) {

View file

@ -98,6 +98,15 @@ public class ModelAccess {
return getOntModel(ModelID.DISPLAY); return getOntModel(ModelID.DISPLAY);
} }
public void setJenaOntModel(OntModel m) {
setOntModel(ModelID.UNION_FULL, m);
}
public OntModel getJenaOntModel() {
return getOntModel(ModelID.UNION_FULL);
}
// /** Is this the same as Assertions model? */ // /** Is this the same as Assertions model? */
// // public OntModel getBaseOntModel() { // // public OntModel getBaseOntModel() {
// // throw new RuntimeException( // // throw new RuntimeException(
@ -224,14 +233,6 @@ public class ModelAccess {
* ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms); * ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
* } * }
* *
* public static OntModel getJenaOntModel(ServletContext ctx) {
* return (OntModel) ctx.getAttribute(JENA_ONT_MODEL);
* }
*
* public static void setJenaOntModel(OntModel ontModel, ServletContext ctx) {
* ctx.setAttribute(JENA_ONT_MODEL, ontModel);
* }
*
* public static OntModel getBaseOntModel(ServletContext ctx) { * public static OntModel getBaseOntModel(ServletContext ctx) {
* return (OntModel) ctx.getAttribute(BASE_ONT_MODEL); * return (OntModel) ctx.getAttribute(BASE_ONT_MODEL);
* } * }
@ -255,7 +256,6 @@ public class ModelAccess {
* VitroRequest.getAssertionsWebappDaoFactory() * VitroRequest.getAssertionsWebappDaoFactory()
* VitroRequest.getDeductionsWebappDaoFactory() * VitroRequest.getDeductionsWebappDaoFactory()
* VitroRequest.getFullWebappDaoFactory() * VitroRequest.getFullWebappDaoFactory()
* VitroRequest.getJenaOntModel()
* VitroRequest.getRDFService() * VitroRequest.getRDFService()
* VitroRequest.getUnfilteredRDFService() * VitroRequest.getUnfilteredRDFService()
* VitroRequest.getWebappDaoFactory() * VitroRequest.getWebappDaoFactory()
@ -278,7 +278,6 @@ public class ModelAccess {
* VitroModelSource.openModelIfPresent(string) * VitroModelSource.openModelIfPresent(string)
* ServletContext.getAttribute("assertionsWebappDaoFactory") * ServletContext.getAttribute("assertionsWebappDaoFactory")
* ServletContext.getAttribute("baseOntModelSelector") * ServletContext.getAttribute("baseOntModelSelector")
* ServletContext.getAttribute("jenaOntModel")
* ServletContext.getAttribute("jenaPersistentOntModel") * ServletContext.getAttribute("jenaPersistentOntModel")
* ServletContext.getAttribute("pelletOntModel") * ServletContext.getAttribute("pelletOntModel")
* ServletContext.getAttribute("webappDaoFactory") * ServletContext.getAttribute("webappDaoFactory")
@ -287,8 +286,6 @@ public class ModelAccess {
* JenaDataSourceSetupBase.getApplicationDataSource(ctx) * JenaDataSourceSetupBase.getApplicationDataSource(ctx)
* JenaDataSourceSetupBase.getStartupDataset() * JenaDataSourceSetupBase.getStartupDataset()
* HttpSession.getAttribute("jenaAuditModel") * HttpSession.getAttribute("jenaAuditModel")
* HttpSession.getAttribute("jenaOntModel")
* ServletRequest.getAttribute("jenaOntModel")
* </pre> * </pre>
*/ */

View file

@ -54,7 +54,6 @@ public class JenaBaseDao extends JenaBaseDaoCon {
public static final boolean KEEP_ONLY_IF_TRUE = true; //used for updatePropertyBooleanValue() public static final boolean KEEP_ONLY_IF_TRUE = true; //used for updatePropertyBooleanValue()
public static final boolean KEEP_ONLY_IF_FALSE = false; //used for updatePropertyBooleanValue() public static final boolean KEEP_ONLY_IF_FALSE = false; //used for updatePropertyBooleanValue()
public static final String JENA_ONT_MODEL_ATTRIBUTE_NAME = "jenaOntModel";
public static final String ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME = "baseOntModel"; public static final String ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME = "baseOntModel";
public static final String INFERENCE_ONT_MODEL_ATTRIBUTE_NAME = "inferenceOntModel"; public static final String INFERENCE_ONT_MODEL_ATTRIBUTE_NAME = "inferenceOntModel";

View file

@ -10,7 +10,6 @@ import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.rdf.model.ModelChangedListener;
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException;
import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils;
@ -23,7 +22,6 @@ public class ModelContext {
private static final String BASE_ONT_MODEL_SELECTOR = "baseOntModelSelector"; private static final String BASE_ONT_MODEL_SELECTOR = "baseOntModelSelector";
private static final String INFERENCE_ONT_MODEL_SELECTOR = "inferenceOntModelSelector"; private static final String INFERENCE_ONT_MODEL_SELECTOR = "inferenceOntModelSelector";
private static final String JENA_ONT_MODEL = "jenaOntModel";
private static final String BASE_ONT_MODEL = "baseOntModel"; private static final String BASE_ONT_MODEL = "baseOntModel";
private static final String INFERENCE_ONT_MODEL = "inferenceOntModel"; private static final String INFERENCE_ONT_MODEL = "inferenceOntModel";
@ -61,14 +59,6 @@ public class ModelContext {
ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms); ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
} }
public static OntModel getJenaOntModel(ServletContext ctx) {
return (OntModel) ctx.getAttribute(JENA_ONT_MODEL);
}
public static void setJenaOntModel(OntModel ontModel, ServletContext ctx) {
ctx.setAttribute(JENA_ONT_MODEL, ontModel);
}
public static OntModel getBaseOntModel(ServletContext ctx) { public static OntModel getBaseOntModel(ServletContext ctx) {
return (OntModel) ctx.getAttribute(BASE_ONT_MODEL); return (OntModel) ctx.getAttribute(BASE_ONT_MODEL);
} }

View file

@ -31,6 +31,7 @@ import com.hp.hpl.jena.vocabulary.RDFS;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
@ -494,7 +495,7 @@ public class VClassGroupCache implements IndexingEventListener {
} else if(VitroVocabulary.DISPLAY_RANK.equals(stmt.getPredicate().getURI())){ } else if(VitroVocabulary.DISPLAY_RANK.equals(stmt.getPredicate().getURI())){
requestCacheUpdate(); requestCacheUpdate();
} else { } else {
OntModel jenaOntModel = ModelContext.getJenaOntModel(context); OntModel jenaOntModel = ModelAccess.on(context).getJenaOntModel();
if( isClassNameChange(stmt, jenaOntModel) ) { if( isClassNameChange(stmt, jenaOntModel) ) {
requestCacheUpdate(); requestCacheUpdate();
} }

View file

@ -27,6 +27,7 @@ import com.hp.hpl.jena.util.iterator.ExtendedIterator;
import com.hp.hpl.jena.util.iterator.WrappedIterator; import com.hp.hpl.jena.util.iterator.WrappedIterator;
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase; import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase;
/** /**
@ -311,14 +312,7 @@ public class VitroJenaModelMaker implements ModelMaker {
private Model getSpecialModel(String modelName) { private Model getSpecialModel(String modelName) {
if (request != null) { if (request != null) {
if ("vitro:jenaOntModel".equals(modelName)) { if ("vitro:jenaOntModel".equals(modelName)) {
Object sessionOntModel = request.getSession().getAttribute("jenaOntModel"); return ModelAccess.on(request.getSession()).getJenaOntModel();
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
log.debug("Returning jenaOntModel from session");
return (OntModel) sessionOntModel;
} else {
log.debug("Returning jenaOntModel from context");
return (OntModel) request.getSession().getServletContext().getAttribute("jenaOntModel");
}
} else if ("vitro:baseOntModel".equals(modelName)) { } else if ("vitro:baseOntModel".equals(modelName)) {
Object sessionOntModel = request.getSession().getAttribute("baseOntModel"); Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
if (sessionOntModel != null && sessionOntModel instanceof OntModel) { if (sessionOntModel != null && sessionOntModel instanceof OntModel) {

View file

@ -14,6 +14,8 @@ import com.hp.hpl.jena.rdf.model.ModelMaker;
import com.hp.hpl.jena.rdf.model.ModelReader; import com.hp.hpl.jena.rdf.model.ModelReader;
import com.hp.hpl.jena.util.iterator.ExtendedIterator; import com.hp.hpl.jena.util.iterator.ExtendedIterator;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
/** /**
* Wraps a model maker and returns Models from the servlet context when * Wraps a model maker and returns Models from the servlet context when
* certain model URIs are requested * certain model URIs are requested
@ -115,14 +117,7 @@ public class VitroJenaSpecialModelMaker implements ModelMaker {
private Model getSpecialModel(String modelName) { private Model getSpecialModel(String modelName) {
if (request != null) { if (request != null) {
if ("vitro:jenaOntModel".equals(modelName)) { if ("vitro:jenaOntModel".equals(modelName)) {
Object sessionOntModel = request.getSession().getAttribute("jenaOntModel"); return ModelAccess.on(request.getSession()).getJenaOntModel();
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
log.debug("Returning jenaOntModel from session");
return (OntModel) sessionOntModel;
} else {
log.debug("Returning jenaOntModel from context");
return (OntModel) request.getSession().getServletContext().getAttribute("jenaOntModel");
}
} else if ("vitro:baseOntModel".equals(modelName)) { } else if ("vitro:baseOntModel".equals(modelName)) {
Object sessionOntModel = request.getSession().getAttribute("baseOntModel"); Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
if (sessionOntModel != null && sessionOntModel instanceof OntModel) { if (sessionOntModel != null && sessionOntModel instanceof OntModel) {

View file

@ -107,7 +107,7 @@ public class VitroModelSource implements ModelSource {
private Model getNamedModel( ModelName pmn ){ private Model getNamedModel( ModelName pmn ){
switch( pmn ){ switch( pmn ){
case ABOX: case ABOX:
return (Model) context.getAttribute("jenaOntModel"); return ModelAccess.on(context).getJenaOntModel();
case TBOX: case TBOX:
return (Model) context.getAttribute("tboxmodel???"); return (Model) context.getAttribute("tboxmodel???");
case DISPLAY: case DISPLAY:

View file

@ -14,8 +14,8 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
@ -23,6 +23,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerConfigurationLoader; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerConfigurationLoader;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
@ -189,7 +190,7 @@ public class EditConfigurationUtils {
public static DataPropertyStatement getDataPropertyStatement(VitroRequest vreq, HttpSession session, Integer dataHash, String predicateUri) { public static DataPropertyStatement getDataPropertyStatement(VitroRequest vreq, HttpSession session, Integer dataHash, String predicateUri) {
DataPropertyStatement dps = null; DataPropertyStatement dps = null;
if( dataHash != 0) { if( dataHash != 0) {
Model model = (Model)session.getServletContext().getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel();
dps = RdfLiteralHash.getPropertyStmtByHash(EditConfigurationUtils.getSubjectUri(vreq), predicateUri, dataHash, model); dps = RdfLiteralHash.getPropertyStmtByHash(EditConfigurationUtils.getSubjectUri(vreq), predicateUri, dataHash, model);
} }
return dps; return dps;

View file

@ -4,8 +4,6 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -13,13 +11,11 @@ import org.apache.commons.lang.StringUtils;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.IdModelSelector; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.IdModelSelector;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.ModelSelector;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardModelSelector; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardModelSelector;
import edu.cornell.mannlib.vitro.webapp.filters.VitroRequestPrep;
public abstract class BaseEditConfigurationGenerator implements EditConfigurationGenerator { public abstract class BaseEditConfigurationGenerator implements EditConfigurationGenerator {
@ -66,7 +62,7 @@ public abstract class BaseEditConfigurationGenerator implements EditConfiguratio
//setup the model selectors for query, write and display models on editConfig //setup the model selectors for query, write and display models on editConfig
setupModelSelectorsFromVitroRequest(vreq, editConfig); setupModelSelectorsFromVitroRequest(vreq, editConfig);
OntModel queryModel = vreq.getJenaOntModel(); // (OntModel)vreq.getAttribute("jenaOntModel"); OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel();
if( editConfig.getSubjectUri() == null) if( editConfig.getSubjectUri() == null)
editConfig.setSubjectUri( EditConfigurationUtils.getSubjectUri(vreq)); editConfig.setSubjectUri( EditConfigurationUtils.getSubjectUri(vreq));

View file

@ -14,6 +14,7 @@ import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.Model;
@ -21,6 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
@ -350,7 +352,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
//Here, retrieve model from //Here, retrieve model from
Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel();
//if object property //if object property
if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){ if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){
Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq); Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq);

View file

@ -378,7 +378,7 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene
private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
//Here, retrieve model from //Here, retrieve model from
Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel();
//if object property //if object property
if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){ if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){
Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq); Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq);

View file

@ -33,6 +33,7 @@ import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
@ -207,7 +208,7 @@ public class ManagePageGenerator extends BaseEditConfigurationGenerator implemen
void prepare(VitroRequest vreq, EditConfigurationVTwo editConfig) { void prepare(VitroRequest vreq, EditConfigurationVTwo editConfig) {
//setup the model selectors for query, write and display models on editConfig //setup the model selectors for query, write and display models on editConfig
setupModelSelectorsFromVitroRequest(vreq, editConfig); setupModelSelectorsFromVitroRequest(vreq, editConfig);
OntModel queryModel = (OntModel)vreq.getAttribute("jenaOntModel"); OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel();
if (editConfig.isParamUpdate()) { if (editConfig.isParamUpdate()) {
editConfig.prepareForParamUpdate(queryModel); editConfig.prepareForParamUpdate(queryModel);
@ -224,7 +225,7 @@ public class ManagePageGenerator extends BaseEditConfigurationGenerator implemen
if (editConfig.isParamUpdate()) { if (editConfig.isParamUpdate()) {
//setup the model selectors for query, write and display models on editConfig //setup the model selectors for query, write and display models on editConfig
setupModelSelectorsFromVitroRequest(vreq, editConfig); setupModelSelectorsFromVitroRequest(vreq, editConfig);
OntModel queryModel = (OntModel)vreq.getAttribute("jenaOntModel"); OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel();
retrieveExistingDataGetterInfo(context, editConfig, queryModel); retrieveExistingDataGetterInfo(context, editConfig, queryModel);
} }
@ -589,7 +590,8 @@ private String getExistingIsSelfContainedTemplateQuery() {
int maxMenuPosition = 0; int maxMenuPosition = 0;
Literal menuPosition = null; Literal menuPosition = null;
setupModelSelectorsFromVitroRequest(vreq, editConfig); setupModelSelectorsFromVitroRequest(vreq, editConfig);
OntModel queryModel = (OntModel)vreq.getAttribute("jenaOntModel"); OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel();
String maxMenuPositionQuery = getMaxMenuPositionQueryString(); String maxMenuPositionQuery = getMaxMenuPositionQueryString();
QueryExecution qe = null; QueryExecution qe = null;
try{ try{

View file

@ -10,13 +10,14 @@ import java.util.Map;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
@ -239,7 +240,7 @@ public class NewIndividualFormGenerator implements EditConfigurationGenerator {
private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
//Here, retrieve model from //Here, retrieve model from
Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel();
//This form is always doing a non-update //This form is always doing a non-update
editConfiguration.prepareForNonUpdate( model ); editConfiguration.prepareForNonUpdate( model );

View file

@ -13,6 +13,7 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
@ -21,6 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
@ -297,7 +299,7 @@ public class RDFSLabelGenerator implements EditConfigurationGenerator {
private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
//Here, retrieve model from //Here, retrieve model from
Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel();
if( editConfiguration.isDataPropertyUpdate() ){ if( editConfiguration.isDataPropertyUpdate() ){
editConfiguration.prepareForDataPropUpdate(model, vreq.getWebappDaoFactory().getDataPropertyDao()); editConfiguration.prepareForDataPropUpdate(model, vreq.getWebappDaoFactory().getDataPropertyDao());
} }

View file

@ -41,6 +41,7 @@ import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet; import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.ModelID;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.filtering.WebappDaoFactoryFiltering; import edu.cornell.mannlib.vitro.webapp.dao.filtering.WebappDaoFactoryFiltering;
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.FilterFactory; import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.FilterFactory;
@ -312,7 +313,7 @@ public class VitroRequestPrep implements Filter {
private void setSpecialWriteModel(VitroRequest vreq, OntModel mainOntModel) { private void setSpecialWriteModel(VitroRequest vreq, OntModel mainOntModel) {
if (mainOntModel != null) { if (mainOntModel != null) {
vreq.setAttribute("jenaOntModel", mainOntModel); ModelAccess.on(vreq).setJenaOntModel(mainOntModel);
vreq.setAttribute(SPECIAL_WRITE_MODEL, mainOntModel); vreq.setAttribute(SPECIAL_WRITE_MODEL, mainOntModel);
} }
} }

View file

@ -113,7 +113,7 @@ public class SolrSetup implements javax.servlet.ServletContextListener{
context.setAttribute(SOLR_SERVER, server); context.setAttribute(SOLR_SERVER, server);
/* set up the individual to solr doc translation */ /* set up the individual to solr doc translation */
OntModel jenaOntModel = ModelContext.getJenaOntModel(context); OntModel jenaOntModel = ModelAccess.on(context).getJenaOntModel();
OntModel displayModel = ModelAccess.on(context).getDisplayModel(); OntModel displayModel = ModelAccess.on(context).getDisplayModel();
/* try to get context attribute DocumentModifiers /* try to get context attribute DocumentModifiers

View file

@ -28,6 +28,7 @@ import com.hp.hpl.jena.util.ResourceUtils;
import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDF;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.ModelID;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactoryConfig; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactoryConfig;
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
@ -126,7 +127,7 @@ public class ContentModelSetup extends JenaDataSourceSetupBase
log.info("Setting up DAO factories"); log.info("Setting up DAO factories");
ctx.setAttribute("jenaOntModel", unionFullModel); ModelAccess.on(ctx).setJenaOntModel(unionFullModel);
WebappDaoFactoryConfig config = new WebappDaoFactoryConfig(); WebappDaoFactoryConfig config = new WebappDaoFactoryConfig();
config.setDefaultNamespace(getDefaultNamespace(ctx)); config.setDefaultNamespace(getDefaultNamespace(ctx));

View file

@ -13,15 +13,15 @@ import net.sf.jga.fn.UnaryFunctor;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import edu.cornell.mannlib.vitro.webapp.beans.Property; import edu.cornell.mannlib.vitro.webapp.beans.Property;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.EntityPropertyListFilter; import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.EntityPropertyListFilter;
import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao;
public class PropertyMaskingSetup implements ServletContextListener { public class PropertyMaskingSetup implements ServletContextListener {
private final static String ENTITY_PROPERTY_LIST_FILTER_ATTR_NAME = "entityPropertyListFilter"; private final static String ENTITY_PROPERTY_LIST_FILTER_ATTR_NAME = "entityPropertyListFilter";
public void contextInitialized(ServletContextEvent sce) { public void contextInitialized(ServletContextEvent sce) {
OntModel jenaOntModel = (OntModel) sce.getServletContext().getAttribute(JenaBaseDao.JENA_ONT_MODEL_ATTRIBUTE_NAME); OntModel jenaOntModel = ModelAccess.on(sce.getServletContext()).getJenaOntModel();
sce.getServletContext().setAttribute(ENTITY_PROPERTY_LIST_FILTER_ATTR_NAME, new EntityPropertyListFilter(jenaOntModel)); sce.getServletContext().setAttribute(ENTITY_PROPERTY_LIST_FILTER_ATTR_NAME, new EntityPropertyListFilter(jenaOntModel));
} }