Updates for page management
This commit is contained in:
parent
918451f294
commit
a31b91bddd
15 changed files with 292 additions and 33 deletions
|
@ -130,11 +130,14 @@ public class DisplayVocabulary {
|
||||||
|
|
||||||
public static final String HOME_MENU_ITEM = DISPLAY_NS + "HomeMenuItem";
|
public static final String HOME_MENU_ITEM = DISPLAY_NS + "HomeMenuItem";
|
||||||
|
|
||||||
/* some URIs of properties used with the SPARQL DataGetter */
|
/* some URIs of properties used with the SPARQL DataGetter, and save to var is saved for fixedHtml */
|
||||||
public static final String SAVE_TO_VAR = DISPLAY_NS + "saveToVar" ;
|
public static final String SAVE_TO_VAR = DISPLAY_NS + "saveToVar" ;
|
||||||
public static final String QUERY_MODEL = DISPLAY_NS + "queryModel";
|
public static final String QUERY_MODEL = DISPLAY_NS + "queryModel";
|
||||||
public static final String QUERY = DISPLAY_NS + "query";
|
public static final String QUERY = DISPLAY_NS + "query";
|
||||||
|
|
||||||
|
/* URI of property for Fixed HTML Generator */
|
||||||
|
public static final String FIXED_HTML_VALUE = DISPLAY_NS + "htmlValue";
|
||||||
|
|
||||||
//public static final Individual EVENTS = m_model.createIndividual( NS + "Events", PAGE );
|
//public static final Individual EVENTS = m_model.createIndividual( NS + "Events", PAGE );
|
||||||
|
|
||||||
//public static final Individual EVENTS_MENU_ITEM = m_model.createIndividual( NS + "EventsMenuItem", NAVIGATION_ELEMENT );
|
//public static final Individual EVENTS_MENU_ITEM = m_model.createIndividual( NS + "EventsMenuItem", NAVIGATION_ELEMENT );
|
||||||
|
|
|
@ -13,6 +13,7 @@ import javax.servlet.http.HttpSession;
|
||||||
import com.hp.hpl.jena.ontology.OntModel;
|
import com.hp.hpl.jena.ontology.OntModel;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
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.DisplayVocabulary;
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
|
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.EditConfigurationVTwo;
|
||||||
|
@ -154,7 +155,7 @@ public class ManagePageGenerator extends BaseEditConfigurationGenerator implemen
|
||||||
//For the case of a new page
|
//For the case of a new page
|
||||||
if(subjectUri == null) {
|
if(subjectUri == null) {
|
||||||
//Once added, return to pageList
|
//Once added, return to pageList
|
||||||
editConfiguration.setUrlToReturnTo("/pageList");
|
editConfiguration.setUrlToReturnTo(UrlBuilder.getUrl("/pageList"));
|
||||||
editConfiguration.setEntityToReturnTo("?page");
|
editConfiguration.setEntityToReturnTo("?page");
|
||||||
editConfiguration.setPredicateUri(predicateUri);
|
editConfiguration.setPredicateUri(predicateUri);
|
||||||
|
|
||||||
|
|
|
@ -180,10 +180,7 @@ public class ManagePagePreprocessor extends
|
||||||
|
|
||||||
uriValuesSubmission = uriValues.toArray(uriValuesSubmission);
|
uriValuesSubmission = uriValues.toArray(uriValuesSubmission);
|
||||||
//This adds literal, connecting the field with the value
|
//This adds literal, connecting the field with the value
|
||||||
submission.addLiteralToForm(editConfiguration,
|
submission.addUriToForm(editConfiguration, submissionUriName, uriValuesSubmission);
|
||||||
editConfiguration.getField(submissionUriName),
|
|
||||||
submissionUriName,
|
|
||||||
uriValuesSubmission);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//this needs to be different
|
//this needs to be different
|
||||||
|
|
|
@ -18,7 +18,7 @@ import net.sf.json.JSONSerializer;
|
||||||
//Returns the appropriate n3 based on data getter
|
//Returns the appropriate n3 based on data getter
|
||||||
public class ProcessClassGroupDataGetterN3 extends ProcessDataGetterAbstract {
|
public class ProcessClassGroupDataGetterN3 extends ProcessDataGetterAbstract {
|
||||||
private static String classType = "java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData";
|
private static String classType = "java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData";
|
||||||
|
private static String classGroupVarBase = "classGroup";
|
||||||
public ProcessClassGroupDataGetterN3(){
|
public ProcessClassGroupDataGetterN3(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -27,18 +27,28 @@ public class ProcessClassGroupDataGetterN3 extends ProcessDataGetterAbstract {
|
||||||
//TODO: ensure correct model returned
|
//TODO: ensure correct model returned
|
||||||
//We shouldn't use the ACTUAL values here but generate the n3 required
|
//We shouldn't use the ACTUAL values here but generate the n3 required
|
||||||
public List<String> retrieveN3Required(int counter) {
|
public List<String> retrieveN3Required(int counter) {
|
||||||
String dataGetterVar = getDataGetterVar(counter);
|
return this.retrieveN3ForTypeAndClassGroup(counter);
|
||||||
String n3 = dataGetterVar + " a <" + classType + ">; \n" +
|
|
||||||
"<" + DisplayVocabulary.FOR_CLASSGROUP + "> ?classGroup .";
|
|
||||||
List<String> requiredList = new ArrayList<String>();
|
|
||||||
requiredList.add(getPrefixes() + n3);
|
|
||||||
return requiredList;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
public List<String> retrieveN3Optional(int counter) {
|
public List<String> retrieveN3Optional(int counter) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> retrieveN3ForTypeAndClassGroup(int counter) {
|
||||||
|
String n3ForType = this.getN3ForTypePartial(counter);
|
||||||
|
String n3 = n3ForType +"; \n" +
|
||||||
|
"<" + DisplayVocabulary.FOR_CLASSGROUP + "> " + getN3VarName(classGroupVarBase, counter) + " .";
|
||||||
|
List<String> n3List = new ArrayList<String>();
|
||||||
|
n3List.add(getPrefixes() + n3);
|
||||||
|
return n3List;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getN3ForTypePartial(int counter) {
|
||||||
|
String dataGetterVar = getDataGetterVar(counter);
|
||||||
|
String n3 = dataGetterVar + " a <" + getClassType() + ">";
|
||||||
|
return n3;
|
||||||
|
}
|
||||||
|
|
||||||
//These methods will return the literals and uris expected within the n3
|
//These methods will return the literals and uris expected within the n3
|
||||||
//and the counter is used to ensure they are numbered correctly
|
//and the counter is used to ensure they are numbered correctly
|
||||||
|
|
||||||
|
@ -75,6 +85,10 @@ public class ProcessClassGroupDataGetterN3 extends ProcessDataGetterAbstract {
|
||||||
return Arrays.asList("classGroup");
|
return Arrays.asList("classGroup");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//This class can be extended so returning type here
|
||||||
|
public String getClassType() {
|
||||||
|
return classType;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
|
||||||
//Returns the appropriate n3 based on data getter
|
//Returns the appropriate n3 based on data getter
|
||||||
|
|
||||||
public interface ProcessDataGetterN3 {
|
public interface ProcessDataGetterN3 {
|
||||||
public List<String> retrieveN3Required(int counter);
|
public List<String> retrieveN3Required(int counter);
|
||||||
public List<String> retrieveN3Optional(int counter);
|
public List<String> retrieveN3Optional(int counter);
|
||||||
public List<String >retrieveLiteralsOnForm(int counter);
|
public List<String >retrieveLiteralsOnForm(int counter);
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,8 @@ public class ProcessDataGetterN3Utils {
|
||||||
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessSparqlDataGetterN3");
|
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessSparqlDataGetterN3");
|
||||||
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessClassGroupDataGetterN3");
|
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessClassGroupDataGetterN3");
|
||||||
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessIndividualsForClassesDataGetterN3");
|
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessIndividualsForClassesDataGetterN3");
|
||||||
|
map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.FixedHTMLDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessFixedHTMLN3");
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,13 +58,15 @@ public class ProcessDataGetterN3Utils {
|
||||||
ProcessDataGetterN3 pn = null;
|
ProcessDataGetterN3 pn = null;
|
||||||
try {
|
try {
|
||||||
Class<?> clz = Class.forName(processorClass);
|
Class<?> clz = Class.forName(processorClass);
|
||||||
Constructor<?> ct = clz.getConstructor();
|
Constructor<?>[] ctList = clz.getConstructors();
|
||||||
Class<?>[] parameterTypes =ct.getParameterTypes();
|
for (Constructor<?> ct: ctList) {
|
||||||
if(parameterTypes.length > 0 && parameterTypes[0].isAssignableFrom(jsonObject.getClass())) {
|
Class<?>[] parameterTypes =ct.getParameterTypes();
|
||||||
pn = (ProcessDataGetterN3) ct.newInstance(jsonObject);
|
if(parameterTypes.length > 0 && parameterTypes[0].isAssignableFrom(jsonObject.getClass())) {
|
||||||
} else {
|
pn = (ProcessDataGetterN3) ct.newInstance(jsonObject);
|
||||||
pn = (ProcessDataGetterN3) ct.newInstance();
|
} else {
|
||||||
}
|
pn = (ProcessDataGetterN3) ct.newInstance();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} catch(Exception ex) {
|
} catch(Exception ex) {
|
||||||
log.error("Error occurred instantiating " + processorClass, ex);
|
log.error("Error occurred instantiating " + processorClass, ex);
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.hp.hpl.jena.rdf.model.Literal;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
|
||||||
|
|
||||||
|
import net.sf.json.JSONObject;
|
||||||
|
import net.sf.json.JSONSerializer;
|
||||||
|
//Returns the appropriate n3 based on data getter
|
||||||
|
public class ProcessFixedHTMLN3 extends ProcessDataGetterAbstract {
|
||||||
|
private static String classType = "java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.FixedHTMLDataGetter";
|
||||||
|
|
||||||
|
public ProcessFixedHTMLN3(){
|
||||||
|
|
||||||
|
}
|
||||||
|
//Pass in variable that represents the counter
|
||||||
|
|
||||||
|
//TODO: ensure correct model returned
|
||||||
|
//We shouldn't use the ACTUAL values here but generate the n3 required
|
||||||
|
public List<String> retrieveN3Required(int counter) {
|
||||||
|
String dataGetterVar = getDataGetterVar(counter);
|
||||||
|
String n3 = dataGetterVar + " a <" + classType + ">; \n" +
|
||||||
|
"display:saveToVar " + getN3VarName("saveToVar", counter) + "; \n" +
|
||||||
|
"display:htmlValue " + getN3VarName("htmlValue", counter) + " .";
|
||||||
|
List<String> requiredList = new ArrayList<String>();
|
||||||
|
requiredList.add(getPrefixes() + n3);
|
||||||
|
return requiredList;
|
||||||
|
|
||||||
|
}
|
||||||
|
public List<String> retrieveN3Optional(int counter) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<String> retrieveLiteralsOnForm(int counter) {
|
||||||
|
List<String> literalsOnForm = new ArrayList<String>();
|
||||||
|
literalsOnForm.add(getVarName("saveToVar",counter));
|
||||||
|
literalsOnForm.add(getVarName("htmlValue", counter));
|
||||||
|
return literalsOnForm;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<String> retrieveUrisOnForm(int counter) {
|
||||||
|
List<String> urisOnForm = new ArrayList<String>();
|
||||||
|
return urisOnForm;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<FieldVTwo> retrieveFields(int counter) {
|
||||||
|
List<FieldVTwo> fields = new ArrayList<FieldVTwo>();
|
||||||
|
|
||||||
|
//fields.add(new FieldVTwo().setName(getVarName("dataGetter", counter)));
|
||||||
|
fields.add(new FieldVTwo().setName(getVarName("saveToVar", counter)));
|
||||||
|
fields.add(new FieldVTwo().setName(getVarName("htmlValue", counter)));
|
||||||
|
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getLiteralVarNamesBase() {
|
||||||
|
return Arrays.asList("saveToVar", "htmlValue");
|
||||||
|
}
|
||||||
|
|
||||||
|
//these are for the fields ON the form
|
||||||
|
public List<String> getUriVarNamesBase() {
|
||||||
|
return Arrays.asList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,12 +36,20 @@ public class ProcessIndividualsForClassesDataGetterN3 extends ProcessClassGroup
|
||||||
//TODO: ensure correct model returned
|
//TODO: ensure correct model returned
|
||||||
//We shouldn't use the ACTUAL values here but generate the n3 required
|
//We shouldn't use the ACTUAL values here but generate the n3 required
|
||||||
public List<String> retrieveN3Required(int counter) {
|
public List<String> retrieveN3Required(int counter) {
|
||||||
List<String> classGroupN3 = super.retrieveN3Required(counter);
|
|
||||||
|
List<String> classGroupN3 = this.retrieveN3ForTypeAndClassGroup(counter);
|
||||||
classGroupN3.addAll(this.addIndividualClassesN3(counter));
|
classGroupN3.addAll(this.addIndividualClassesN3(counter));
|
||||||
return classGroupN3;
|
return classGroupN3;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@Override
|
||||||
|
public String getN3ForTypePartial(int counter) {
|
||||||
|
String dataGetterVar = getDataGetterVar(counter);
|
||||||
|
String n3 = dataGetterVar + " a <" + getClassType() + ">";
|
||||||
|
return n3;
|
||||||
|
}*/
|
||||||
|
|
||||||
private List<String> addIndividualClassesN3(int counter) {
|
private List<String> addIndividualClassesN3(int counter) {
|
||||||
List<String> classN3 = new ArrayList<String>();
|
List<String> classN3 = new ArrayList<String>();
|
||||||
|
@ -126,6 +134,11 @@ public class ProcessIndividualsForClassesDataGetterN3 extends ProcessClassGroup
|
||||||
public List<String> getUriVarNamesBase() {
|
public List<String> getUriVarNamesBase() {
|
||||||
return Arrays.asList("classGroup", individualClassVarNameBase);
|
return Arrays.asList("classGroup", individualClassVarNameBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getClassType() {
|
||||||
|
return classType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,128 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.utils.dataGetter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
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.QuerySolutionMap;
|
||||||
|
import com.hp.hpl.jena.query.ResultSet;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Literal;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Model;
|
||||||
|
import com.hp.hpl.jena.rdf.model.RDFNode;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Resource;
|
||||||
|
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
||||||
|
import com.hp.hpl.jena.shared.Lock;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
|
||||||
|
public class FixedHTMLDataGetter extends DataGetterBase implements DataGetter{
|
||||||
|
String dataGetterURI;
|
||||||
|
String htmlValue;
|
||||||
|
String saveToVar;
|
||||||
|
VitroRequest vreq;
|
||||||
|
ServletContext context;
|
||||||
|
private final static String defaultTemplate = "menupage--defaultFixedHtml.ftl";
|
||||||
|
|
||||||
|
final static Log log = LogFactory.getLog(FixedHTMLDataGetter.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor with display model and data getter URI that will be called by reflection.
|
||||||
|
*/
|
||||||
|
public FixedHTMLDataGetter(VitroRequest vreq, Model displayModel, String dataGetterURI){
|
||||||
|
this.configure(vreq, displayModel,dataGetterURI);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> getData(Map<String, Object> pageData) {
|
||||||
|
Map<String, Object> rmap = new HashMap<String,Object>();
|
||||||
|
rmap.put("variableName", this.saveToVar);
|
||||||
|
rmap.put(this.saveToVar, this.htmlValue);
|
||||||
|
//this is the default template set here - overridden by page level template if there is one
|
||||||
|
rmap.put("bodyTemplate", defaultTemplate);
|
||||||
|
return rmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure this instance based on the URI and display model.
|
||||||
|
*/
|
||||||
|
protected void configure(VitroRequest vreq, Model displayModel, String dataGetterURI) {
|
||||||
|
if( vreq == null )
|
||||||
|
throw new IllegalArgumentException("VitroRequest may not be null.");
|
||||||
|
if( displayModel == null )
|
||||||
|
throw new IllegalArgumentException("Display Model may not be null.");
|
||||||
|
if( dataGetterURI == null )
|
||||||
|
throw new IllegalArgumentException("PageUri may not be null.");
|
||||||
|
|
||||||
|
this.vreq = vreq;
|
||||||
|
this.context = vreq.getSession().getServletContext();
|
||||||
|
this.dataGetterURI = dataGetterURI;
|
||||||
|
|
||||||
|
QuerySolutionMap initBindings = new QuerySolutionMap();
|
||||||
|
initBindings.add("dataGetterURI", ResourceFactory.createResource(this.dataGetterURI));
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
Query dataGetterConfigurationQuery = QueryFactory.create(dataGetterQuery) ;
|
||||||
|
displayModel.enterCriticalSection(Lock.READ);
|
||||||
|
try{
|
||||||
|
QueryExecution qexec = QueryExecutionFactory.create(
|
||||||
|
dataGetterConfigurationQuery, displayModel, initBindings) ;
|
||||||
|
ResultSet res = qexec.execSelect();
|
||||||
|
try{
|
||||||
|
while( res.hasNext() ){
|
||||||
|
count++;
|
||||||
|
QuerySolution soln = res.next();
|
||||||
|
|
||||||
|
// is NOT OPTIONAL
|
||||||
|
Literal value = soln.getLiteral("htmlValue");
|
||||||
|
if( dataGetterConfigurationQuery == null )
|
||||||
|
log.error("no html value defined for page " + this.dataGetterURI);
|
||||||
|
else
|
||||||
|
this.htmlValue = value.getLexicalForm();
|
||||||
|
|
||||||
|
|
||||||
|
//saveToVar is OPTIONAL
|
||||||
|
Literal saveTo = soln.getLiteral("saveToVar");
|
||||||
|
if( saveTo != null && saveTo.isLiteral() ){
|
||||||
|
this.saveToVar = saveTo.asLiteral().getLexicalForm();
|
||||||
|
}else{
|
||||||
|
this.saveToVar = defaultVarNameForResults;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}finally{ qexec.close(); }
|
||||||
|
}finally{ displayModel.leaveCriticalSection(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static final String saveToVarPropertyURI= "<" + DisplayVocabulary.SAVE_TO_VAR+ ">";
|
||||||
|
private static final String htmlValuePropertyURI= "<" + DisplayVocabulary.FIXED_HTML_VALUE+ ">";
|
||||||
|
|
||||||
|
public static final String defaultVarNameForResults = "results";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query to get the definition of the SparqlDataGetter for a given URI.
|
||||||
|
*/
|
||||||
|
private static final String dataGetterQuery =
|
||||||
|
"PREFIX display: <" + DisplayVocabulary.DISPLAY_NS +"> \n" +
|
||||||
|
"SELECT ?saveToVar ?htmlValue WHERE { \n" +
|
||||||
|
" ?dataGetterURI "+saveToVarPropertyURI+" ?saveToVar . \n" +
|
||||||
|
" ?dataGetterURI "+htmlValuePropertyURI+" ?htmlValue . \n" +
|
||||||
|
"}";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -112,7 +112,10 @@ owl:versionInfo
|
||||||
a owl:DatatypeProperty.
|
a owl:DatatypeProperty.
|
||||||
|
|
||||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#queryModel>
|
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#queryModel>
|
||||||
a owl:DatatypeProperty.
|
a owl:DatatypeProperty.
|
||||||
|
|
||||||
|
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#htmlValue>
|
||||||
|
a owl:DatatypeProperty.
|
||||||
|
|
||||||
######### Object Properties#########
|
######### Object Properties#########
|
||||||
###Basic
|
###Basic
|
||||||
|
|
|
@ -221,8 +221,8 @@ var pageManagementUtils = {
|
||||||
pageManagementUtils.createPageContentForSubmission();
|
pageManagementUtils.createPageContentForSubmission();
|
||||||
//return true;
|
//return true;
|
||||||
//For testing, not submitting anything
|
//For testing, not submitting anything
|
||||||
event.preventDefault();
|
//event.preventDefault();
|
||||||
return false;
|
return true;
|
||||||
} else{
|
} else{
|
||||||
|
|
||||||
$('#error-alert').removeClass('hidden');
|
$('#error-alert').removeClass('hidden');
|
||||||
|
@ -261,9 +261,9 @@ var pageManagementUtils = {
|
||||||
//Clone the object, renaming ids and copying text area values as well
|
//Clone the object, renaming ids and copying text area values as well
|
||||||
$newContentObj = pageManagementUtils.createCloneObject(contentType, counter);
|
$newContentObj = pageManagementUtils.createCloneObject(contentType, counter);
|
||||||
|
|
||||||
if ( contentType == "fixedHTML" || contentType == "sparqlQuery") {
|
if ( contentType == "sparqlQuery" || contentType == "fixedHtml") {
|
||||||
varOrClass = $newContentObj.find('input#saveToVar').val();
|
varOrClass = $newContentObj.find('input[name="saveToVar"]').val();
|
||||||
}
|
}
|
||||||
else if ( contentType == "browseClassGroup" ) {
|
else if ( contentType == "browseClassGroup" ) {
|
||||||
$newContentObj.find('section#classesInSelectedGroup' + counter).removeClass('hidden');
|
$newContentObj.find('section#classesInSelectedGroup' + counter).removeClass('hidden');
|
||||||
varOrClass = $newContentObj.find('select#selectClassGroup' + counter + ' option:selected').text();
|
varOrClass = $newContentObj.find('select#selectClassGroup' + counter + ' option:selected').text();
|
||||||
|
|
|
@ -12,7 +12,7 @@ var processClassGroupDataGetterContent = {
|
||||||
processPageContentSection:function(pageContentSection) {
|
processPageContentSection:function(pageContentSection) {
|
||||||
//Will look at classes etc.
|
//Will look at classes etc.
|
||||||
var classGroup = pageContentSection.find("select[name='selectClassGroup']").val();
|
var classGroup = pageContentSection.find("select[name='selectClassGroup']").val();
|
||||||
//query model should also be an input
|
//query model should also be an input, ensure class group URI is saved as URI and not string
|
||||||
var returnObject = {classGroup:classGroup, dataGetterClass:this.dataGetterClass};
|
var returnObject = {classGroup:classGroup, dataGetterClass:this.dataGetterClass};
|
||||||
return returnObject;
|
return returnObject;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,10 +9,10 @@ var processFixedHTMLDataGetterContent = {
|
||||||
},
|
},
|
||||||
//requires variable and text area
|
//requires variable and text area
|
||||||
processPageContentSection:function(pageContentSection) {
|
processPageContentSection:function(pageContentSection) {
|
||||||
var variableValue = pageContentSection.find("input[name='variable']").val();
|
var saveToVarValue = pageContentSection.find("input[name='saveToVar']").val();
|
||||||
var queryValue = pageContentSection.find("textarea[name='textArea']").val();
|
var htmlValue = pageContentSection.find("textarea[name='htmlValue']").val();
|
||||||
//query model should also be an input
|
//query model should also be an input
|
||||||
var returnObject = {saveToVar:variableValue, query:queryValue, dataGetterClass:this.dataGetterClass, queryModel:"vitro:contextDisplayModel"};
|
var returnObject = {saveToVar:saveToVarValue, htmlValue:htmlValue, dataGetterClass:this.dataGetterClass};
|
||||||
return returnObject;
|
return returnObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ var processIndividualsForClassesDataGetterContent = {
|
||||||
//Get classes selected
|
//Get classes selected
|
||||||
var classesSelected = [];
|
var classesSelected = [];
|
||||||
pageContentSection.find("input[name='classInClassGroup']:checked").each(function(){
|
pageContentSection.find("input[name='classInClassGroup']:checked").each(function(){
|
||||||
|
//Need to make sure that the class is also saved as a URI
|
||||||
classesSelected.push($(this).val());
|
classesSelected.push($(this).val());
|
||||||
});
|
});
|
||||||
var returnObject = {classGroup:classGroup, classesSelectedInClassGroup:classesSelected, dataGetterClass:this.dataGetterClass};
|
var returnObject = {classGroup:classGroup, classesSelectedInClassGroup:classesSelected, dataGetterClass:this.dataGetterClass};
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
|
<#--Save to variable indicated in generator -->
|
||||||
|
|
||||||
|
<#assign htmlExists = false/>
|
||||||
|
<#if variableName?has_content>
|
||||||
|
<#assign htmlExists = true />
|
||||||
|
</#if>
|
||||||
|
<#if htmlExists>
|
||||||
|
${variableName}
|
||||||
|
<#else>
|
||||||
|
No HTML specified.
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue