VIVO-82 Use ModelAccess to get or set the BaseOntModel
a.k.a the Base Full model, or AssertionsModel
This commit is contained in:
parent
6a4c7ba6fc
commit
9b7f6c92e6
13 changed files with 37 additions and 76 deletions
|
@ -191,11 +191,7 @@ public class VitroRequest extends HttpServletRequestWrapper {
|
|||
|
||||
|
||||
public OntModel getAssertionsOntModel() {
|
||||
OntModel jenaOntModel = (OntModel)_req.getSession().getAttribute( JenaBaseDao.ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME );
|
||||
if ( jenaOntModel == null ) {
|
||||
jenaOntModel = (OntModel)_req.getSession().getServletContext().getAttribute( JenaBaseDao.ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME );
|
||||
}
|
||||
return jenaOntModel;
|
||||
return ModelAccess.on(getSession()).getBaseOntModel();
|
||||
}
|
||||
|
||||
public OntModel getInferenceOntModel() {
|
||||
|
|
|
@ -7,7 +7,6 @@ import java.io.UnsupportedEncodingException;
|
|||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
|
||||
import javax.servlet.RequestDispatcher;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
@ -40,7 +39,6 @@ import com.hp.hpl.jena.rdf.model.StmtIterator;
|
|||
import com.hp.hpl.jena.shared.InvalidPropertyURIException;
|
||||
import com.hp.hpl.jena.shared.Lock;
|
||||
import com.hp.hpl.jena.util.ResourceUtils;
|
||||
import com.hp.hpl.jena.util.iterator.ClosableIterator;
|
||||
import com.hp.hpl.jena.util.iterator.ExtendedIterator;
|
||||
import com.hp.hpl.jena.vocabulary.RDF;
|
||||
|
||||
|
@ -50,6 +48,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.jena.ModelContext;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
|
||||
import edu.cornell.mannlib.vitro.webapp.servlet.setup.FileGraphSetup;
|
||||
|
@ -74,7 +73,7 @@ public class RefactorOperationController extends BaseEditController {
|
|||
request.setAttribute("title","Check Datatype Properties");
|
||||
request.setAttribute("css", "<link rel=\"stylesheet\" type=\"text/css\" href=\""+vreq.getAppBean().getThemeDir()+"css/edit.css\"/>");
|
||||
|
||||
OntModel ontModel = (OntModel) getServletContext().getAttribute("baseOntModel");
|
||||
OntModel ontModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
ontModel.enterCriticalSection(Lock.WRITE);
|
||||
ArrayList<String> results = new ArrayList<String>();
|
||||
|
||||
|
@ -330,7 +329,7 @@ public class RefactorOperationController extends BaseEditController {
|
|||
private void doMovePropertyStatements(VitroRequest request, HttpServletResponse response, EditProcessObject epo) {
|
||||
String userURI = LoginStatusBean.getBean(request).getUserURI();
|
||||
|
||||
OntModel ontModel = ModelContext.getBaseOntModel(getServletContext());
|
||||
OntModel ontModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
|
||||
Model tempRetractModel = ModelFactory.createDefaultModel();
|
||||
Model tempAddModel = ModelFactory.createDefaultModel();
|
||||
|
@ -414,7 +413,7 @@ public class RefactorOperationController extends BaseEditController {
|
|||
private void doMoveInstances(VitroRequest request, HttpServletResponse response, EditProcessObject epo) {
|
||||
String userURI = LoginStatusBean.getBean(request).getUserURI();
|
||||
|
||||
OntModel ontModel = ModelContext.getBaseOntModel(getServletContext());
|
||||
OntModel ontModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
|
||||
String oldClassURIStr = (String) epo.getAttribute("VClassURI");
|
||||
String newClassURIStr = (String) request.getParameter("NewVClassURI");
|
||||
|
|
|
@ -94,7 +94,7 @@ public class JenaAdminActions extends BaseEditController {
|
|||
* @param response
|
||||
*/
|
||||
private void outputTbox(HttpServletResponse response) {
|
||||
OntModel memoryModel = (OntModel) getServletContext().getAttribute("baseOntModel");
|
||||
OntModel memoryModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
try {
|
||||
OntModel tempOntModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
|
||||
Property DescriptionProp = ResourceFactory.createProperty(VitroVocabulary.DESCRIPTION_ANNOT);
|
||||
|
@ -306,7 +306,7 @@ public class JenaAdminActions extends BaseEditController {
|
|||
if (actionStr.equals("output")) {
|
||||
OntModel memoryModel = null;
|
||||
if (request.getParameter("assertionsOnly") != null) {
|
||||
memoryModel = (OntModel) getServletContext().getAttribute("baseOntModel");
|
||||
memoryModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
System.out.println("baseOntModel");
|
||||
} else if (request.getParameter("inferences") != null) {
|
||||
memoryModel = (OntModel) getServletContext().getAttribute("inferenceOntModel");
|
||||
|
@ -375,7 +375,7 @@ public class JenaAdminActions extends BaseEditController {
|
|||
ClosableIterator ooIt = persistentModel.listObjects();
|
||||
clean(oIt,persistentModel);
|
||||
} else if (actionStr.equals("outputTaxonomy")) {
|
||||
OntModel ontModel = (OntModel) getServletContext().getAttribute("baseOntModel");
|
||||
OntModel ontModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
Model taxonomyModel = extractTaxonomy(ontModel);
|
||||
try {
|
||||
taxonomyModel.write(response.getOutputStream());
|
||||
|
|
|
@ -283,7 +283,6 @@ public class JenaExportController extends BaseEditController {
|
|||
}
|
||||
}
|
||||
|
||||
static final String ASSERTIONS_ONT_MODEL_ATTR = "baseOntModel";
|
||||
static final String INFERENCES_ONT_MODEL_ATTR = "inferenceOntModel";
|
||||
static final String FULL_GRAPH = "?g";
|
||||
static final String ASSERTIONS_GRAPH = "<http://vitro.mannlib.cornell.edu/default/vitro-kb-2>";
|
||||
|
|
|
@ -661,8 +661,7 @@ public class JenaIngestController extends BaseEditController {
|
|||
/*
|
||||
* get baseOnt and infOnt models
|
||||
*/
|
||||
OntModel baseOntModel = ModelContext.getBaseOntModel(
|
||||
getServletContext());
|
||||
OntModel baseOntModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||
OntModel tboxOntModel = ModelContext.getUnionOntModelSelector(
|
||||
getServletContext()).getTBoxModel();
|
||||
|
||||
|
@ -1314,12 +1313,7 @@ public class JenaIngestController extends BaseEditController {
|
|||
if ("vitro:jenaOntModel".equals(name)) {
|
||||
return ModelAccess.on(request.getSession()).getJenaOntModel();
|
||||
} else if ("vitro:baseOntModel".equals(name)) {
|
||||
Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
|
||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
||||
return (OntModel) sessionOntModel;
|
||||
} else {
|
||||
return (OntModel) context.getAttribute("baseOntModel");
|
||||
}
|
||||
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
||||
} else if ("vitro:inferenceOntModel".equals(name)) {
|
||||
Object sessionOntModel = request.getSession().getAttribute("inferenceOntModel");
|
||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
||||
|
|
|
@ -106,18 +106,14 @@ public class ModelAccess {
|
|||
return getOntModel(ModelID.UNION_FULL);
|
||||
}
|
||||
|
||||
|
||||
// /** Is this the same as Assertions model? */
|
||||
// // public OntModel getBaseOntModel() {
|
||||
// // throw new RuntimeException(
|
||||
// // "ModelAccess.getBaseOntModel not implemented.");
|
||||
// // }
|
||||
//
|
||||
// public OntModel getAssertionsOntModel() {
|
||||
// throw new RuntimeException(
|
||||
// "ModelAccess.getAssertionsOntModel not implemented.");
|
||||
// }
|
||||
//
|
||||
public void setBaseOntModel(OntModel m) {
|
||||
setOntModel(ModelID.BASE_FULL, m);
|
||||
}
|
||||
|
||||
public OntModel getBaseOntModel() {
|
||||
return getOntModel(ModelID.BASE_FULL);
|
||||
}
|
||||
|
||||
// public OntModel getDisplayTboxOntModel() {
|
||||
// throw new RuntimeException(
|
||||
// "ModelAccess.getDisplayTboxOntModel not implemented.");
|
||||
|
@ -233,14 +229,6 @@ public class ModelAccess {
|
|||
* ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
|
||||
* }
|
||||
*
|
||||
* public static OntModel getBaseOntModel(ServletContext ctx) {
|
||||
* return (OntModel) ctx.getAttribute(BASE_ONT_MODEL);
|
||||
* }
|
||||
*
|
||||
* public static void setBaseOntModel(OntModel ontModel, ServletContext ctx) {
|
||||
* ctx.setAttribute(BASE_ONT_MODEL, ontModel);
|
||||
* }
|
||||
*
|
||||
* public static OntModel getInferenceOntModel(ServletContext ctx) {
|
||||
* return (OntModel) ctx.getAttribute(INFERENCE_ONT_MODEL);
|
||||
* }
|
||||
|
|
|
@ -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 ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME = "baseOntModel";
|
||||
public static final String INFERENCE_ONT_MODEL_ATTRIBUTE_NAME = "inferenceOntModel";
|
||||
|
||||
protected static final Log log = LogFactory.getLog(JenaBaseDao.class.getName());
|
||||
|
|
|
@ -22,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 BASE_ONT_MODEL = "baseOntModel";
|
||||
private static final String INFERENCE_ONT_MODEL = "inferenceOntModel";
|
||||
|
||||
public ModelContext() {}
|
||||
|
@ -59,14 +58,6 @@ public class ModelContext {
|
|||
ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
|
||||
}
|
||||
|
||||
public static OntModel getBaseOntModel(ServletContext ctx) {
|
||||
return (OntModel) ctx.getAttribute(BASE_ONT_MODEL);
|
||||
}
|
||||
|
||||
public static void setBaseOntModel(OntModel ontModel, ServletContext ctx) {
|
||||
ctx.setAttribute(BASE_ONT_MODEL, ontModel);
|
||||
}
|
||||
|
||||
public static OntModel getInferenceOntModel(ServletContext ctx) {
|
||||
return (OntModel) ctx.getAttribute(INFERENCE_ONT_MODEL);
|
||||
}
|
||||
|
|
|
@ -314,12 +314,7 @@ public class VitroJenaModelMaker implements ModelMaker {
|
|||
if ("vitro:jenaOntModel".equals(modelName)) {
|
||||
return ModelAccess.on(request.getSession()).getJenaOntModel();
|
||||
} else if ("vitro:baseOntModel".equals(modelName)) {
|
||||
Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
|
||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
||||
return (OntModel) sessionOntModel;
|
||||
} else {
|
||||
return (OntModel) request.getSession().getServletContext().getAttribute("baseOntModel");
|
||||
}
|
||||
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
||||
} else if ("vitro:inferenceOntModel".equals(modelName)) {
|
||||
Object sessionOntModel = request.getSession().getAttribute("inferenceOntModel");
|
||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
||||
|
|
|
@ -119,12 +119,7 @@ public class VitroJenaSpecialModelMaker implements ModelMaker {
|
|||
if ("vitro:jenaOntModel".equals(modelName)) {
|
||||
return ModelAccess.on(request.getSession()).getJenaOntModel();
|
||||
} else if ("vitro:baseOntModel".equals(modelName)) {
|
||||
Object sessionOntModel = request.getSession().getAttribute("baseOntModel");
|
||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
||||
return (OntModel) sessionOntModel;
|
||||
} else {
|
||||
return (OntModel) request.getSession().getServletContext().getAttribute("baseOntModel");
|
||||
}
|
||||
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
||||
} else if ("vitro:inferenceOntModel".equals(modelName)) {
|
||||
Object sessionOntModel = request.getSession().getAttribute("inferenceOntModel");
|
||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
||||
|
|
|
@ -22,6 +22,7 @@ import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
|||
import com.hp.hpl.jena.util.iterator.ExtendedIterator;
|
||||
import com.hp.hpl.jena.vocabulary.RDF;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelSynchronizer;
|
||||
|
||||
/**
|
||||
|
@ -42,14 +43,7 @@ public class AssembleModelsSetup implements ServletContextListener {
|
|||
private String SYNTAX = "N3";
|
||||
|
||||
public void contextInitialized(ServletContextEvent sce) {
|
||||
|
||||
OntModel jenaOntModel = null;
|
||||
try {
|
||||
jenaOntModel = (OntModel) sce.getServletContext().getAttribute("baseOntModel");
|
||||
} catch (Exception e) {
|
||||
log.error("No baseOntModel found to which to attach assembled models");
|
||||
return;
|
||||
}
|
||||
OntModel jenaOntModel = ModelAccess.on(sce.getServletContext()).getBaseOntModel();
|
||||
// read assemblers out of assemblers directory
|
||||
Set pathSet = sce.getServletContext().getResourcePaths(ASSEMBLERS_DIR_PATH);
|
||||
for (String path : (Set<String>)pathSet) {
|
||||
|
|
|
@ -90,8 +90,20 @@ public class ContentModelSetup extends JenaDataSourceSetupBase
|
|||
OntModel baseFullModel = createCombinedBulkUpdatingModel(baseABoxModel, baseTBoxModel);
|
||||
OntModel inferenceFullModel = createCombinedModel(inferenceABoxModel, inferenceTBoxModel);
|
||||
OntModel unionFullModel = ModelFactory.createOntologyModel(DB_ONT_MODEL_SPEC, dataset.getDefaultModel());
|
||||
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.APPLICATION_METADATA, applicationMetadataModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.USER_ACCOUNTS, userAccountsModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.DISPLAY, displayModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.BASE_ABOX, baseABoxModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.BASE_TBOX, baseTBoxModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.BASE_FULL, baseFullModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.INFERRED_ABOX, inferenceABoxModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.INFERRED_TBOX, inferenceTBoxModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.INFERRED_FULL, inferenceFullModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.UNION_ABOX, unionABoxModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.UNION_TBOX, unionTBoxModel);
|
||||
ModelAccess.on(ctx).setOntModel(ModelID.UNION_FULL, unionFullModel);
|
||||
|
||||
ModelContext.setBaseOntModel(baseFullModel, ctx);
|
||||
ModelContext.setInferenceOntModel(inferenceFullModel, ctx);
|
||||
|
||||
checkForNamespaceMismatch( applicationMetadataModel, ctx );
|
||||
|
@ -127,8 +139,6 @@ public class ContentModelSetup extends JenaDataSourceSetupBase
|
|||
|
||||
log.info("Setting up DAO factories");
|
||||
|
||||
ModelAccess.on(ctx).setJenaOntModel(unionFullModel);
|
||||
|
||||
WebappDaoFactoryConfig config = new WebappDaoFactoryConfig();
|
||||
config.setDefaultNamespace(getDefaultNamespace(ctx));
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ import com.hp.hpl.jena.rdf.model.ModelFactory;
|
|||
import com.hp.hpl.jena.rdf.model.Resource;
|
||||
import com.hp.hpl.jena.util.ResourceUtils;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||
|
||||
public class RunSparqlConstructs implements ServletContextListener {
|
||||
|
@ -46,7 +47,7 @@ public class RunSparqlConstructs implements ServletContextListener {
|
|||
String namespace = (wadf != null && wadf.getDefaultNamespace() != null)
|
||||
? wadf.getDefaultNamespace() : DEFAULT_DEFAULT_NAMESPACE;
|
||||
|
||||
OntModel baseOntModel = (OntModel) sce.getServletContext().getAttribute("baseOntModel");
|
||||
OntModel baseOntModel = ModelAccess.on(sce.getServletContext()).getBaseOntModel();
|
||||
Model anonModel = ModelFactory.createDefaultModel();
|
||||
Model namedModel = ModelFactory.createDefaultModel();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue