From 0a15a6df7d0f794c830dccad81bcfa8c839d8ce4 Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 17 May 2013 11:41:47 -0400 Subject: [PATCH] VIVO-82 Use ModelAccess to get or set the JenaOntModel (Union Full model) --- .../vedit/controller/BaseEditController.java | 12 +++++------ .../auth/identifier/common/IsBlacklisted.java | 5 +++-- .../bean/PropertyRestrictionListener.java | 3 ++- .../bean/PropertyRestrictionPolicyHelper.java | 3 ++- .../FedoraDatastreamController.java | 5 +++-- .../webapp/controller/OntologyController.java | 8 ++----- .../vitro/webapp/controller/VitroRequest.java | 13 +++--------- .../webapp/controller/edit/Authenticate.java | 12 ++--------- .../NamespacePrefixOperationController.java | 3 ++- .../jena/NamespacesListingController.java | 3 ++- .../jena/RestrictionsListingController.java | 5 +++-- .../controller/jena/JenaAdminActions.java | 13 ++++++------ .../controller/jena/JenaExportController.java | 1 - .../controller/jena/JenaIngestController.java | 17 ++++++--------- .../mannlib/vitro/webapp/dao/ModelAccess.java | 21 ++++++++----------- .../vitro/webapp/dao/jena/JenaBaseDao.java | 1 - .../vitro/webapp/dao/jena/ModelContext.java | 10 --------- .../webapp/dao/jena/VClassGroupCache.java | 3 ++- .../webapp/dao/jena/VitroJenaModelMaker.java | 10 ++------- .../dao/jena/VitroJenaSpecialModelMaker.java | 11 +++------- .../webapp/dao/jena/VitroModelSource.java | 2 +- .../VTwo/EditConfigurationUtils.java | 5 +++-- .../BaseEditConfigurationGenerator.java | 8 ++----- ...aultAddMissingIndividualFormGenerator.java | 4 +++- .../DefaultObjectPropertyFormGenerator.java | 2 +- .../generators/ManagePageGenerator.java | 8 ++++--- .../NewIndividualFormGenerator.java | 5 +++-- .../generators/RDFSLabelGenerator.java | 4 +++- .../webapp/filters/VitroRequestPrep.java | 3 ++- .../vitro/webapp/search/solr/SolrSetup.java | 2 +- .../servlet/setup/ContentModelSetup.java | 5 +++-- .../servlet/setup/PropertyMaskingSetup.java | 4 ++-- 32 files changed, 88 insertions(+), 123 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vedit/controller/BaseEditController.java b/webapp/src/edu/cornell/mannlib/vedit/controller/BaseEditController.java index b99743132..a62429c70 100644 --- a/webapp/src/edu/cornell/mannlib/vedit/controller/BaseEditController.java +++ b/webapp/src/edu/cornell/mannlib/vedit/controller/BaseEditController.java @@ -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.VitroHttpServlet; 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.jena.ModelContext; @@ -153,14 +154,13 @@ public class BaseEditController extends VitroHttpServlet { } } - protected String MODEL_ATTR_NAME = "jenaOntModel"; - 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; - - try { - ontModel = (OntModel) request.getSession().getAttribute(MODEL_ATTR_NAME); + try { + ontModel = ModelAccess.on(request.getSession()).getJenaOntModel(); } catch (Exception e) { // ignoring any problems here - we're not really expecting // this attribute to be populated anyway diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java index 21ecf1741..ea00f16d7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java @@ -16,18 +16,19 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; 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.QueryExecution; import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; -import com.hp.hpl.jena.rdf.model.Model; 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.IdentifierBundle; import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; /** * The current user is blacklisted for this reason. @@ -152,7 +153,7 @@ public class IsBlacklisted extends AbstractCommonIdentifier implements return NOT_BLACKLISTED; } - Model model = (Model) context.getAttribute("jenaOntModel"); + OntModel model = ModelAccess.on(context).getJenaOntModel(); queryString = queryString.replaceAll("\\?individualURI", "<" + ind.getURI() + ">"); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java index 6afeb27b0..e617a6f53 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java @@ -13,6 +13,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.listener.ChangeListener; import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel; 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 @@ -90,7 +91,7 @@ public class PropertyRestrictionListener implements ChangeListener { } private void createAndSetBean() { - OntModel model = (OntModel) ctx.getAttribute("jenaOntModel"); + OntModel model = ModelAccess.on(ctx).getJenaOntModel(); PropertyRestrictionPolicyHelper bean = PropertyRestrictionPolicyHelper .createBean(model); PropertyRestrictionPolicyHelper.setBean(ctx, bean); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionPolicyHelper.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionPolicyHelper.java index 68ee18b04..f6bf31603 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionPolicyHelper.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionPolicyHelper.java @@ -26,6 +26,7 @@ import com.hp.hpl.jena.rdf.model.impl.Util; import com.hp.hpl.jena.shared.Lock; 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.startup.StartupStatus; @@ -344,7 +345,7 @@ public class PropertyRestrictionPolicyHelper { StartupStatus ss = StartupStatus.getBean(ctx); try { - OntModel model = (OntModel) ctx.getAttribute("jenaOntModel"); + OntModel model = ModelAccess.on(ctx).getJenaOntModel(); if (model == null) { throw new NullPointerException( "jenaOntModel has not been initialized."); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java index db59e7174..93def6de3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java @@ -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.config.ConfigurationProperties; 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.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest; @@ -101,7 +102,7 @@ public class FedoraDatastreamController extends VitroHttpServlet implements Cons log.debug("In doGet"); VitroRequest vreq = new VitroRequest(req); - OntModel sessionOntModel = (OntModel)vreq.getSession().getAttribute("jenaOntModel"); + OntModel sessionOntModel = ModelAccess.on(vreq.getSession()).getJenaOntModel(); synchronized (FedoraDatastreamController.class) { if( fedoraUrl == null ){ @@ -231,7 +232,7 @@ public class FedoraDatastreamController extends VitroHttpServlet implements Cons } //check if fedora is on line - OntModel sessionOntModel = (OntModel)rawRequest.getSession().getAttribute("jenaOntModel"); + OntModel sessionOntModel = ModelAccess.on(rawRequest.getSession()).getJenaOntModel(); synchronized (FedoraDatastreamController.class) { if( fedoraUrl == null ){ setup( sessionOntModel, getServletContext() ); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java index 6d85141e2..0e961c262 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java @@ -27,6 +27,7 @@ import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.shared.Lock; 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.web.ContentType; @@ -127,12 +128,7 @@ public class OntologyController extends VitroHttpServlet{ String url = ontology; - OntModel ontModel = null; - HttpSession session = vreq.getSession(false); - if( session != null ) - ontModel =(OntModel)session.getAttribute("jenaOntModel"); - if( ontModel == null) - ontModel = (OntModel)getServletContext().getAttribute("jenaOntModel"); + OntModel ontModel = ModelAccess.on(vreq.getSession()).getJenaOntModel(); boolean found = false; Model newModel = ModelFactory.createDefaultModel(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java index 5085e2a68..9bb1d583d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java @@ -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.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.jena.JenaBaseDao; import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector; @@ -107,7 +108,7 @@ public class VitroRequest extends HttpServletRequestWrapper { } public void setJenaOntModel(OntModel ontModel) { - setAttribute("jenaOntModel", ontModel); + ModelAccess.on(this).setJenaOntModel(ontModel); } public void setOntModelSelector(OntModelSelector oms) { @@ -176,15 +177,7 @@ public class VitroRequest extends HttpServletRequestWrapper { public OntModel getJenaOntModel() { - Object ontModel = getAttribute("jenaOntModel"); - 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; + return ModelAccess.on(this).getJenaOntModel(); } public OntModelSelector getOntModelSelector() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java index df1e5bbca..46af53601 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java @@ -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.Message; 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; public class Authenticate extends VitroHttpServlet { @@ -557,16 +558,7 @@ public class Authenticate extends VitroHttpServlet { return; } - OntModel jenaOntModel = (OntModel) session.getAttribute("jenaOntModel"); - 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; - } - + OntModel jenaOntModel = ModelAccess.on(session).getJenaOntModel(); jenaOntModel.getBaseModel().notifyEvent(event); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java index 50e60642b..2015b88e5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java @@ -24,6 +24,7 @@ import edu.cornell.mannlib.vedit.beans.EditProcessObject; import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; public class NamespacePrefixOperationController extends BaseEditController { @@ -68,7 +69,7 @@ public class NamespacePrefixOperationController extends BaseEditController { if (request.getParameter("_cancel") == null) { - OntModel ontModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); + OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel(); String namespaceStr = request.getParameter("namespace"); String prefixStr = request.getParameter("prefix"); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java index dda705e85..70845da91 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java @@ -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.controller.Controllers; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; public class NamespacesListingController extends BaseEditController { @@ -34,7 +35,7 @@ public class NamespacesListingController extends BaseEditController { VitroRequest vrequest = new VitroRequest(request); - OntModel ontModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); + OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel(); ArrayList results = new ArrayList(); request.setAttribute("results",results); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java index 1788dc42c..80dc8262f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java @@ -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.VitroRequest; 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.VClassDao; @@ -51,8 +52,8 @@ public class RestrictionsListingController extends BaseEditController { epo = super.createEpo(request); - OntModel ontModel = (OntModel) getServletContext().getAttribute("jenaOntModel"); - + OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel(); + ObjectPropertyDao opDao = vrequest.getFullWebappDaoFactory().getObjectPropertyDao(); VClassDao vcDao = vrequest.getFullWebappDaoFactory().getVClassDao(); IndividualDao iDao = vrequest.getFullWebappDaoFactory().getIndividualDao(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java index 90d2398b1..498d4ccb3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java @@ -47,6 +47,7 @@ import com.hp.hpl.jena.vocabulary.RDFS; import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; public class JenaAdminActions extends BaseEditController { @@ -171,7 +172,7 @@ public class JenaAdminActions extends BaseEditController { private String testWriteXML() { StringBuffer output = new StringBuffer(); output.append("Test Write XML
\n");
-		Model model = (Model) getServletContext().getAttribute("jenaOntModel");
+		OntModel model = ModelAccess.on(getServletContext()).getJenaOntModel();
 		Model tmp = ModelFactory.createDefaultModel();
 		boolean valid = true;
 		for (Statement stmt : ((List)model.listStatements().toList()) ) {
@@ -230,7 +231,7 @@ public class JenaAdminActions extends BaseEditController {
     }
     
     private void removeLongLiterals() {
-    	OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+		OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
     	memoryModel.enterCriticalSection(Lock.WRITE);
     	try {
     		List statementsToRemove = new LinkedList();
@@ -273,7 +274,7 @@ public class JenaAdminActions extends BaseEditController {
 		}
         
         if (actionStr.equals("checkURIs")) { 
-        	OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+    		OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
         	ClosableIterator stmtIt = memoryModel.listStatements();
         	try {
 	        	for (Iterator i = stmtIt; i.hasNext(); ) {
@@ -314,7 +315,7 @@ public class JenaAdminActions extends BaseEditController {
 	    	memoryModel = (OntModel) getServletContext().getAttribute("pelletOntModel");
 	    	System.out.println("pelletOntModel");
 	    } else {
-	    	memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+			memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
 	    	System.out.println("jenaOntModel");
 	    }  
 	    int subModelCount = 0;
@@ -340,7 +341,7 @@ public class JenaAdminActions extends BaseEditController {
         }
         
         if (actionStr.equals("isIsomorphic")) {
-            OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+    		OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
             OntModel persistentModel = (OntModel) getServletContext().getAttribute("jenaPersistentOntModel");
             if ((memoryModel != null) && (persistentModel != null)) {
                 long startTime = System.currentTimeMillis();
@@ -363,7 +364,7 @@ public class JenaAdminActions extends BaseEditController {
                 log.trace((System.currentTimeMillis()-startTime)/1000+" seconds to check isomorphism");
             }
         } else if (actionStr.equals("removeUntypedResources")) {
-            OntModel memoryModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+    		OntModel memoryModel = ModelAccess.on(getServletContext()).getJenaOntModel();
             OntModel persistentModel = (OntModel) getServletContext().getAttribute("jenaPersistentOntModel");
             ClosableIterator rIt = memoryModel.listSubjects();
             clean(rIt,memoryModel);
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java
index ab666c61f..2a1eff9d8 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java
@@ -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 INFERENCES_ONT_MODEL_ATTR = "inferenceOntModel";
 	static final String FULL_GRAPH = "?g";
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java
index ea0b70cb2..80e7eaf0c 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java
@@ -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.controller.Controllers;
 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.jena.ModelContext;
 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("bodyJsp", WORKFLOW_STEP_JSP);
         } else {
-            OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+    		OntModel jenaOntModel = ModelAccess.on(getServletContext()).getJenaOntModel();
             jenaOntModel.enterCriticalSection(Lock.READ);
             List savedQueryList = new LinkedList();
             try {
@@ -537,7 +538,7 @@ public class JenaIngestController extends BaseEditController {
     
     private void processExecuteSparqlRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
         String sparqlQueryStr = vreq.getParameter("sparqlQueryStr");
-        OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+		OntModel jenaOntModel = ModelAccess.on(getServletContext()).getJenaOntModel();
         jenaOntModel.enterCriticalSection(Lock.READ);
         List savedQueryList = new LinkedList();
         try {
@@ -910,7 +911,7 @@ public class JenaIngestController extends BaseEditController {
     }
     
     private long doExecuteSparql(VitroRequest vreq) {
-        OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
+		OntModel jenaOntModel = ModelAccess.on(getServletContext()).getJenaOntModel();
         OntModel source = null;
         if ("pellet".equals(vreq.getParameter("reasoning"))) {
             source = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
@@ -1193,8 +1194,7 @@ public class JenaIngestController extends BaseEditController {
             Model baseOntModel = RDFServiceGraph.createRDFServiceModel
                     (new RDFServiceGraph(
                             rdfService, JenaDataSourceSetupBase.JENA_DB_MODEL));
-            OntModel ontModel = (OntModel)
-            getServletContext().getAttribute("jenaOntModel");
+    		OntModel ontModel = ModelAccess.on(getServletContext()).getJenaOntModel();
             List urisToChange = new LinkedList();        
             ontModel.enterCriticalSection(Lock.READ);
             try {
@@ -1312,12 +1312,7 @@ public class JenaIngestController extends BaseEditController {
 
     public static Model getModel(String name, HttpServletRequest request, ServletContext context) {
         if ("vitro:jenaOntModel".equals(name)) {
-            Object sessionOntModel = request.getSession().getAttribute("jenaOntModel");
-            if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
-                return (OntModel) sessionOntModel;
-            } else {
-                return (OntModel) context.getAttribute("jenaOntModel");
-            }
+            return ModelAccess.on(request.getSession()).getJenaOntModel();
         } else if ("vitro:baseOntModel".equals(name)) {
             Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
             if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ModelAccess.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ModelAccess.java
index 552e91f3a..3f1adb728 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ModelAccess.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ModelAccess.java
@@ -98,6 +98,15 @@ public class ModelAccess {
 		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? */
 	// // public OntModel getBaseOntModel() {
 	// // throw new RuntimeException(
@@ -224,14 +233,6 @@ public class ModelAccess {
 	 * 		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) {
 	 * 		return (OntModel) ctx.getAttribute(BASE_ONT_MODEL);
 	 * 	}
@@ -255,7 +256,6 @@ public class ModelAccess {
 	 * VitroRequest.getAssertionsWebappDaoFactory()
 	 * VitroRequest.getDeductionsWebappDaoFactory()
 	 * VitroRequest.getFullWebappDaoFactory()
-	 * VitroRequest.getJenaOntModel()
 	 * VitroRequest.getRDFService()
 	 * VitroRequest.getUnfilteredRDFService()
 	 * VitroRequest.getWebappDaoFactory()
@@ -278,7 +278,6 @@ public class ModelAccess {
 	 * VitroModelSource.openModelIfPresent(string)
 	 * ServletContext.getAttribute("assertionsWebappDaoFactory")
 	 * ServletContext.getAttribute("baseOntModelSelector")
-	 * ServletContext.getAttribute("jenaOntModel")
 	 * ServletContext.getAttribute("jenaPersistentOntModel")
 	 * ServletContext.getAttribute("pelletOntModel")
 	 * ServletContext.getAttribute("webappDaoFactory")
@@ -287,8 +286,6 @@ public class ModelAccess {
 	 * JenaDataSourceSetupBase.getApplicationDataSource(ctx)
 	 * JenaDataSourceSetupBase.getStartupDataset()
 	 * HttpSession.getAttribute("jenaAuditModel")
-	 * HttpSession.getAttribute("jenaOntModel")
-	 * ServletRequest.getAttribute("jenaOntModel")
 	 * 
*/ diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java index bec886cd9..1f0f08c25 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java @@ -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_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 INFERENCE_ONT_MODEL_ATTRIBUTE_NAME = "inferenceOntModel"; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java index 4b9036a1f..79bf35a1a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java @@ -10,7 +10,6 @@ import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.ontology.OntModel; 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.impl.RDFServiceUtils; @@ -23,7 +22,6 @@ public class ModelContext { private static final String BASE_ONT_MODEL_SELECTOR = "baseOntModelSelector"; 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 INFERENCE_ONT_MODEL = "inferenceOntModel"; @@ -61,14 +59,6 @@ public class ModelContext { 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) { return (OntModel) ctx.getAttribute(BASE_ONT_MODEL); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java index 40e0eaddd..d585ae2c3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java @@ -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.VClassGroup; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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())){ requestCacheUpdate(); } else { - OntModel jenaOntModel = ModelContext.getJenaOntModel(context); + OntModel jenaOntModel = ModelAccess.on(context).getJenaOntModel(); if( isClassNameChange(stmt, jenaOntModel) ) { requestCacheUpdate(); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaModelMaker.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaModelMaker.java index d2ed5b30f..53e5dcdbf 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaModelMaker.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaModelMaker.java @@ -27,6 +27,7 @@ import com.hp.hpl.jena.util.iterator.ExtendedIterator; import com.hp.hpl.jena.util.iterator.WrappedIterator; 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; /** @@ -311,14 +312,7 @@ public class VitroJenaModelMaker implements ModelMaker { private Model getSpecialModel(String modelName) { if (request != null) { if ("vitro:jenaOntModel".equals(modelName)) { - Object sessionOntModel = request.getSession().getAttribute("jenaOntModel"); - 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"); - } + return ModelAccess.on(request.getSession()).getJenaOntModel(); } else if ("vitro:baseOntModel".equals(modelName)) { Object sessionOntModel = request.getSession().getAttribute("baseOntModel"); if (sessionOntModel != null && sessionOntModel instanceof OntModel) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSpecialModelMaker.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSpecialModelMaker.java index 1feb261f9..af676ff5a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSpecialModelMaker.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSpecialModelMaker.java @@ -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.util.iterator.ExtendedIterator; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; + /** * Wraps a model maker and returns Models from the servlet context when * certain model URIs are requested @@ -115,14 +117,7 @@ public class VitroJenaSpecialModelMaker implements ModelMaker { private Model getSpecialModel(String modelName) { if (request != null) { if ("vitro:jenaOntModel".equals(modelName)) { - Object sessionOntModel = request.getSession().getAttribute("jenaOntModel"); - 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"); - } + return ModelAccess.on(request.getSession()).getJenaOntModel(); } else if ("vitro:baseOntModel".equals(modelName)) { Object sessionOntModel = request.getSession().getAttribute("baseOntModel"); if (sessionOntModel != null && sessionOntModel instanceof OntModel) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java index 183b8860c..4ca09b10c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java @@ -107,7 +107,7 @@ public class VitroModelSource implements ModelSource { private Model getNamedModel( ModelName pmn ){ switch( pmn ){ case ABOX: - return (Model) context.getAttribute("jenaOntModel"); + return ModelAccess.on(context).getJenaOntModel(); case TBOX: return (Model) context.getAttribute("tboxmodel???"); case DISPLAY: diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java index a88aa24b4..896d2518b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java @@ -14,8 +14,8 @@ import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; 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.Model; import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; 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.controller.VitroRequest; 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.WebappDaoFactory; 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) { DataPropertyStatement dps = null; 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); } return dps; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java index 80adcecd0..0599081bd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java @@ -4,8 +4,6 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators import java.util.ArrayList; import java.util.List; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang.StringUtils; @@ -13,13 +11,11 @@ import org.apache.commons.lang.StringUtils; import com.hp.hpl.jena.ontology.OntModel; 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.EditConfigurationVTwo; 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.filters.VitroRequestPrep; 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 setupModelSelectorsFromVitroRequest(vreq, editConfig); - OntModel queryModel = vreq.getJenaOntModel(); // (OntModel)vreq.getAttribute("jenaOntModel"); + OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel(); if( editConfig.getSubjectUri() == null) editConfig.setSubjectUri( EditConfigurationUtils.getSubjectUri(vreq)); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java index ca2f7b74a..6b24a1825 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java @@ -14,6 +14,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; 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.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.VClass; 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.edit.n3editing.VTwo.EditConfigurationUtils; 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) { //Here, retrieve model from - Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); + OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel(); //if object property if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){ Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java index e253cd13f..e8d497d97 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java @@ -378,7 +378,7 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { //Here, retrieve model from - Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); + OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel(); //if object property if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){ Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java index 225d086ed..6517520fd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java @@ -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.freemarker.UrlBuilder; 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.EditConfigurationVTwo; 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) { //setup the model selectors for query, write and display models on editConfig setupModelSelectorsFromVitroRequest(vreq, editConfig); - OntModel queryModel = (OntModel)vreq.getAttribute("jenaOntModel"); + OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel(); if (editConfig.isParamUpdate()) { editConfig.prepareForParamUpdate(queryModel); @@ -224,7 +225,7 @@ public class ManagePageGenerator extends BaseEditConfigurationGenerator implemen if (editConfig.isParamUpdate()) { //setup the model selectors for query, write and display models on editConfig setupModelSelectorsFromVitroRequest(vreq, editConfig); - OntModel queryModel = (OntModel)vreq.getAttribute("jenaOntModel"); + OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel(); retrieveExistingDataGetterInfo(context, editConfig, queryModel); } @@ -589,7 +590,8 @@ private String getExistingIsSelfContainedTemplateQuery() { int maxMenuPosition = 0; Literal menuPosition = null; setupModelSelectorsFromVitroRequest(vreq, editConfig); - OntModel queryModel = (OntModel)vreq.getAttribute("jenaOntModel"); + OntModel queryModel = ModelAccess.on(vreq).getJenaOntModel(); + String maxMenuPositionQuery = getMaxMenuPositionQueryString(); QueryExecution qe = null; try{ diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java index 0c0adcdde..ba5b640ab 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java @@ -10,13 +10,14 @@ import java.util.Map; 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.Model; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.beans.VClass; 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.edit.n3editing.VTwo.EditConfigurationUtils; 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) { //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 editConfiguration.prepareForNonUpdate( model ); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java index 764f2f7b4..7dc24a5be 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java @@ -13,6 +13,7 @@ import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; 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.Model; 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.Individual; 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.edit.n3editing.VTwo.EditConfigurationUtils; 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) { //Here, retrieve model from - Model model = (Model) session.getServletContext().getAttribute("jenaOntModel"); + OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel(); if( editConfiguration.isDataPropertyUpdate() ){ editConfiguration.prepareForDataPropUpdate(model, vreq.getWebappDaoFactory().getDataPropertyDao()); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java index b1217ab08..30b8590d5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroRequestPrep.java @@ -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.VitroRequest; 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.filtering.WebappDaoFactoryFiltering; 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) { if (mainOntModel != null) { - vreq.setAttribute("jenaOntModel", mainOntModel); + ModelAccess.on(vreq).setJenaOntModel(mainOntModel); vreq.setAttribute(SPECIAL_WRITE_MODEL, mainOntModel); } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SolrSetup.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SolrSetup.java index bbdb2d02e..7d6de3e01 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SolrSetup.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SolrSetup.java @@ -113,7 +113,7 @@ public class SolrSetup implements javax.servlet.ServletContextListener{ context.setAttribute(SOLR_SERVER, server); /* 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(); /* try to get context attribute DocumentModifiers diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java index ae2a3391f..0712228b5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java @@ -28,6 +28,7 @@ import com.hp.hpl.jena.util.ResourceUtils; import com.hp.hpl.jena.vocabulary.RDF; 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.WebappDaoFactoryConfig; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; @@ -125,8 +126,8 @@ public class ContentModelSetup extends JenaDataSourceSetupBase ModelContext.setInferenceOntModelSelector(inferenceOms, ctx); // inferences log.info("Setting up DAO factories"); - - ctx.setAttribute("jenaOntModel", unionFullModel); + + ModelAccess.on(ctx).setJenaOntModel(unionFullModel); WebappDaoFactoryConfig config = new WebappDaoFactoryConfig(); config.setDefaultNamespace(getDefaultNamespace(ctx)); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java index ebba991b6..2687af6fa 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java @@ -13,15 +13,15 @@ import net.sf.jga.fn.UnaryFunctor; import com.hp.hpl.jena.ontology.OntModel; 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.jena.JenaBaseDao; public class PropertyMaskingSetup implements ServletContextListener { private final static String ENTITY_PROPERTY_LIST_FILTER_ATTR_NAME = "entityPropertyListFilter"; 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)); }