Moved utility methods for parsing query results back to PageDaoJena from JenaBaseDao, because they are not all-purpose at this point.

This commit is contained in:
rjy7 2010-12-08 17:10:37 +00:00
parent cc9f132503
commit 38fef41a12
5 changed files with 64 additions and 70 deletions

View file

@ -948,68 +948,5 @@ public class JenaBaseDao extends JenaBaseDaoCon {
return temp;
}
/* ****************************************************************************** */
/**
* Converts a sparql query that returns a multiple rows to a list of maps.
* The maps will have column names as keys to the values.
*/
protected List<Map<String, Object>> executeQueryToCollection(
QueryExecution qexec) {
List<Map<String, Object>> rv = new ArrayList<Map<String, Object>>();
ResultSet results = qexec.execSelect();
while (results.hasNext()) {
QuerySolution soln = results.nextSolution();
rv.add(querySolutionToMap(soln));
}
return rv;
}
protected Map<String,Object> querySolutionToMap( QuerySolution soln ){
Map<String,Object> map = new HashMap<String,Object>();
Iterator<String> varNames = soln.varNames();
while(varNames.hasNext()){
String varName = varNames.next();
map.put(varName, nodeToObject( soln.get(varName)));
}
return map;
}
static protected Object nodeToObject( RDFNode node ){
if( node == null ){
return "";
}else if( node.isLiteral() ){
Literal literal = node.asLiteral();
return literal.getValue();
}else if( node.isURIResource() ){
Resource resource = node.asResource();
return resource.getURI();
}else if( node.isAnon() ){
Resource resource = node.asResource();
return resource.getId().getLabelString(); //get b-node id
}else{
return "";
}
}
static protected String nodeToString( RDFNode node ){
if( node == null ){
return "";
}else if( node.isLiteral() ){
Literal literal = node.asLiteral();
return literal.getLexicalForm();
}else if( node.isURIResource() ){
Resource resource = node.asResource();
return resource.getURI();
}else if( node.isAnon() ){
Resource resource = node.asResource();
return resource.getId().getLabelString(); //get b-node id
}else{
return "";
}
}
protected Map<String,Object> resultsToMap(){
return null;
}
}

View file

@ -160,6 +160,69 @@ public class PageDaoJena extends JenaBaseDao implements PageDao {
return rv.get(0);
}
/* ****************************************************************************** */
/**
* Converts a sparql query that returns a multiple rows to a list of maps.
* The maps will have column names as keys to the values.
*/
protected List<Map<String, Object>> executeQueryToCollection(
QueryExecution qexec) {
List<Map<String, Object>> rv = new ArrayList<Map<String, Object>>();
ResultSet results = qexec.execSelect();
while (results.hasNext()) {
QuerySolution soln = results.nextSolution();
rv.add(querySolutionToMap(soln));
}
return rv;
}
protected Map<String,Object> querySolutionToMap( QuerySolution soln ){
Map<String,Object> map = new HashMap<String,Object>();
Iterator<String> varNames = soln.varNames();
while(varNames.hasNext()){
String varName = varNames.next();
map.put(varName, nodeToObject( soln.get(varName)));
}
return map;
}
static protected Object nodeToObject( RDFNode node ){
if( node == null ){
return "";
}else if( node.isLiteral() ){
Literal literal = node.asLiteral();
return literal.getValue();
}else if( node.isURIResource() ){
Resource resource = node.asResource();
return resource.getURI();
}else if( node.isAnon() ){
Resource resource = node.asResource();
return resource.getId().getLabelString(); //get b-node id
}else{
return "";
}
}
static protected String nodeToString( RDFNode node ){
if( node == null ){
return "";
}else if( node.isLiteral() ){
Literal literal = node.asLiteral();
return literal.getLexicalForm();
}else if( node.isURIResource() ){
Resource resource = node.asResource();
return resource.getURI();
}else if( node.isAnon() ){
Resource resource = node.asResource();
return resource.getId().getLabelString(); //get b-node id
}else{
return "";
}
}
protected Map<String,Object> resultsToMap(){
return null;
}
}

View file

@ -36,8 +36,7 @@ public class ViewFinder {
// NB this is not the value currently used for custom forms - we use the value on the object property.
// This value is specifiable from the backend editor, however.
FORM("getCustomEntryForm", "form-default.ftl"),
SEARCH("getCustomSearchView", "view-search-default.ftl"),
SHORT("getCustomShortView", "view-short-default.ftl");
SEARCH("getCustomSearchView", "view-search-default.ftl");
private Method method = null;
private String defaultTemplate = null;

View file

@ -109,10 +109,6 @@ public class IndividualTemplateModel extends BaseTemplateModel {
return getView(ClassView.SEARCH);
}
public String getShortView() {
return getView(ClassView.SHORT);
}
public String getDisplayView() {
return getView(ClassView.DISPLAY);
}

View file

@ -4,7 +4,6 @@
<#list property.statements as statement>
<div class="obj-prop-stmt-obj">
<#-- ${statement.object.name} -->
statement ${statement_index +1}
</div> <!-- end obj-prop-stmt-obj -->
</#list>