diff --git a/webapp/config/web.xml b/webapp/config/web.xml index 8e7f69fa4..1cc4d26d2 100644 --- a/webapp/config/web.xml +++ b/webapp/config/web.xml @@ -108,10 +108,11 @@ + diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java index ed5d24314..d8078c4b9 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryServlet.java @@ -24,6 +24,7 @@ import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModelSpec; import com.hp.hpl.jena.query.DataSource; +import com.hp.hpl.jena.query.Dataset; import com.hp.hpl.jena.query.DatasetFactory; import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QueryExecution; @@ -57,9 +58,11 @@ import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao; public class SparqlQueryServlet extends BaseEditController { private static final Log log = LogFactory.getLog(SparqlQueryServlet.class.getName()); + private static final String kb2 = "http://vitro.mannlib.cornell.edu/default/vitro-kb-2"; protected static final Syntax SYNTAX = Syntax.syntaxARQ; + protected static HashMapformatSymbols = new HashMap(); static{ formatSymbols.put( ResultSetFormat.syntaxXML.getSymbol(), ResultSetFormat.syntaxXML); @@ -141,6 +144,7 @@ public class SparqlQueryServlet extends BaseEditController { } DataSource dataSource = DatasetFactory.create() ; + Dataset dataset = null; ModelMaker maker = (ModelMaker) getServletContext().getAttribute("vitroJenaModelMaker"); boolean someModelSet = false; @@ -156,21 +160,27 @@ public class SparqlQueryServlet extends BaseEditController { ontModel.addSubModel(modelNamed); someModelSet = true; } - } + } + if (someModelSet) { + dataSource.setDefaultModel(ontModel); } + } - if( ! someModelSet ) - dataSource.setDefaultModel(model) ; - - executeQuery(request, response, resultFormatParam, rdfResultFormatParam, queryParam, dataSource); + if( ! someModelSet ){ + dataset = vreq.getDataset(); + if(dataset==null){ + dataSource.setDefaultModel(model) ; + } + } + executeQuery(request, response, resultFormatParam, rdfResultFormatParam, queryParam, (dataset != null) ? dataset : dataSource); return; } private void executeQuery(HttpServletRequest req, - HttpServletResponse response, String resultFormatParam, String rdfResultFormatParam, String queryParam, DataSource dataSource ) throws IOException { + HttpServletResponse response, String resultFormatParam, String rdfResultFormatParam, String queryParam, Dataset dataset ) throws IOException { ResultSetFormat rsf = null; /* BJL23 2008-11-06 @@ -188,7 +198,7 @@ public class SparqlQueryServlet extends BaseEditController { QueryExecution qe = null; try{ Query query = QueryFactory.create(queryParam, SYNTAX); - qe = QueryExecutionFactory.create(query, dataSource); + qe = QueryExecutionFactory.create(query, dataset); if( query.isSelectType() ){ ResultSet results = null; results = qe.execSelect(); 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 74e8e4a00..7c0f508fc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java @@ -19,6 +19,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.query.Dataset; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.Portal; @@ -68,14 +69,31 @@ public class VitroRequest implements HttpServletRequest { return (WebappDaoFactory) getAttribute("webappDaoFactory"); } + public void setFullWebappDaoFactory(WebappDaoFactory wdf) { + setAttribute("fullWebappDaoFactory", wdf); + } + + public Dataset getDataset() { + return (Dataset) getAttribute("dataset"); + } + + public void setDataset(Dataset dataset) { + setAttribute("dataset", dataset); + } + /** gets assertions + inferences WebappDaoFactory with no filtering **/ public WebappDaoFactory getFullWebappDaoFactory() { - Object webappDaoFactoryAttr = _req.getSession().getAttribute("webappDaoFactory"); - if (webappDaoFactoryAttr instanceof WebappDaoFactory) { - return (WebappDaoFactory) webappDaoFactoryAttr; - } else { - return (WebappDaoFactory) _req.getSession().getServletContext().getAttribute("webappDaoFactory"); - } + Object webappDaoFactoryAttr = _req.getAttribute("fullWebappDaoFactory"); + if (webappDaoFactoryAttr instanceof WebappDaoFactory) { + return (WebappDaoFactory) webappDaoFactoryAttr; + } else { + webappDaoFactoryAttr = _req.getSession().getAttribute("webappDaoFactory"); + if (webappDaoFactoryAttr instanceof WebappDaoFactory) { + return (WebappDaoFactory) webappDaoFactoryAttr; + } else { + return (WebappDaoFactory) _req.getSession().getServletContext().getAttribute("webappDaoFactory"); + } + } } /** gets assertions-only WebappDaoFactory with no filtering */ diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java index 97db38126..d0f1d3373 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java @@ -5,6 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.controller.edit; import java.text.CollationKey; import java.util.ArrayList; import java.util.Collection; +import java.text.Collator; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -12,6 +14,7 @@ import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.TreeMap; +import java.util.ListIterator; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; @@ -73,9 +76,8 @@ public class Properties2PropertiesRetryController extends BaseEditController { Collections.sort(propList); - String superpropertyURIstr = request.getParameter("SuperpropertyURI"); - String subpropertyURIstr = request.getParameter("SubpropertyURI"); - + String superpropertyURIstr = request.getParameter("SuperpropertyURI"); + String subpropertyURIstr = request.getParameter("SubpropertyURI"); HashMap hashMap = new HashMap(); List