From 2214336f65c3b084c5be5b35ae15dba25193c92d Mon Sep 17 00:00:00 2001 From: manolobevia Date: Mon, 9 Jan 2012 20:51:39 +0000 Subject: [PATCH] NIHVIVO-3530: Removed custom forms jsp files from VITRO --- .../edit/forms/autoCompleteDatapropForm.jsp | 181 ------------ .../edit/forms/autoCompleteObjPropForm.jsp | 194 ------------- webapp/web/edit/forms/datapropStmtDelete.jsp | 119 -------- .../web/edit/forms/dateTimeIntervalForm.jsp | 265 ------------------ webapp/web/edit/forms/dateTimeValueForm.jsp | 190 ------------- .../forms/defaultAddMissingIndividualForm.jsp | 250 ----------------- webapp/web/edit/forms/defaultDatapropForm.jsp | 176 ------------ webapp/web/edit/forms/defaultObjPropForm.jsp | 223 --------------- webapp/web/edit/forms/newIndividualForm.jsp | 136 --------- webapp/web/edit/forms/propDelete.jsp | 155 ---------- webapp/web/edit/forms/rdfsLabelForm.jsp | 189 ------------- 11 files changed, 2078 deletions(-) delete mode 100644 webapp/web/edit/forms/autoCompleteDatapropForm.jsp delete mode 100644 webapp/web/edit/forms/autoCompleteObjPropForm.jsp delete mode 100644 webapp/web/edit/forms/datapropStmtDelete.jsp delete mode 100644 webapp/web/edit/forms/dateTimeIntervalForm.jsp delete mode 100644 webapp/web/edit/forms/dateTimeValueForm.jsp delete mode 100644 webapp/web/edit/forms/defaultAddMissingIndividualForm.jsp delete mode 100644 webapp/web/edit/forms/defaultDatapropForm.jsp delete mode 100644 webapp/web/edit/forms/defaultObjPropForm.jsp delete mode 100644 webapp/web/edit/forms/newIndividualForm.jsp delete mode 100644 webapp/web/edit/forms/propDelete.jsp delete mode 100644 webapp/web/edit/forms/rdfsLabelForm.jsp diff --git a/webapp/web/edit/forms/autoCompleteDatapropForm.jsp b/webapp/web/edit/forms/autoCompleteDatapropForm.jsp deleted file mode 100644 index 5c88164fd..000000000 --- a/webapp/web/edit/forms/autoCompleteDatapropForm.jsp +++ /dev/null @@ -1,181 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataProperty" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> - -<% - org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("edu.cornell.mannlib.vitro.jsp.edit.forms.autoCompleteDatapropForm.jsp"); - log.debug("Starting autoCompleteDatapropForm.jsp"); - - String subjectUri = request.getParameter("subjectUri"); - String predicateUri = request.getParameter("predicateUri"); - - DataPropertyStatement dps = (DataPropertyStatement)request.getAttribute("dataprop"); - - String datapropKeyStr = request.getParameter("datapropKey"); - int dataHash=0; - - DataProperty prop = (DataProperty)request.getAttribute("predicate"); - if( prop == null ) throw new Error("In autoCompleteDatapropForm.jsp, could not find predicate " + predicateUri); - request.setAttribute("propertyName",prop.getPublicName()); - - Individual subject = (Individual)request.getAttribute("subject"); - if( subject == null ) throw new Error("In autoCompleteDatapropForm.jsp, could not find subject " + subjectUri); - request.setAttribute("subjectName",subject.getName()); - - String rangeDatatypeUri = prop.getRangeDatatypeURI(); - request.setAttribute("rangeDatatypeUriJson", MiscWebUtils.escape(rangeDatatypeUri)); - - if( dps != null ){ - try { - dataHash = Integer.parseInt(datapropKeyStr); - log.debug("dataHash is " + dataHash); - } catch (NumberFormatException ex) { - log.debug("could not parse dataprop hash "+ - "but there was a dataproperty; hash: '"+datapropKeyStr+"'"); - } - - String rangeDatatype = dps.getDatatypeURI(); - if( rangeDatatype == null ){ - log.debug("no range datatype uri set on data property statement when property's range datatype is "+prop.getRangeDatatypeURI()+" in autoCompleteDatapropForm.jsp"); - request.setAttribute("rangeDatatypeUriJson",""); - }else{ - log.debug("range datatype uri of ["+rangeDatatype+"] on data property statement in autoCompleteDatapropForm.jsp"); - request.setAttribute("rangeDatatypeUriJson",rangeDatatype); - } - String rangeLang = dps.getLanguage(); - if( rangeLang == null ) { - log.debug("no language attribute on data property statement in autoCompleteDatapropForm.jsp"); - request.setAttribute("rangeLangJson",""); - }else{ - log.debug("language attribute of ["+rangeLang+"] on data property statement in autoCompleteDatapropForm.jsp"); - request.setAttribute("rangeLangJson", rangeLang); - } - } else { - log.error("No incoming dataproperty statement attribute in autoCompleteDatapropForm.jsp"); - } -%> - - - - ?subject ?predicate ?${dataLiteral}. - - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "datapropKey" : "<%=datapropKeyStr==null?"":datapropKeyStr%>", - "urlPatternToReturnTo" : "/entity", - - "subject" : ["subject", "${subjectUriJson}" ], - "predicate" : ["predicate", "${predicateUriJson}"], - "object" : ["${dataLiteral}","","DATAPROPHASH"], - - "n3required" : ["${n3ForEdit}"], - "n3optional" : [ ], - "newResources" : { }, - "urisInScope" : { }, - "literalsInScope" : { }, - "urisOnForm" : [ ], - "literalsOnForm" : ["${dataLiteral}"], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, - "optionsForFields" : { }, - "fields" : { "${dataLiteral}" : { - "newResource" : "false", - "validators" : ["nonempty"], - "optionsType" : "STRINGS_VIA_DATATYPE_PROPERTY", - "literalOptions" : [], - "predicateUri" : "${predicateUriJson}", - "objectClassUri" : "", - "rangeDatatypeUri" : "${rangeDatatypeUriJson}" , - "rangeLang" : "${rangeLangJson}", - "assertions" : ["${n3ForEdit}"] - } - } - } - - -<% - if( log.isDebugEnabled()) log.debug(request.getAttribute("editjson")); - - EditConfiguration editConfig = new EditConfiguration((String)request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig, session); - - String formTitle =""; // dont add local page variables to the request - String submitLabel =""; - - if( datapropKeyStr != null && datapropKeyStr.trim().length() > 0 ) { - Model model = (Model)application.getAttribute("jenaOntModel"); - editConfig.prepareForDataPropUpdate(model,dps); - formTitle = "Change text for: "+prop.getPublicName()+""; - submitLabel = "Save change"; - } else { - formTitle = "Add new entry for: "+prop.getPublicName()+""; - submitLabel = "Save entry"; - } -%> - - - - - - -

JSP form, must be removed for the 1.4!

- - - -

<%=formTitle%>

-
" > - -

${predicate.publicDescription}

-
- - - - - - - diff --git a/webapp/web/edit/forms/autoCompleteObjPropForm.jsp b/webapp/web/edit/forms/autoCompleteObjPropForm.jsp deleted file mode 100644 index 208c3368a..000000000 --- a/webapp/web/edit/forms/autoCompleteObjPropForm.jsp +++ /dev/null @@ -1,194 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.VClass" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration" %> -<%@ page import="org.apache.commons.logging.Log" %> -<%@ page import="org.apache.commons.logging.LogFactory" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> -<%! - public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.autoCompleteObjPropForm.jsp"); -%> -<% - log.warn("Starting autoCompleteObjPropForm.jsp"); - Individual subject = (Individual)request.getAttribute("subject"); - ObjectProperty prop = (ObjectProperty)request.getAttribute("predicate"); - - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - if( prop.getRangeVClassURI() == null ) { - log.debug("Property has null for its range class URI"); - // If property has no explicit range, we will use e.g. owl:Thing. - // Typically an allValuesFrom restriction will come into play later. - VClass top = wdf.getVClassDao().getTopConcept(); - prop.setRangeVClassURI(top.getURI()); - log.debug("Using "+prop.getRangeVClassURI()); - } - - VClass rangeClass = wdf.getVClassDao().getVClassByURI( prop.getRangeVClassURI()); - if( rangeClass == null ) log.debug("Cannot find class for range for property. Looking for " + prop.getRangeVClassURI() ); -%> - - - PREFIX owl: - SELECT ?inverse_property - WHERE { - ?inverse_property owl:inverseOf ?predicate - } - - - - - - ?subject ?predicate ?${objectVar}. - - - - ?${objectVar} ?inverseProp ?subject. - - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "urlPatternToReturnTo" : "/entity", - - "subject" : [ "subject", "${subjectUriJson}" ] , - "predicate" : [ "predicate", "${predicateUriJson}" ], - "object" : [ "${objectVar}" , "${objectUriJson}" , "URI"], - - "n3required" : [ "${n3ForEdit}" ], - "n3optional" : [ "${n3Inverse}" ], - "newResources" : { }, - - "urisInScope" : { }, - "literalsInScope" : { }, - - "urisOnForm" : ["${objectVar}"], - "literalsOnForm" : [ ], - "filesOnForm" : [ ], - - "sparqlForLiterals" : { }, - "sparqlForUris" : {"inverseProp" : "${queryForInverse}" }, - - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, - "fields" : { "${objectVar}" : { - "newResource" : "false", - "queryForExisting" : { }, - "validators" : [ ], - "optionsType" : "INDIVIDUALS_VIA_OBJECT_PROPERTY", - "subjectUri" : "${subjectUriJson}", - "subjectClassUri" : "", - "predicateUri" : "${predicateUriJson}", - "objectClassUri" : "", - "rangeDatatypeUri" : "", - "rangeLang" : "", - "literalOptions" : [ ] , - "assertions" : ["${n3ForEdit}"] - } - } - } - - -<% /* now put edit configuration Json object into session */ - EditConfiguration editConfig = new EditConfiguration((String)request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig, session); - String formTitle =""; - String submitLabel =""; - Model model = (Model)application.getAttribute("jenaOntModel"); - if( request.getAttribute("object") != null ){//this block is for an edit of an existing object property statement - editConfig.prepareForObjPropUpdate( model ); - formTitle = "Change entry for: "+prop.getDomainPublic()+""; - submitLabel = "save change"; - } else { - editConfig.prepareForNonUpdate( model ); - if ( prop.getOfferCreateNewOption() ) { - log.debug("property set to offer \"create new\" option; custom form: ["+prop.getCustomEntryForm()+"]"); - formTitle = "Select an existing "+rangeClass.getName()+" for "+subject.getName(); - submitLabel = "Select existing"; - } else { - formTitle = "Add an entry to: "+prop.getDomainPublic()+""; - submitLabel = "Save entry"; - } - } -%> - - - - -

JSP form, must be removed for the 1.4!

- - - -

<%=formTitle%>

-
" > - - - - - - - - - -

${predicate.publicDescription}

-
- - - -

If you don't find the appropriate entry on the selection list, - -

-
- - - -
- - - - - - - -
- - diff --git a/webapp/web/edit/forms/datapropStmtDelete.jsp b/webapp/web/edit/forms/datapropStmtDelete.jsp deleted file mode 100644 index 1f69e9960..000000000 --- a/webapp/web/edit/forms/datapropStmtDelete.jsp +++ /dev/null @@ -1,119 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@ page import="com.hp.hpl.jena.rdf.model.Resource" %> -<%@ page import="com.hp.hpl.jena.rdf.model.Literal" %> -<%@ page import="com.hp.hpl.jena.rdf.model.Property" %> - -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataProperty" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.EditN3Utils"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.RdfLiteralHash" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.filters.VitroRequestPrep" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.Controllers" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardModelSelector"%> -<%@ page import="com.hp.hpl.jena.shared.Lock"%> -<%@ page import="com.hp.hpl.jena.ontology.OntModel"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent"%> - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jstl/functions" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> - -<%@taglib prefix="vitro" uri="/WEB-INF/tlds/VitroUtils.tld" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission" %> -<% request.setAttribute("requestedActions", SimplePermission.USE_MISCELLANEOUS_PAGES.ACTION); %> - - -<% - org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("edu.cornell.mannlib.vitro.jsp.edit.forms.datapropStmtDelete"); - - String subjectUri = request.getParameter("subjectUri"); - String predicateUri = request.getParameter("predicateUri"); - String datapropKeyStr = request.getParameter("datapropKey"); - int dataHash = 0; - if (datapropKeyStr!=null && datapropKeyStr.trim().length()>0) { - try { - dataHash = Integer.parseInt(datapropKeyStr); - } catch (NumberFormatException ex) { - throw new JspException("Cannot decode incoming datapropKey String value "+datapropKeyStr+" as an integer hash in datapropStmtDelete.jsp"); - } - } - - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - String editorUri = EditN3Utils.getEditorUri(vreq); - wdf = wdf.getUserAwareDaoFactory(editorUri); - - DataProperty prop = wdf.getDataPropertyDao().getDataPropertyByURI(predicateUri); - if( prop == null ) throw new Error("In datapropStmtDelete.jsp, could not find property " + predicateUri); - request.setAttribute("propertyName",prop.getPublicName()); - - Individual subject = wdf.getIndividualDao().getIndividualByURI(subjectUri); - if( subject == null ) throw new Error("could not find subject " + subjectUri); - request.setAttribute("subjectName",subject.getName()); - - String dataValue=null; - - Model model = (Model)application.getAttribute("jenaOntModel"); - - String vitroNsProp = vreq.getParameter("vitroNsProp"); - - DataPropertyStatement dps = RdfLiteralHash.getPropertyStmtByHash(subject.getURI(), predicateUri, dataHash, model); - - if( log.isDebugEnabled() ){ - log.debug("attempting to delete dataPropertyStatement: subjectURI <" + dps.getIndividualURI() +">"); - log.debug( "predicateURI <" + dps.getDatapropURI() + ">"); - log.debug( "literal \"" + dps.getData() + "\"" ); - log.debug( "lang @" + (dps.getLanguage() == null ? "null" : dps.getLanguage())); - log.debug( "datatype ^^" + (dps.getDatatypeURI() == null ? "null" : dps.getDatatypeURI() )); - } - if( dps.getIndividualURI() == null || dps.getIndividualURI().trim().length() == 0){ - log.debug("adding missing subjectURI to DataPropertyStatement" ); - dps.setIndividualURI( subjectUri ); - } - if( dps.getDatapropURI() == null || dps.getDatapropURI().trim().length() == 0){ - log.debug("adding missing datapropUri to DataPropertyStatement"); - dps.setDatapropURI( predicateUri ); - } - - if (dps!=null) { - dataValue = dps.getData().trim(); - - //do the delete - if( request.getParameter("y") != null ) { - - wdf.getDataPropertyStatementDao().deleteDataPropertyStatement(dps); - %> - - <%-- grab the predicate URI and trim it down to get the Local Name so we can send the user back to the appropriate property --%> - - - - - - - -<% } else { %> - -

JSP form, must be removed for the 1.4!

- -
- -
<%=dataValue%>
- - - - - - - - - -<% } - } else { - throw new Error("In datapropStmtDelete.jsp, no match via hashcode to existing data property "+predicateUri+" for subject "+subject.getName()+"\n"); - }%> diff --git a/webapp/web/edit/forms/dateTimeIntervalForm.jsp b/webapp/web/edit/forms/dateTimeIntervalForm.jsp deleted file mode 100644 index be228901c..000000000 --- a/webapp/web/edit/forms/dateTimeIntervalForm.jsp +++ /dev/null @@ -1,265 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="java.util.List" %> -<%@ page import="java.util.ArrayList" %> -<%@ page import="java.util.Arrays" %> - -<%@ page import="com.hp.hpl.jena.rdf.model.Literal"%> -<%@ page import="com.hp.hpl.jena.rdf.model.Model"%> -<%@ page import="com.hp.hpl.jena.vocabulary.XSD" %> - -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.JavaScript" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Css" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.Field"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.DateTimeIntervalValidation"%> - -<%@ page import="org.apache.commons.logging.Log" %> -<%@ page import="org.apache.commons.logging.LogFactory" %> - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> - -<%! - public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.dateTimeIntervalForm"); -%> -<% - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - vreq.setAttribute("defaultNamespace", ""); //empty string triggers default new URI behavior -%> - - - - - - - - - - - - - - - -<%-- Assertions for adding a new interval --%> - - ?subject <${toDateTimeInterval}> ?intervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToStart}> ?startNode . - ?startNode <${type}> <${dateTimeValueType}> . - ?startNode <${dateTimeValue}> ?startField-value . - ?startNode <${dateTimePrecision}> ?startField-precision . - - - - ?subject <${toDateTimeInterval}> ?intervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToEnd}> ?endNode . - ?endNode <${type}> <${dateTimeValueType}> . - ?endNode <${dateTimeValue}> ?endField-value . - ?endNode <${dateTimePrecision}> ?endField-precision . - - -<%-- Queries for editing an existing role --%> - - - SELECT ?existingIntervalNode WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?existingIntervalNode <${type}> <${intervalType}> . } - - - - SELECT ?existingStartNode WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToStart}> ?existingStartNode . - ?existingStartNode <${type}> <${dateTimeValueType}> .} - - - - SELECT ?existingDateStart WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToStart}> ?startNode . - ?startNode <${type}> <${dateTimeValueType}> . - ?startNode <${dateTimeValue}> ?existingDateStart . } - - - - SELECT ?existingStartPrecision WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToStart}> ?startNode . - ?startNode <${type}> <${dateTimeValueType}> . - ?startNode <${dateTimePrecision}> ?existingStartPrecision . } - - - - - SELECT ?existingEndNode WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToEnd}> ?existingEndNode . - ?existingEndNode <${type}> <${dateTimeValueType}> .} - - - - SELECT ?existingEndDate WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToEnd}> ?endNode . - ?endNode <${type}> <${dateTimeValueType}> . - ?endNode <${dateTimeValue}> ?existingEndDate . } - - - - SELECT ?existingEndPrecision WHERE { - ?subject <${toDateTimeInterval}> ?existingIntervalNode . - ?intervalNode <${type}> <${intervalType}> . - ?intervalNode <${intervalToEnd}> ?endNode . - ?endNode <${type}> <${dateTimeValueType}> . - ?endNode <${dateTimePrecision}> ?existingEndPrecision . } - - -<%-- Configure add vs. edit --%> -<% - - String objectUri = (String) request.getAttribute("objectUri"); - if (objectUri != null) { // editing existing entry -%> - - - - -<% - } else { // adding new entry -%> - - - - -<% } %> - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "urlPatternToReturnTo" : "/entity", - - "subject" : ["subject", "${subjectUriJson}" ], - "predicate" : ["toDateTimeInterval", "${predicateUriJson}" ], - "object" : ["intervalNode", "${objectUriJson}", "URI" ], - - "n3required" : [ ], - - "n3optional" : [ "${n3ForStart}", "${n3ForEnd}" ], - - "newResources" : { "intervalNode" : "${defaultNamespace}", - "startNode" : "${defaultNamespace}", - "endNode" : "${defaultNamespace}" }, - - "urisInScope" : { }, - "literalsInScope": { }, - "urisOnForm" : [ ], - "literalsOnForm" : [ ], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { - "startField-value" : "${existingStartDateQuery}", - "endField-value" : "${existingEndDateQuery}" - }, - "sparqlForExistingUris" : { - "intervalNode" : "${existingIntervalNodeQuery}", - "startNode" : "${existingStartNodeQuery}", - "endNode" : "${existingEndNodeQuery}", - "startField-precision": "${existingStartPrecisionQuery}", - "endField-precision" : "${existingEndPrecisionQuery}" - }, - "fields" : { - "startField" : { - "newResource" : "false", - "validators" : [ ], - "optionsType" : "UNDEFINED", - "literalOptions" : [ ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "", - "rangeLang" : "", - "assertions" : ["${n3ForStart}"] - }, - "endField" : { - "newResource" : "false", - "validators" : [ ], - "optionsType" : "UNDEFINED", - "literalOptions" : [ ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "", - "rangeLang" : "", - "assertions" : ["${n3ForEnd}"] - } - } -} - - -<% - log.debug(request.getAttribute("editjson")); - - EditConfiguration editConfig = EditConfiguration.getConfigFromSession(session,request); - if (editConfig == null) { - editConfig = new EditConfiguration((String) request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig,session); - - //setup date time edit elements - Field startField = editConfig.getField("startField"); - // arguments for DateTimeWithPrecision are (fieldName, minimumPrecision, [requiredLevel]) - startField.setEditElement(new DateTimeWithPrecision(startField, VitroVocabulary.Precision.SECOND.uri(), VitroVocabulary.Precision.NONE.uri())); - Field endField = editConfig.getField("endField"); - endField.setEditElement(new DateTimeWithPrecision(endField, VitroVocabulary.Precision.SECOND.uri(), VitroVocabulary.Precision.NONE.uri())); - } - - editConfig.addValidator(new DateTimeIntervalValidation("startField","endField") ); - - Model model = (Model) application.getAttribute("jenaOntModel"); - - if (objectUri != null) { // editing existing - editConfig.prepareForObjPropUpdate(model); - } else { // adding new - editConfig.prepareForNonUpdate(model); - } - - List customJs = new ArrayList(Arrays.asList(JavaScript.JQUERY_UI.path(), - JavaScript.CUSTOM_FORM_UTILS.path() - )); - request.setAttribute("customJs", customJs); - - List customCss = new ArrayList(Arrays.asList(Css.JQUERY_UI.path(), - Css.CUSTOM_FORM.path() - )); - request.setAttribute("customCss", customCss); - - String subjectName = ((Individual) request.getAttribute("subject")).getName(); -%> - - -

JSP form, must be removed for the 1.4!

-

${titleVerb} date time interval for <%= subjectName %>

- -
" > - - - - -

- - - diff --git a/webapp/web/edit/forms/dateTimeValueForm.jsp b/webapp/web/edit/forms/dateTimeValueForm.jsp deleted file mode 100644 index b36fee2d3..000000000 --- a/webapp/web/edit/forms/dateTimeValueForm.jsp +++ /dev/null @@ -1,190 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="java.util.List" %> -<%@ page import="java.util.ArrayList" %> -<%@ page import="java.util.Arrays" %> - -<%@ page import="com.hp.hpl.jena.rdf.model.Literal"%> -<%@ page import="com.hp.hpl.jena.rdf.model.Model"%> -<%@ page import="com.hp.hpl.jena.vocabulary.XSD" %> - -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.JavaScript" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Css" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.Field"%> - -<%@ page import="org.apache.commons.logging.Log" %> -<%@ page import="org.apache.commons.logging.LogFactory" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.DateTimeIntervalValidation"%> - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> - -<%! - public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.dateTimeValueForm"); -%> -<% - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - vreq.setAttribute("defaultNamespace", ""); //empty string triggers default new URI behavior -%> - - - - - - - - - - - - -<%-- Assertions for adding a new date time value --%> - - ?subject <${toDateTimeValue}> ?valueNode . - ?valueNode <${type}> <${valueType}> . - ?valueNode <${dateTimeValue}> ?dateTimeField-value . - ?valueNode <${dateTimePrecision}> ?dateTimeField-precision . - - -<%-- Queries for editing an existing role --%> - - SELECT ?existingNode WHERE { - ?subject <${toDateTimeValue}> ?existingNode . - ?existingNode <${type}> <${valueType}> . } - - - - SELECT ?existingDateTimeValue WHERE { - ?subject <${toDateTimeValue}> ?existingValueNode . - ?existingValueNode <${type}> <${valueType}> . - ?existingValueNode <${dateTimeValue}> ?existingDateTimeValue . } - - - - SELECT ?existingPrecision WHERE { - ?subject <${toDateTimeValue}> ?existingValueNode . - ?existingValueNode <${type}> <${valueType}> . - ?existingValueNode <${dateTimePrecision}> ?existingPrecision . } - - - -<%-- Configure add vs. edit --%> -<% - - String objectUri = (String) request.getAttribute("objectUri"); - if (objectUri != null) { // editing existing entry -%> - - - - -<% - } else { // adding new entry -%> - - - - -<% } %> - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "urlPatternToReturnTo" : "/individual", - - "subject" : ["subject", "${subjectUriJson}" ], - "predicate" : ["toDateTimeValue", "${predicateUriJson}" ], - "object" : ["valueNode", "${objectUriJson}", "URI" ], - - "n3required" : [ ], - - "n3optional" : [ "${n3ForValue}" ], - - "newResources" : { "valueNode" : "${defaultNamespace}" }, - - "urisInScope" : { }, - "literalsInScope": { }, - "urisOnForm" : [ ], - "literalsOnForm" : [ ], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { - "dateTimeField-value" : "${existingDateTimeValueQuery}", - }, - "sparqlForExistingUris" : { - "valueNode" : "${existingNodeQuery}", - "dateTimeField-precision": "${existingPrecisionQuery}" - }, - "fields" : { - "dateTimeField" : { - "newResource" : "false", - "validators" : [ ], - "optionsType" : "UNDEFINED", - "literalOptions" : [ ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "", - "rangeLang" : "", - "assertions" : ["${n3ForValue}"] - } - } -} - - -<% - log.debug(request.getAttribute("editjson")); - - EditConfiguration editConfig = EditConfiguration.getConfigFromSession(session,request); - if (editConfig == null) { - editConfig = new EditConfiguration((String) request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig,session); - - //setup date time edit elements - Field dateTimeField = editConfig.getField("dateTimeField"); - // arguments for DateTimeWithPrecision are (fieldName, minimumPrecision, [requiredLevel]) - dateTimeField.setEditElement(new DateTimeWithPrecision(dateTimeField, VitroVocabulary.Precision.SECOND.uri(), VitroVocabulary.Precision.NONE.uri())); - } - - Model model = (Model) application.getAttribute("jenaOntModel"); - - if (objectUri != null) { // editing existing - editConfig.prepareForObjPropUpdate(model); - } else { // adding new - editConfig.prepareForNonUpdate(model); - } - - List customJs = new ArrayList(Arrays.asList(JavaScript.JQUERY_UI.path(), - JavaScript.CUSTOM_FORM_UTILS.path() - )); - request.setAttribute("customJs", customJs); - - List customCss = new ArrayList(Arrays.asList(Css.JQUERY_UI.path(), - Css.CUSTOM_FORM.path() - )); - request.setAttribute("customCss", customCss); - - String subjectName = ((Individual) request.getAttribute("subject")).getName(); -%> - - - -

${titleVerb} date time value for <%= subjectName %>

-

JSP form, must be removed for the 1.4!

-
" > - - - -

- - - diff --git a/webapp/web/edit/forms/defaultAddMissingIndividualForm.jsp b/webapp/web/edit/forms/defaultAddMissingIndividualForm.jsp deleted file mode 100644 index b1a4ac19b..000000000 --- a/webapp/web/edit/forms/defaultAddMissingIndividualForm.jsp +++ /dev/null @@ -1,250 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.VClass" %> -<%@ page import="com.hp.hpl.jena.rdf.model.Literal" %> -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.ModelChangePreprocessor"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.DefaultAddMissingIndividualFormModelPreprocessor"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena"%> - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> -<% - Individual subject = (Individual)request.getAttribute("subject"); - ObjectProperty prop = (ObjectProperty)request.getAttribute("predicate"); - if (prop == null) throw new Error("no object property specified via incoming predicate attribute in defaultAddMissingIndividualForm.jsp"); - String propDomainPublic = (prop.getDomainPublic() == null) ? "affiliation" : prop.getDomainPublic(); - - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - if( prop.getRangeVClassURI() == null ) { - // If property has no explicit range, we will use e.g. owl:Thing. - // Typically an allValuesFrom restriction will come into play later. - VClass top = wdf.getVClassDao().getTopConcept(); - prop.setRangeVClassURI(top.getURI()); - } - - String objectUri = (String)request.getAttribute("objectUri"); - String predicateUri = (String)request.getAttribute("predicateUri"); - - boolean isForwardToCreateNew = request.getAttribute("isForwardToCreateNew") != null && - (Boolean)request.getAttribute("isForwardToCreateNew") == true; - - // If this request is the first forward to this form we need to create a new - // edit key because the request will be coming from a defaultObjPropForm and - // will have an edit key that will be reused by the EditConfiguration that - // is being created below. This also preserves back button functionality to - // the form this request is coming from. If the edit key was not cleared - // the new editConfig below would overwrite the previous form's editConfig - // in the Session. - if( isForwardToCreateNew ) - request.setAttribute("editKey", EditConfiguration.newEditKey(session)); - - //If a objectProperty is both provideSelect and offerCreateNewOption - // then when the user gos to a default ObjectProperty edit for an existing - // object property statement then the user can create a new Individual, - // and replace the object in the existing objectPropertyStatement with - // this new individual. - boolean isReplaceWithNew = request.getAttribute("isReplaceWithNew") != null && - (Boolean)request.getAttribute("isReplaceWithNew") == true; - - // If an objectProperty is selectFromExisitng==false and offerCreateNewOption == true - // the we want to forward to the create new form but edit the existing object - // of the objPropStmt. - boolean isForwardToCreateButEdit = request.getAttribute("isForwardToCreateButEdit") != null - && (Boolean)request.getAttribute("isForwardToCreateButEdit") == true; - - vreq.setAttribute("defaultNamespace",wdf.getDefaultNamespace()); - - StringBuffer n3AssertedTypesUnescapedBuffer = new StringBuffer(); - - // TODO: redo to query restrictions directly. getVClassesForProperty returns the subclasses, which we don't want. - - //for ( VClass vclass : assertionsWdf.getVClassDao().getVClassesForProperty(subject.getVClassURI(),prop.getURI()) ) { - // if (vclass.getURI()!=null) { - // n3AssertedTypesUnescapedBuffer.append("?newIndividual ").append(" rdf:type <") - // .append(vclass.getURI()).append("> .\n"); - // } - //} - vreq.setAttribute("n3AssertedTypesUnescaped",n3AssertedTypesUnescapedBuffer.toString()); - - String flagURI = wdf.getVClassDao().getTopConcept().getURI(); - vreq.setAttribute("flagURI",flagURI); - - VClass rangeClass = null; - String typeOfNew = (String)vreq.getAttribute("typeOfNew"); - if(typeOfNew != null ) - rangeClass = wdf.getVClassDao().getVClassByURI( typeOfNew ); - if( rangeClass == null ){ - rangeClass = wdf.getVClassDao().getVClassByURI(prop.getRangeVClassURI()); - if( rangeClass == null ) throw new Error ("Cannot find class for range for property. Looking for " + prop.getRangeVClassURI() ); - } - //vreq.setAttribute("rangeClassLocalName",rangeClass.getLocalName()); - //vreq.setAttribute("rangeClassNamespace",rangeClass.getNamespace()); - vreq.setAttribute("rangeClassUri",rangeClass.getURI()); - - //todo: set additional ranges using allValuesFrom. - - //vreq.setAttribute("curatorReviewUri","http://vivo.library.cornell.edu/ns/0.1#CuratorReview"); -%> - - - PREFIX owl: - SELECT ?inverse_property - WHERE { - ?inverse_property owl:inverseOf ?predicate - } - - -<%-- Enter a SPARQL query for each field, by convention concatenating the field id with "Existing" - to convey that the expression is used to retrieve any existing value for the field in an existing individual. - Each of these must then be referenced in the sparqlForExistingLiterals section of the JSON block below - and in the literalsOnForm --%> - - PREFIX rdfs: - SELECT ?existingName - WHERE { ?newIndividual rdfs:label ?existingName } - - -<%-- Pair the "existing" query with the skeleton of what will be asserted for a new statement involving this field. - the actual assertion inserted in the model will be created via string substitution into the ? variables. - NOTE the pattern of punctuation (a period after the prefix URI and after the ?field) --%> - - @prefix rdfs: . - ?newIndividual rdfs:label ?name . - - - - ?subject ?predicate ?newIndividual . - - - - @prefix rdf: . - ?newIndividual rdf:type <${rangeClassUri}> . - - - - @prefix rdf: . - ?newIndividual rdf:type <${flagURI}> . - - -<%-- using v:jsonset here so everything goes through the same JSON escaping --%> - - @prefix rdf: . - ${n3AssertedTypesUnescaped} - - - - ?newIndividual ?inverseProp ?subject . - - -<%-- note that it's safer to have multiple distinct optional blocks so that a failure in one - will not prevent correct sections from being inserted --%> - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "urlPatternToReturnTo" : "/entity", - - "subject" : [ "subject", "${subjectUriJson}" ], - "predicate" : [ "predicate", "${predicateUriJson}" ], - "object" : [ "newIndividual", "${objectUriJson}", "URI" ], - - "n3required" : [ "${n3ForName}" , "${n3ForRelation}", "${n3ForType}"], - "n3optional" : [ "${n3Inverse}", "${n3AssertedTypes}", "${n3ForFlag}" ], - "newResources" : { - "newIndividual" : "${defaultNamespace}individual" - }, - "urisInScope" : { }, - "literalsInScope" : { }, - "urisOnForm" : [ ], - "literalsOnForm" : [ "name" ], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { "inverseProp" : "${queryForInverse}" }, - "sparqlForExistingLiterals" : { - "name" : "${nameExisting}" - }, - "sparqlForExistingUris" : { }, - "fields" : { - "name" : { - "newResource" : "false", - "validators" : ["nonempty"], - "optionsType" : "UNDEFINED", - "literalOptions" : [ ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "", - "rangeLang" : "", - "assertions" : [ "${n3ForName}" ] - } - } - } - -<% - EditConfiguration editConfig = null; - if( ! isForwardToCreateNew ) - editConfig = EditConfiguration.getConfigFromSession(session,request); - //else - // don't want to get the editConfig because it was for the defaultObjPropForm - - if( editConfig == null ){ - editConfig = new EditConfiguration((String)request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig, session); - } - - Model model = (Model)application.getAttribute("jenaOntModel"); - - if( isReplaceWithNew){ - // this is very specialized for the defaultAddMissingIndividual.jsp - // to support objPropStmt edits where the user wants to - // create a new Individual. Here we trick the processRdfForm2 into - // creating a new Individual and use the preprocessor to do the - // removal of the old objPropStmt - editConfig.addModelChangePreprocessor( - new DefaultAddMissingIndividualFormModelPreprocessor( - subject.getURI(),predicateUri ,objectUri ) ); - editConfig.setObject(null); - editConfig.prepareForNonUpdate(model); - }else if ( isForwardToCreateButEdit) { - editConfig.prepareForObjPropUpdate(model); - }else if(request.getAttribute("object") != null ){ - editConfig.prepareForObjPropUpdate(model); - } else{ - editConfig.prepareForNonUpdate(model); - } - - String submitButtonLabel=""; - /* title is used by pre and post form fragments */ - //set title to Edit to maintain functionality from 1.1.1 and avoid updates to Selenium tests - request.setAttribute("title", "Edit"); - if (objectUri != null) { - request.setAttribute("formTitle", "Edit \""+propDomainPublic+"\" entry for " + subject.getName()); - submitButtonLabel = "Save changes"; - } else { - request.setAttribute("formTitle","Create \""+propDomainPublic+"\" entry for " + subject.getName()); - submitButtonLabel = "Create \""+propDomainPublic+"\" entry"; - } - -%> - - - - - - -

${formTitle}

-

JSP form, must be removed for the 1.4!

-
" >
-
- - - - diff --git a/webapp/web/edit/forms/defaultDatapropForm.jsp b/webapp/web/edit/forms/defaultDatapropForm.jsp deleted file mode 100644 index ec1fcc89a..000000000 --- a/webapp/web/edit/forms/defaultDatapropForm.jsp +++ /dev/null @@ -1,176 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataProperty" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest"%> -<%@ page import="java.util.HashMap"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> -<%! private static HashMap defaultsForXSDtypes ; - static { - defaultsForXSDtypes = new HashMap(); - //defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","2001-01-01T12:00:00"); - defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","#Unparseable datetime defaults to now"); - } -%> -<% - org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("edu.cornell.mannlib.vitro.jsp.edit.forms.defaultDatapropForm.jsp"); - log.debug("Starting defaultDatapropForm.jsp"); - VitroRequest vreq = new VitroRequest(request); - String subjectUri = vreq.getParameter("subjectUri"); - String predicateUri = vreq.getParameter("predicateUri"); - - DataPropertyStatement dps = (DataPropertyStatement)vreq.getAttribute("dataprop"); - - String datapropKeyStr = vreq.getParameter("datapropKey"); - int dataHash=0; - - DataProperty prop = (DataProperty)vreq.getAttribute("predicate"); - if( prop == null ) throw new Error("In defaultDatapropForm.jsp, could not find predicate " + predicateUri); - vreq.setAttribute("propertyName",prop.getPublicName()); - - Individual subject = (Individual)vreq.getAttribute("subject"); - if( subject == null ) throw new Error("In defaultDatapropForm.jsp, could not find subject " + subjectUri); - vreq.setAttribute("subjectName",subject.getName()); - - String rangeDatatypeUri = vreq.getWebappDaoFactory().getDataPropertyDao().getRequiredDatatypeURI(subject, prop); - //String rangeDatatypeUri = prop.getRangeDatatypeURI(); - vreq.setAttribute("rangeDatatypeUriJson", MiscWebUtils.escape(rangeDatatypeUri)); - - if( dps != null ){ - try { - dataHash = Integer.parseInt(datapropKeyStr); - log.debug("dataHash is " + dataHash); - } catch (NumberFormatException ex) { - log.debug("could not parse dataprop hash "+ - "but there was a dataproperty; hash: '"+datapropKeyStr+"'"); - } - - String rangeDatatype = dps.getDatatypeURI(); - if( rangeDatatype == null ){ - log.debug("no range datatype uri set on data property statement when property's range datatype is "+prop.getRangeDatatypeURI()+" in defaultDatapropForm.jsp"); - vreq.setAttribute("rangeDatatypeUriJson",""); - } else { - log.debug("range datatype uri of ["+rangeDatatype+"] on data property statement in defaultDatapropForm.jsp"); - vreq.setAttribute("rangeDatatypeUriJson",rangeDatatype); - } - String rangeLang = dps.getLanguage(); - if( rangeLang == null ) { - log.debug("no language attribute on data property statement in defaultDatapropForm.jsp"); - vreq.setAttribute("rangeLangJson",""); - }else{ - log.debug("language attribute of ["+rangeLang+"] on data property statement in defaultDatapropForm.jsp"); - vreq.setAttribute("rangeLangJson", rangeLang); - } - } else { - log.debug("No incoming dataproperty statement attribute for property "+prop.getPublicName()+"; adding a new statement"); - if(rangeDatatypeUri != null && rangeDatatypeUri.length() > 0) { - String defaultVal = defaultsForXSDtypes.get(rangeDatatypeUri); - if( defaultVal == null ) - vreq.setAttribute("rangeDefaultJson", ""); - else - vreq.setAttribute("rangeDefaultJson", '"' + MiscWebUtils.escape(defaultVal) + '"' ); - } - } - -%> - - - - - ?subject ?predicate ?${dataLiteral}. - - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "datapropKey" : "<%=datapropKeyStr==null?"":datapropKeyStr%>", - "urlPatternToReturnTo" : "/entity", - - "subject" : ["subject", "${subjectUriJson}" ], - "predicate" : ["predicate", "${predicateUriJson}"], - "object" : ["${dataLiteral}","","DATAPROPHASH"], - - "n3required" : ["${n3ForEdit}"], - "n3optional" : [ ], - "newResources" : { }, - "urisInScope" : { }, - "literalsInScope" : { }, - "urisOnForm" : [ ], - "literalsOnForm" : ["${dataLiteral}"], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, - "optionsForFields" : { }, - "fields" : { "${dataLiteral}" : { - "newResource" : "false", - "validators" : ["datatype:${rangeDatatypeUriJson}"], - "optionsType" : "LITERALS", - "literalOptions" : [ ${rangeDefaultJson} ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "${rangeDatatypeUriJson}", - "rangeLang" : "${rangeLangJson}", - "assertions" : ["${n3ForEdit}"] - } - } - } - - -<% - if( log.isDebugEnabled()) log.debug(request.getAttribute("editjson")); - - EditConfiguration editConfig = new EditConfiguration((String)vreq.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig, session); - - String formTitle =""; // don't add local page variables to the request - String submitLabel =""; - - if( datapropKeyStr != null && datapropKeyStr.trim().length() > 0 ) { - Model model = (Model)application.getAttribute("jenaOntModel"); - editConfig.prepareForDataPropUpdate(model,dps); - formTitle = "Change text for: "+prop.getPublicName()+""; - submitLabel = "Save change"; - } else { - formTitle ="Add new entry for: "+prop.getPublicName()+""; - submitLabel ="Save entry"; - } -%> - -<%--the following parameters configure the tinymce textarea --%> - - - - -

JSP form, must be removed for the 1.4!

- -

<%=formTitle%>

-
" method="post" > <%-- see VITRO-435 Jira issue: need POST, not GET --%> - - - - - - - - -
- - - - - - - -
- - - - diff --git a/webapp/web/edit/forms/defaultObjPropForm.jsp b/webapp/web/edit/forms/defaultObjPropForm.jsp deleted file mode 100644 index 31ba012ee..000000000 --- a/webapp/web/edit/forms/defaultObjPropForm.jsp +++ /dev/null @@ -1,223 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.VClass" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration" %> -<%@ page import="org.apache.commons.logging.Log" %> -<%@ page import="java.util.List" %> -<%@ page import="org.apache.commons.logging.LogFactory" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> -<%! - public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.defaultObjPropForm.jsp"); -%> -<% - Individual subject = (Individual)request.getAttribute("subject"); - ObjectProperty prop = (ObjectProperty)request.getAttribute("predicate"); - - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); -%> - -<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.SelectListGenerator"%> -<%@page import="java.util.Map"%> -<%@page import="com.hp.hpl.jena.ontology.OntModel"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary"%> - - - PREFIX owl: - SELECT ?inverse_property - WHERE { - ?inverse_property owl:inverseOf ?predicate - } - - - - ?subject ?predicate ?objectVar. - - - - ?objectVar ?inverseProp ?subject. - - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "urlPatternToReturnTo" : "/entity", - - "subject" : [ "subject", "${subjectUriJson}" ] , - "predicate" : [ "predicate", "${predicateUriJson}" ], - "object" : [ "objectVar" , "${objectUriJson}" , "URI"], - - "n3required" : [ "${n3ForEdit}" ], - "n3optional" : [ "${n3Inverse}" ], - "newResources" : { }, - - "urisInScope" : { }, - "literalsInScope" : { }, - - "urisOnForm" : ["objectVar"], - "literalsOnForm" : [ ], - "filesOnForm" : [ ], - - "sparqlForLiterals" : { }, - "sparqlForUris" : {"inverseProp" : "${queryForInverse}" }, - - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, - "fields" : { "objectVar" : { - "newResource" : "false", - "queryForExisting" : { }, - "validators" : [ "nonempty" ], - "optionsType" : "INDIVIDUALS_VIA_OBJECT_PROPERTY", - "subjectUri" : "${subjectUriJson}", - "subjectClassUri" : "", - "predicateUri" : "${predicateUriJson}", - "objectClassUri" : "", - "rangeDatatypeUri" : "", - "rangeLang" : "", - "literalOptions" : [ ] , - "assertions" : ["${n3ForEdit}", "${n3Inverse}"] - } - } - } - - -<% - log.debug(request.getAttribute("editjson")); - - /* now put edit configuration Json object into session */ - EditConfiguration editConfig = new EditConfiguration((String)request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig, session); - String formTitle =""; - String submitLabel =""; - Model model = (Model)application.getAttribute("jenaOntModel"); - if( request.getAttribute("object") != null ){//this block is for an edit of an existing object property statement - editConfig.prepareForObjPropUpdate( model ); - formTitle = "Change entry for: "+prop.getDomainPublic()+""; - submitLabel = "save change"; - } else { - editConfig.prepareForNonUpdate( model ); - if ( prop.getOfferCreateNewOption() ) { - //Try to get the name of the class to select from - VClass classOfObjectFillers = null; - - if( prop.getRangeVClassURI() == null ) { - // If property has no explicit range, try to get classes - List classes = wdf.getVClassDao().getVClassesForProperty(subject.getVClassURI(), prop.getURI()); - if( classes == null || classes.size() == 0 || classes.get(0) == null ){ - // If property has no explicit range, we will use e.g. owl:Thing. - // Typically an allValuesFrom restriction will come into play later. - classOfObjectFillers = wdf.getVClassDao().getTopConcept(); - } else { - if( classes.size() > 1 ) - log.debug("Found multiple classes when attempting to get range vclass."); - classOfObjectFillers = classes.get(0); - } - }else{ - classOfObjectFillers = wdf.getVClassDao().getVClassByURI(prop.getRangeVClassURI()); - if( classOfObjectFillers == null ) - classOfObjectFillers = wdf.getVClassDao().getTopConcept(); - } - - log.debug("property set to offer \"create new\" option; custom form: ["+prop.getCustomEntryForm()+"]"); - formTitle = "Select an existing "+classOfObjectFillers.getName()+" for "+subject.getName(); - submitLabel = "Select existing"; - } else { - formTitle = "Add an entry to: "+prop.getDomainPublic()+""; - submitLabel = "Save entry"; - } - } - - if( prop.getSelectFromExisting() ){ - // set ProhibitedFromSearch object so picklist doesn't show - // individuals from classes that should be hidden from list views - OntModel displayOntModel = - (OntModel) pageContext.getServletContext() - .getAttribute("displayOntModel"); - if (displayOntModel != null) { - ProhibitedFromSearch pfs = new ProhibitedFromSearch( - DisplayVocabulary.SEARCH_INDEX_URI, displayOntModel); - if( editConfig != null ) - editConfig.setProhibitedFromSearch(pfs); - } - Map rangeOptions = SelectListGenerator.getOptions(editConfig, "objectVar" , wdf); - if( rangeOptions != null && rangeOptions.size() > 0 ) { - request.setAttribute("rangeOptionsExist", true); - request.setAttribute("rangeOptions.objectVar", rangeOptions); - } else { - request.setAttribute("rangeOptionsExist",false); - } - } -%> - -

JSP form, must be removed for the 1.4!

-

<%=formTitle%>

- - - -
" > - -

${predicate.publicDescription}

-
- -
- -
- -
- - - -

There are no entries in the system to select from.

-
-
- - - -

If you don't find the appropriate entry on the selection list above:

-
- -

Please create a new entry.

-
- -
- - - - - - - -
- - - - - -

This property is currently configured to prohibit editing.

-
- - -
- - - - - - - - - - - -
-
- - diff --git a/webapp/web/edit/forms/newIndividualForm.jsp b/webapp/web/edit/forms/newIndividualForm.jsp deleted file mode 100644 index d70954a39..000000000 --- a/webapp/web/edit/forms/newIndividualForm.jsp +++ /dev/null @@ -1,136 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%-- Custom form for adding a new Individual from the siteAdmin page. - -This form is not associated with an object property, it is reached because the -html:form on dataInput.jsp has an input element like: - - -This form is intended to only do the addition of an individual. It is not configured with sparql -for existing so it cannot handle an update. It will not have a subject, predicate or object -parameter set up by editRequestDispatch. - ---%> - -<%@ page import="java.util.List" %> -<%@ page import="java.util.ArrayList" %> -<%@ page import="java.util.Arrays" %> - -<%@ page import="com.hp.hpl.jena.rdf.model.Literal"%> -<%@ page import="com.hp.hpl.jena.rdf.model.Model"%> -<%@ page import="com.hp.hpl.jena.vocabulary.XSD" %> - -<%@page import="edu.cornell.mannlib.vitro.webapp.beans.VClass"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> -<%@ page import="org.apache.commons.logging.Log" %> -<%@ page import="org.apache.commons.logging.LogFactory" %> - - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> - -<%! - public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.newIndividualForm"); -%> -<% - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - vreq.setAttribute("defaultNamespace", ""); //empty string triggers default new URI behavior - - request.setAttribute("stringDatatypeUriJson", MiscWebUtils.escape(XSD.xstring.toString())); - - VClass type = wdf.getVClassDao().getVClassByURI(vreq.getParameter("typeOfNew")); - - List customCss = new ArrayList(Arrays.asList("/edit/forms/css/customForm.css" - )); - request.setAttribute("customCss", customCss); -%> - -<%= type.getName() %> - - - - - - @prefix rdf: <${rdf}> . - ?newInd rdf:type <${param.typeOfNew}> . - - - - @prefix rdfs: <${rdfs}> . - ?newInd rdfs:label ?label . - - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "urlPatternToReturnTo" : "/individual", - - "subject" : ["subjectNotUsed", "" ], - "predicate" : ["predicateNotUsed", "" ], - "object" : ["objectNotUsed", "", "URI" ], - - "n3required" : [ "${n3ForType}" ], - - "n3optional" : [ "${n3ForRdfsLabel}" ], - - "newResources" : { "newInd" : "${defaultNamespace}" }, - - "urisInScope" : { }, - "literalsInScope": { }, - "urisOnForm" : [ ], - "literalsOnForm" : [ "label", "firstName", "lastName" ], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, - "fields" : { - "label" : { - "newResource" : "false", - "validators" : [ "nonempty" ], - "optionsType" : "UNDEFINED", - "literalOptions" : [ ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "${stringDatatypeUriJson}", - "rangeLang" : "", - "assertions" : [ ] - } - } -} - -<% - EditConfiguration editConfig = EditConfiguration.getConfigFromSession(session,request); - if (editConfig == null) { - editConfig = new EditConfiguration((String) request.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig,session); - } - editConfig.setEntityToReturnTo("?newInd"); - - //this form always is always doing a non-update: - Model model = (Model) application.getAttribute("jenaOntModel"); - editConfig.prepareForNonUpdate(model); -%> - - - - -

JSP form, must be removed for the 1.4!

-

Create a new ${typeName}

- -
" > - - - -

-

* required fields

- - - diff --git a/webapp/web/edit/forms/propDelete.jsp b/webapp/web/edit/forms/propDelete.jsp deleted file mode 100644 index fff79808f..000000000 --- a/webapp/web/edit/forms/propDelete.jsp +++ /dev/null @@ -1,155 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - - -<%@page import="edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.auth.identifier.RoleIdentifier"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.EditN3Utils"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.VClass" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.filters.VitroRequestPrep" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.Controllers" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils" %> -<%@ page import="com.hp.hpl.jena.rdf.model.Model" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModel" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerConfigurationLoader"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerConfiguration" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet"%> -<%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.TemplateProcessingHelper"%> - -<%@page import="freemarker.template.Configuration"%> - -<%@ page import="java.util.List" %> -<%@ page import="java.util.Map" %> -<%@ page import="java.util.HashMap" %> - -<%@ page import="org.apache.commons.logging.Log" %> -<%@ page import="org.apache.commons.logging.LogFactory" %> - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jstl/functions" %> - -<%@taglib prefix="vitro" uri="/WEB-INF/tlds/VitroUtils.tld" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission" %> -<% request.setAttribute("requestedActions", SimplePermission.USE_MISCELLANEOUS_PAGES.ACTION); %> - - -<%! -public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.propDelete.jsp"); - -public WebappDaoFactory getUnfilteredDaoFactory() { - return (WebappDaoFactory) getServletContext().getAttribute("webappDaoFactory"); -} -%> - -<%-- grab the predicate URI and trim it down to get the Local Name so we can send the user back to the appropriate property --%> - - - - - - -<% - String subjectUri = request.getParameter("subjectUri"); - String predicateUri = request.getParameter("predicateUri"); - String objectUri = request.getParameter("objectUri"); - - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - if( wdf == null ) { - throw new Error("could not get a WebappDaoFactory"); - } - ObjectProperty prop = wdf.getObjectPropertyDao().getObjectPropertyByURI(predicateUri); - if( prop == null ) { - throw new Error("In propDelete.jsp, could not find property " + predicateUri); - } - request.setAttribute("propertyName",prop.getDomainPublic().toLowerCase()); - - //do the delete - if( request.getParameter("y") != null ) { - - String editorUri = EditN3Utils.getEditorUri(request); - wdf = wdf.getUserAwareDaoFactory(editorUri); - - if (prop.getStubObjectRelation()) { - Individual object = (Individual)request.getAttribute("object"); - if (object==null) { - object = getUnfilteredDaoFactory().getIndividualDao().getIndividualByURI(objectUri); - } - if( object != null ) { - log.warn("Deleting individual "+object.getName()+" since property has been set to force range object deletion"); - wdf.getIndividualDao().deleteIndividual(object); - } else { - throw new Error("Could not find object as request attribute or in model: '" + objectUri + "'"); - } - } - wdf.getPropertyInstanceDao().deleteObjectPropertyStatement(subjectUri,predicateUri,objectUri); %> - -<% } - - Individual subject = wdf.getIndividualDao().getIndividualByURI(subjectUri); - if( subject == null ) throw new Error("could not find subject " + subjectUri); - request.setAttribute("subjectName",subject.getName()); - - // Get the statement data to be displayed - String templateName = request.getParameter("templateName"); - Map params = request.getParameterMap(); - Map statement = new HashMap(); - for (Object key : params.keySet()) { - String keyString = (String) key; //key.toString() - if (keyString.startsWith("statement_")) { - keyString = keyString.replaceFirst("statement_", ""); - String value = ( (String[]) params.get(key))[0]; - statement.put(keyString, value); - } - } - - // Process the statement data through the template to create the display string - String statementDisplay = null; - if (! statement.isEmpty()) { - Map map = new HashMap(); - map.put("statement", statement); - - /* Some propStatements (propStatement-educationalTraining.ftl) make reference to the individual, - * but instead of adding it to the data model we'll test in the template for non-existence. If - * this becomes more common, add it here instead. We don't want to generate the property - * list for the individual, though, so should modify IndividualTemplateModel to make that - * conditional, or perhaps use a different template model that contains only the limited - * information needed in the propStatement templates. - */ - //map.put("individual", new IndividualTemplateModel(subject, vreq)); - - //map.putAll(FreemarkerHttpServlet.getDirectives()); - //map.putAll(FreemarkerHttpServlet.getMethods()); - ServletContext context = getServletContext(); - FreemarkerConfiguration fmConfig = FreemarkerConfigurationLoader.getConfig(vreq, context); - fmConfig.resetRequestSpecificSharedVariables(); - TemplateProcessingHelper helper = new TemplateProcessingHelper(fmConfig, vreq, context); - statementDisplay = helper.processTemplateToString(templateName, map); - } - request.setAttribute("statementDisplay", statementDisplay); -%> - - - -

JSP form, must be removed for the 1.4!

- -
- -
${statementDisplay}
- - - - - -

- -
- - diff --git a/webapp/web/edit/forms/rdfsLabelForm.jsp b/webapp/web/edit/forms/rdfsLabelForm.jsp deleted file mode 100644 index 8b62b8491..000000000 --- a/webapp/web/edit/forms/rdfsLabelForm.jsp +++ /dev/null @@ -1,189 +0,0 @@ -<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> - -<%@ page import="java.util.ArrayList"%> -<%@ page import="java.util.Arrays"%> - -<%@ page import="com.hp.hpl.jena.rdf.model.Literal"%> -<%@ page import="com.hp.hpl.jena.rdf.model.Model"%> -<%@ page import="com.hp.hpl.jena.vocabulary.XSD"%> - -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.RdfLiteralHash"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest"%> -<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> -<%@ page import="org.apache.commons.lang.StringUtils" %> -<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils" %> - -<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> -<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> - -<% - org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("edu.cornell.mannlib.vitro.jsp.edit.forms.rdfLabelForm.jsp"); - - VitroRequest vreq = new VitroRequest(request); - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - vreq.setAttribute("defaultNamespace", wdf.getDefaultNamespace()); - - String subjectUri = vreq.getParameter("subjectUri"); - String predicateUri = vreq.getParameter("predicateUri"); - - log.debug("Starting rdfsLabelForm.jsp"); - - DataPropertyStatement dps = (DataPropertyStatement)vreq.getAttribute("dataprop"); - - String datapropKeyStr = vreq.getParameter("datapropKey"); - - Individual subject = (Individual)vreq.getAttribute("subject"); - if( subject == null ) { - throw new Error("In rdfsLabelForm.jsp, could not find subject " + subjectUri); - } - - Model model = (Model)application.getAttribute("jenaOntModel"); - - // Get datatype and language for the data property statement - String rangeDatatypeUri = null, - rangeLang = null; - - if (dps != null) { - - rangeDatatypeUri = dps.getDatatypeURI(); - if (rangeDatatypeUri == null) { - log.debug("no range datatype uri set on rdfs:label statement for property " + predicateUri + "in rdfsLabelForm.jsp"); - } else { - log.debug("range datatype uri of [" + rangeDatatypeUri + "] on rdfs:label statement for property " + predicateUri + "in rdfsLabelForm.jsp"); - } - - rangeLang = dps.getLanguage(); - if( rangeLang == null ) { - log.debug("no language attribute on rdfs:label statement for property " + predicateUri + "in rdfsLabelForm.jsp"); - rangeLang = ""; - } else { - log.debug("language attribute of ["+rangeLang+"] on rdfs:label statement for property " + predicateUri + "in rdfsLabelForm.jsp"); - } - - } else { - log.debug("No incoming rdfs:label statement for property "+predicateUri+"; adding a new statement"); - rangeDatatypeUri = XSD.xstring.getURI(); - } - - String rangeDatatypeUriJson = rangeDatatypeUri == null ? "" : MiscWebUtils.escape(rangeDatatypeUri); - - vreq.setAttribute("rangeDatatypeUriJson", rangeDatatypeUriJson); - vreq.setAttribute("rangeLangJson", rangeLang); - - // Create list of validators - ArrayList validatorList = new ArrayList(); - if (predicateUri.equals(VitroVocabulary.LABEL) || predicateUri.equals(VitroVocabulary.RDF_TYPE)) { - validatorList.add("\"nonempty\""); - } - if (!StringUtils.isEmpty(rangeDatatypeUriJson)) { - validatorList.add("\"datatype:" + rangeDatatypeUriJson + "\""); - } - vreq.setAttribute("validators", StringUtils.join(validatorList, ",")); - -%> - - - -<%-- Pair the "existing" query with the skeleton of what will be asserted for a new statement involving this field. - The actual assertion inserted in the model will be created via string substitution into the ? variables. - NOTE the pattern of punctuation (a period after the prefix URI and after the ?field) --%> - - ?subject <${predicate}> ?label . - - - - { - "formUrl" : "${formUrl}", - "editKey" : "${editKey}", - "datapropKey" : "<%= datapropKeyStr == null ? "" : datapropKeyStr %>", - "urlPatternToReturnTo" : "/entity", - - "subject" : ["subject", "${subjectUriJson}" ], - "predicate" : ["predicate", "${predicateUriJson}" ], - "object" : ["label", "", "DATAPROPHASH" ], - - "n3required" : [ "${dataAssertion}" ], - "n3optional" : [ ], - "newResources" : { }, - "urisInScope" : { }, - "literalsInScope": { }, - "urisOnForm" : [ ], - "literalsOnForm" : [ "label" ], - "filesOnForm" : [ ], - "sparqlForLiterals" : { }, - "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, - "fields" : { - "label" : { - "newResource" : "false", - "validators" : [ ${validators} ], - "optionsType" : "UNDEFINED", - "literalOptions" : [ ], - "predicateUri" : "", - "objectClassUri" : "", - "rangeDatatypeUri" : "${rangeDatatypeUriJson}", - "rangeLang" : "${rangeLangJson}", - "assertions" : [ "${dataAssertion}" ] - } - } -} - - -<% - if( log.isDebugEnabled()) log.debug(request.getAttribute("editjson")); - - EditConfiguration editConfig = EditConfiguration.getConfigFromSession(session,request); - if (editConfig == null) { - log.debug("No editConfig in session. Making new editConfig."); - log.debug(vreq.getAttribute("editjson")); - editConfig = new EditConfiguration((String)vreq.getAttribute("editjson")); - EditConfiguration.putConfigInSession(editConfig, session); - - } - - if ( datapropKeyStr != null && datapropKeyStr.trim().length() > 0 ) { - editConfig.prepareForDataPropUpdate(model,dps); - } - - // Configure form - String actionText = dps == null ? "Add new " : "Edit "; - String submitLabel = actionText + "label"; - String title = actionText + "label for " + subject.getName(); - -%> - - - - - -

JSP form, must be removed for the 1.4!

- -

<%= title %>

-
" > - - -

- - - -
- - - - - - - - -
- - - -