NIHVIVO-3516 fixed merge tool so it doesn't strand triples in a graph named with SDB's union URI

This commit is contained in:
brianjlowe 2011-12-16 17:20:10 +00:00
parent f3d6e33a01
commit 2bdb44685f
3 changed files with 814 additions and 791 deletions

View file

@ -80,6 +80,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetup; import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetup;
import edu.cornell.mannlib.vitro.webapp.utils.SparqlQueryUtils; import edu.cornell.mannlib.vitro.webapp.utils.SparqlQueryUtils;
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils;
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils.MergeResult;
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestWorkflowProcessor; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestWorkflowProcessor;
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaOutputUtils; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaOutputUtils;
import edu.cornell.mannlib.vitro.webapp.utils.jena.WorkflowOntology; import edu.cornell.mannlib.vitro.webapp.utils.jena.WorkflowOntology;
@ -621,23 +622,25 @@ public class JenaIngestController extends BaseEditController {
if(uri1!=null){ if(uri1!=null){
JenaIngestUtils utils = new JenaIngestUtils(); JenaIngestUtils utils = new JenaIngestUtils();
/* /*
* get baseOnt, Ont and infOnt models * get baseOnt and infOnt models
*/ */
OntModel baseOntModel = (OntModel) getServletContext().getAttribute("baseOntModel"); OntModel baseOntModel = ModelContext.getBaseOntModel(
OntModel ontModel = (OntModel) getServletContext());
getServletContext().getAttribute("jenaOntModel"); OntModel tboxOntModel = ModelContext.getUnionOntModelSelector(
OntModel infOntModel = (OntModel) getServletContext()).getTBoxModel();
getServletContext().getAttribute(JenaBaseDao.INFERENCE_ONT_MODEL_ATTRIBUTE_NAME);
/* /*
* calling method that does the merge operation. * calling method that does the merge operation.
*/ */
String result = utils.doMerge(uri1,uri2,baseOntModel,ontModel,infOntModel,usePrimaryLabelOnly); MergeResult result = utils.doMerge(
vreq.getSession().setAttribute("leftoverModel", utils.getLeftOverModel()); uri1, uri2, baseOntModel, tboxOntModel, usePrimaryLabelOnly);
vreq.setAttribute("result",result);
vreq.setAttribute("title","Merge Resources"); vreq.getSession().setAttribute(
vreq.setAttribute("bodyJsp",MERGE_RESULT); "leftoverModel", result.getLeftoverModel());
} vreq.setAttribute("result", result);
else{ vreq.setAttribute("title", "Merge Resources");
vreq.setAttribute("bodyJsp", MERGE_RESULT);
} else{
vreq.setAttribute("title","Merge Resources"); vreq.setAttribute("title","Merge Resources");
vreq.setAttribute("bodyJsp",MERGE_RESOURCES); vreq.setAttribute("bodyJsp",MERGE_RESOURCES);
} }
@ -1192,7 +1195,7 @@ public class JenaIngestController extends BaseEditController {
ontModel.leaveCriticalSection(); ontModel.leaveCriticalSection();
} }
if(!namespacePresent){ if(!namespacePresent){
result = "0 resource renamed"; result = "no resources renamed";
return result; return result;
} }
for( String oldURIStr : urisToChange){ for( String oldURIStr : urisToChange){

View file

@ -1,5 +1,6 @@
<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> <%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%>
<%@page import="edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils.MergeResult"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@taglib prefix="vitro" uri="/WEB-INF/tlds/VitroUtils.tld" %> <%@taglib prefix="vitro" uri="/WEB-INF/tlds/VitroUtils.tld" %>
@ -11,8 +12,13 @@
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Merge Individuals</h2> <h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Merge Individuals</h2>
<%String result = (String) request.getAttribute("result");%> <%
MergeResult resultObj = (MergeResult) request.getAttribute("result");
String result = resultObj.getResultText();
%>
<p><b><%=result%></b></p> <p><b><%=result%></b></p>
<%if(!result.equals("resource 1 not present") && !result.equals("resource 2 not present")){ <%if(!result.equals("resource 1 not present") && !result.equals("resource 2 not present")){
if(!result.equals("No statements merged") && !result.endsWith("statements.")){%> if(!result.equals("No statements merged") && !result.endsWith("statements.")){%>
<p>Download non-mergeable statements.</p> <p>Download non-mergeable statements.</p>