Merge branch 'develop' of https://github.com/vivo-project/VIVO into develop

This commit is contained in:
brianjlowe 2013-10-14 16:35:50 -04:00
commit e572c423de
10 changed files with 343 additions and 493 deletions

View file

@ -186,19 +186,19 @@ issuing SPARQL queries that read data, and its URI for issuing SPARQL UPDATE com
<li>
Mac:
<ul>
<li>Chrome 8.0.552.237</li>
<li>FireFox 3.6.13</li>
<li>Opera 10.6.2</li>
<li>Chrome 30.0.1599.69 and above</li>
<li>FireFox 3.6.28, 10.0.12, 24</li>
<li>Opera 12.02</li>
<li>Safari 5.0.3</li>
</ul>
</li>
<li>
PC:
<ul>
<li>Chrome 8.0.552.273</li>
<li>FireFox 10.0.2</li>
<li>Internet Explorer 7, 8, 9</li>
<li>Opera 10.6.2</li>
<li>Chrome 25.1364.2 and above</li>
<li>FireFox 10.0.12, 24</li>
<li>Internet Explorer 8, 9, 10</li>
<li>Opera 12.02</li>
</ul>
</li>
</ul>

View file

@ -440,19 +440,19 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl</pre>
Mac:
</p>
<ul>
<li>Chrome 8.0.552.237</li>
<li>FireFox 3.6.13</li>
<li>Opera 10.6.2</li>
<li>Chrome 30.0.1599.69 and above</li>
<li>FireFox 3.6.28, 10.0.12, 24</li>
<li>Opera 12.02</li>
<li>Safari 5.0.3</li>
</ul>
<p>
</li>
<li>
PC:
</p>
<ul>
<li>Chrome 8.0.552.273</li>
<li>FireFox 10.0.2</li>
<li>Internet Explorer 7, 8, 9</li>
<li>Opera 10.6.2</li>
<li>Chrome 25.1364.2 and above</li>
<li>FireFox 10.0.12, 24</li>
<li>Internet Explorer 8, 9, 10</li>
<li>Opera 12.02</li>
</ul>
</li>
</ul>

View file

@ -21,7 +21,7 @@
</tr>
<#list deptGrants as resultRow>
<tr>
<td><a href="${urls.base}/individual${resultRow["activity"]?substring(resultRow["activity"]?last_index_of("/"))}" title="${i18n().activity_name}">${resultRow["activityLabel"]}</a></td>
<td><a href="${urls.base}/individual${resultRow["grant"]?substring(resultRow["grant"]?last_index_of("/"))}" title="${i18n().grant_name}">${resultRow["grantLabel"]}</a></td>
<td>${dt.formatXsdDateTimeShort(resultRow["dt"], "yearMonthDayPrecision")}</td>
</tr>
</#list>

View file

@ -162,7 +162,7 @@ var vocabSpecificDisplay = {};
vocabSpecificDisplay["${vocab}"] = "${vocabSpecificDisplay[vocab]}";
</#list>
var i18nStrings = {
vocServiceUnavailable: '${i18n().vocabulary_service_error}',
vocServiceUnavailable: '${i18n().vocabulary_service_unavailable}',
noResultsFound: '${i18n().no_serch_results_found}',
defaultLabelTypeString: '${i18n().label_type}',
definitionString: '${i18n().definition_capitalized}',

View file

@ -1,86 +0,0 @@
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<#-- this is in request.subject.name -->
<#-- leaving this edit/add mode code in for reference in case we decide we need it -->
<#import "lib-vivo-form.ftl" as lvf>
<#--Retrieve certain edit configuration information-->
<#if editConfiguration.objectUri?has_content>
<#assign editMode = "edit">
<#else>
<#assign editMode = "add">
</#if>
<#assign htmlForElements = editConfiguration.pageData.htmlForElements />
<#--Retrieve variables needed-->
<#assign telephoneNumberValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "telephoneNumber") />
<#--If edit submission exists, then retrieve validation errors if they exist-->
<#if editSubmission?has_content && editSubmission.submissionExists = true && editSubmission.validationErrors?has_content>
<#assign submissionErrors = editSubmission.validationErrors/>
</#if>
<#if editMode == "edit">
<#assign titleVerb="${i18n().edit_capitalized}">
<#assign submitButtonText="${titleVerb}" + " ${i18n().telephone_number}">
<#assign disabledVal="disabled">
<#else>
<#assign titleVerb="${i18n().create_capitalized}">
<#assign submitButtonText="${titleVerb}" + " ${i18n().telephone_number}">
<#assign disabledVal=""/>
</#if>
<#assign requiredHint = "<span class='requiredHint'> *</span>" />
<h2>${titleVerb}&nbsp;${i18n().telephone_number_for} ${editConfiguration.subjectName}</h2>
<#--Display error messages if any-->
<#if submissionErrors?has_content>
<section id="error-alert" role="alert">
<img src="${urls.images}/iconAlert.png" width="24" height="24" alert="${i18n().error_alert_icon}" />
<p>
<#--Checking if any required fields are empty-->
<#if lvf.submissionErrorExists(editSubmission, "telephoneNumber")>
${i18n().enter_telephone_number}<br />
</#if>
</p>
</section>
</#if>
<@lvf.unsupportedBrowser urls.base />
<section id="personHasTelephoneNumber" role="region">
<form id="personHasTelephoneNumber" class="customForm noIE67" action="${submitUrl}" role="add/edit phone">
<p>
<label for="telephoneNumber">${i18n().telephone_number} ${requiredHint}</label>
<input size="25" type="text" id="telephoneNumber" name="telephoneNumber" value="${telephoneNumberValue}" />
</p>
<input type="hidden" id="editKey" name="editKey" value="${editKey}"/>
<p class="submit">
<input type="submit" id="submit" value="${submitButtonText}"/><span class="or"> ${i18n().or} </span>
<a class="cancel" href="${cancelUrl}" title="${i18n().cancel_title}">${i18n().cancel_link}</a>
</p>
<p id="requiredLegend" class="requiredHint">* ${i18n().required_fields}</p>
</form>
</section>
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css" />')}
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/templates/freemarker/edit/forms/css/customForm.css" />')}
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/templates/freemarker/edit/forms/css/customFormWithAutocomplete.css" />')}
${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/extensions/String.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/browserUtils.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.bgiframe.pack.js"></script>')}

View file

@ -476,7 +476,7 @@ local:orgFaxContext a :ConfigContext ;
local:orgFaxConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-faxNumber.xml"^^xsd:string ;
:displayName "fax" ;
vitro:displayRankAnnot 10;
vitro:displayRankAnnot 20;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.SubjectHasPhoneFaxNumberGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
@ -688,3 +688,18 @@ local:grantRelatesConfig a :ObjectPropertyDisplayConfig ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupbiography> .
local:testRemovalContext a :ConfigContext ;
:hasConfiguration local:testRemovalConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0000053> ;
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Person> ;
:qualifiedBy <http://purl.obolibrary.org/obo/BFO_0000001> .
local:testRemovalConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "related by" ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:root ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:root ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupother> .

View file

@ -20,3 +20,6 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ;
local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ;
:deleteLinkSuppressed "true"^^xsd:boolean .
local:informationResourceInEditorshipConfig a :ObjectPropertyDisplayConfig ;
:deleteLinkSuppressed "true"^^xsd:boolean .

View file

@ -25,11 +25,14 @@ display:getDepartmentDataGetter
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT (str(?departmentLabel) AS ?deptLabel) ?dept
WHERE {
?individualURI vivo:researchAreaOf ?person .
?person vivo:personInPosition ?posn .
?posn vivo:positionInOrganization ?dept .
?person vivo:relatedBy ?posn .
?posn a vivo:Position .
?posn vivo:relates ?dept .
?dept a foaf:Organization .
?dept rdfs:label ?departmentLabel
OPTIONAL { ?posn vivo:dateTimeInterval ?dti
OPTIONAL { ?dti vivo:end ?end .
@ -44,19 +47,20 @@ display:getDepartmentDataGetter
## detail page for dept research areas ##
<http://vitro.mannlib.cornell.edu/ns/default#n55553333>
<http://vitro.mannlib.cornell.edu/ns/default/page#AffiliatedDepartments>
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default#n55552222> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default/datagetter#AffiliatedDepartmentsDG> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate> "individual-affiliated-dept-details.ftl" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title> "Affiliated Departments" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping> "/affiliatedDepartments" .
<http://vitro.mannlib.cornell.edu/ns/default#n55552222>
<http://vitro.mannlib.cornell.edu/ns/default/datagetter#AffiliatedDepartmentsDG>
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT (str (?prsnLabel) AS ?personLabel)
?person
(Str(?researchAreaLabel) AS ?raLabel)
@ -64,9 +68,11 @@ display:getDepartmentDataGetter
?raURI
?orgURI
WHERE {
?orgURI vivo:organizationForPosition ?posn .
?orgURI vivo:relatedBy ?posn .
?posn a vivo:Position .
?orgURI rdfs:label ?orgLabel .
?posn vivo:positionForPerson ?person .
?posn vivo:relates ?person .
?person a foaf:Person .
?person rdfs:label ?prsnLabel .
?person vivo:hasResearchArea ?raURI .
?raURI rdfs:label ?researchAreaLabel

View file

@ -32,10 +32,13 @@ display:getResearchAreaDataGetter
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT (str(?researchAreaLabel) AS ?raLabel) ?ra
WHERE {
?individualURI vivo:organizationForPosition ?posn .
?posn vivo:positionForPerson ?person .
?individualURI vivo:relatedBy ?posn .
?posn a vivo:Position .
?posn vivo:relates ?person .
?person a foaf:Person .
?person vivo:hasResearchArea ?ra .
?ra rdfs:label ?researchAreaLabel
OPTIONAL { ?posn vivo:dateTimeInterval ?dti
@ -51,19 +54,20 @@ display:getResearchAreaDataGetter
## detail page for non-academic department research areas ##
<http://vitro.mannlib.cornell.edu/ns/default#n55550000>
<http://vitro.mannlib.cornell.edu/ns/default/page#AffiliatedResearchAreas>
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default#n55551111> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default/datagetter#AffiliatedResearchAreasDG> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate> "individual-affiliated-res-area-details.ftl" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title> "Affiliated Research Areas" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping> "/affiliatedResearchAreas" .
<http://vitro.mannlib.cornell.edu/ns/default#n55551111>
<http://vitro.mannlib.cornell.edu/ns/default/datagetter#AffiliatedResearchAreasDG>
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT (str (?prsnLabel) AS ?personLabel)
?person
(str(?researchAreaLabel) AS ?raLabel)
@ -71,9 +75,11 @@ display:getResearchAreaDataGetter
?raURI
?orgURI
WHERE {
?orgURI vivo:organizationForPosition ?posn .
?orgURI vivo:relatedBy ?posn .
?posn a vivo:Position .
?orgURI rdfs:label ?organizationLabel .
?posn vivo:positionForPerson ?person .
?posn vivo:relates ?person .
?person a foaf:Person .
?person rdfs:label ?prsnLabel .
?person vivo:hasResearchArea ?raURI .
?raURI rdfs:label ?researchAreaLabel
@ -84,19 +90,20 @@ display:getResearchAreaDataGetter
## detail page for academic department research areas ##
<http://vitro.mannlib.cornell.edu/ns/default#n5100>
<http://vitro.mannlib.cornell.edu/ns/default/page#DepartmentalResearchAreas>
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default#n3450> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default/datagetter#DepartmentalResearchAreasDG> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate> "individual-dept-res-area-details.ftl" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title> "Departmental Research Areas" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping> "/deptResearchAreas" .
<http://vitro.mannlib.cornell.edu/ns/default#n3450>
<http://vitro.mannlib.cornell.edu/ns/default/datagetter#DepartmentalResearchAreasDG>
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT (str (?prsnLabel) AS ?personLabel)
?person
(Str(?researchAreaLabel) AS ?raLabel)
@ -104,9 +111,11 @@ display:getResearchAreaDataGetter
?raURI
?orgURI
WHERE {
?orgURI vivo:organizationForPosition ?posn .
?orgURI rdfs:label ?orgLabel .
?posn vivo:positionForPerson ?person .
?orgURI vivo:relatedBy ?posn .
?posn a vivo:Position .
?orgURI rdfs:label ?organizationLabel .
?posn vivo:relates ?person .
?person a foaf:Person .
?person rdfs:label ?prsnLabel .
?person vivo:hasResearchArea ?raURI .
?raURI rdfs:label ?researchAreaLabel
@ -134,14 +143,18 @@ display:getGrantsDataGetter
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
SELECT DISTINCT ?activity
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?grant
WHERE {
?individualURI vivo:organizationForPosition ?posn .
?posn vivo:positionForPerson ?person .
?person ?roleProperty ?role .
?roleProperty rdfs:subPropertyOf vivo:hasResearcherRole .
?role vivo:roleContributesTo ?activity .
?activity vivo:dateTimeInterval ?dti .
?individualURI vivo:relatedBy ?posn .
?posn a vivo:Position .
?posn vivo:relates ?person .
?person a foaf:Person .
?person <http://purl.obolibrary.org/obo/RO_0000053> ?role .
?role a vivo:ResearcherRole .
?role vivo:relatedBy ?grant .
?grant a vivo:Grant .
?grant vivo:dateTimeInterval ?dti .
?dti vivo:end ?end.
?end vivo:dateTime ?dt
FILTER (?dt > afn:now())
@ -151,35 +164,39 @@ display:getGrantsDataGetter
## data getter for the grants detail page ##
<http://vitro.mannlib.cornell.edu/ns/default#n1697>
<http://vitro.mannlib.cornell.edu/ns/default/page#DepartmentalGrants>
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default#n4170> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter> <http://vitro.mannlib.cornell.edu/ns/default/datagetter#DepartmentalGrantsDG> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate> "individual-dept-active-grants.ftl" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title> "Departmental Grants" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping> "/deptGrants" .
<http://vitro.mannlib.cornell.edu/ns/default#n4170>
<http://vitro.mannlib.cornell.edu/ns/default/datagetter#DepartmentalGrantsDG>
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
"""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
SELECT DISTINCT (str (?actLabel) AS ?activityLabel) ?dt (str(?departmentLabel) AS ?deptLabel) ?activity
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT (str (?gLabel) AS ?grantLabel) ?dt (str(?departmentLabel) AS ?deptLabel) ?grant
WHERE {
?individualURI vivo:organizationForPosition ?posn .
?individualURI vivo:relatedBy ?posn .
?posn a vivo:Position .
?individualURI rdfs:label ?departmentLabel .
?posn vivo:positionForPerson ?person .
?person ?roleProperty ?role .
?roleProperty rdfs:subPropertyOf vivo:hasResearcherRole .
?role vivo:roleContributesTo ?activity .
?activity rdfs:label ?actLabel .
?activity vivo:dateTimeInterval ?dti .
?posn vivo:relates ?person .
?person a foaf:Person .
?person <http://purl.obolibrary.org/obo/RO_0000053> ?role .
?role a vivo:ResearcherRole .
?role vivo:relatedBy ?grant .
?grant a vivo:Grant .
?grant rdfs:label ?gLabel .
?grant vivo:dateTimeInterval ?dti .
?dti vivo:end ?end.
?end vivo:dateTime ?dt
FILTER (?dt > afn:now())
}
ORDER BY ?activityLabel
ORDER BY ?gLabel
""" ;
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#saveToVar> "deptGrants" .

View file

@ -1,105 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
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.fields.ChildVClassesOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
public class PersonHasTelephoneNumberGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator {
private Log log = LogFactory.getLog(PersonHasTelephoneNumberGenerator.class);
@Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo();
initBasics(conf, vreq);
initPropertyParameters(vreq, session, conf);
initObjectPropForm(conf, vreq);
String phoneUri = getPhoneUri(vreq);
conf.setTemplate("personHasTelephoneNumber.ftl");
conf.setVarNameForSubject("person");
conf.setVarNameForPredicate("predicate");
conf.setVarNameForObject("individualVcard");
conf.setN3Required( Arrays.asList( n3ForNewPhone ) );
conf.setN3Optional( Arrays.asList( telephoneNumberAssertion ) );
conf.addNewResource("phone", DEFAULT_NS_FOR_NEW_RESOURCE);
conf.addNewResource("individualVcard", DEFAULT_NS_FOR_NEW_RESOURCE);
conf.setLiteralsOnForm(Arrays.asList("telephoneNumber" ));
conf.addSparqlForExistingLiteral("telephoneNumber", telephoneNumberQuery);
conf.addSparqlForAdditionalUrisInScope("individualVcard", individualVcardQuery);
if ( conf.isUpdate() ) {
HashMap<String, List<String>> urisInScope = new HashMap<String, List<String>>();
urisInScope.put("phone", Arrays.asList(new String[]{phoneUri}));
conf.addUrisInScope(urisInScope);
}
conf.addField( new FieldVTwo().
setName("telephoneNumber")
.setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("nonempty") ));
conf.addValidator(new AntiXssValidation());
prepare(vreq, conf);
return conf;
}
/* N3 assertions */
final static String n3ForNewPhone =
"?person <http://purl.obolibrary.org/obo/ARG_2000028> ?individualVcard . \n" +
"?individualVcard a <http://www.w3.org/2006/vcard/ns#Individual> . \n" +
"?individualVcard <http://purl.obolibrary.org/obo/ARG_2000029> ?person . \n" +
"?individualVcard <http://www.w3.org/2006/vcard/ns#hasTelephone> ?phone . \n" +
"?phone a <http://www.w3.org/2006/vcard/ns#Telephone> . " ;
final static String telephoneNumberAssertion =
"?phone <http://www.w3.org/2006/vcard/ns#telephone> ?telephoneNumber .";
/* Queries for editing an existing entry */
final static String individualVcardQuery =
"SELECT ?existingIndividualVcard WHERE { \n" +
"?person <http://purl.obolibrary.org/obo/ARG_2000028> ?existingIndividualVcard . \n" +
"}";
final static String telephoneNumberQuery =
"SELECT ?existingTelephoneNumber WHERE {\n"+
"?phone <http://www.w3.org/2006/vcard/ns#telephone> ?existingTelephoneNumber . }";
private String getPhoneUri(VitroRequest vreq) {
String phoneUri = vreq.getParameter("phoneUri");
return phoneUri;
}
}