diff --git a/productMods/edit/forms/addClinicalRoleToPerson.jsp b/productMods/edit/forms/addClinicalRoleToPerson.jsp index ea113f7c..dab841f2 100644 --- a/productMods/edit/forms/addClinicalRoleToPerson.jsp +++ b/productMods/edit/forms/addClinicalRoleToPerson.jsp @@ -4,7 +4,7 @@ - + - + \ No newline at end of file diff --git a/productMods/edit/forms/addGrantRoleToPerson.jsp b/productMods/edit/forms/addGrantRoleToPerson.jsp index 3bfd22c3..b7d4535b 100644 --- a/productMods/edit/forms/addGrantRoleToPerson.jsp +++ b/productMods/edit/forms/addGrantRoleToPerson.jsp @@ -25,6 +25,7 @@ This is intended to create a set of statements like: <%@ 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.n3editing.StartYearBeforeEndYear"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> <%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> @@ -39,6 +40,7 @@ This is intended to create a set of statements like: String intDatatypeUri = XSD.xint.toString(); vreq.setAttribute("intDatatypeUri", intDatatypeUri); vreq.setAttribute("intDatatypeUriJson", MiscWebUtils.escape(intDatatypeUri)); + vreq.setAttribute("gYearDatatypeUriJson", MiscWebUtils.escape(XSD.gYear.toString())); String predicateUri = (String)request.getAttribute("predicateUri"); @@ -194,6 +196,7 @@ if ( ((String)request.getAttribute("predicateUri")).endsWith("hasPrincipalInvest //validator for addGrantRoleToPerson.jsp? //editConfig.addValidator(new AddGrantRoleToPersonValidator()); + editConfig.addValidator(new StartYearBeforeEndYear("startYear","endYear") ); Model model = (Model) application.getAttribute("jenaOntModel"); editConfig.prepareForNonUpdate(model); diff --git a/productMods/edit/forms/addHeadOfRoleToPerson.jsp b/productMods/edit/forms/addHeadOfRoleToPerson.jsp index 70ac4ef0..a6316bc9 100644 --- a/productMods/edit/forms/addHeadOfRoleToPerson.jsp +++ b/productMods/edit/forms/addHeadOfRoleToPerson.jsp @@ -4,11 +4,12 @@ - + - + \ No newline at end of file diff --git a/productMods/edit/forms/addOutreachRoleToPerson.jsp b/productMods/edit/forms/addOutreachRoleToPerson.jsp index e768d2aa..8fc67d33 100644 --- a/productMods/edit/forms/addOutreachRoleToPerson.jsp +++ b/productMods/edit/forms/addOutreachRoleToPerson.jsp @@ -4,10 +4,11 @@ - + - + - + \ No newline at end of file diff --git a/productMods/edit/forms/addResearcherRoleToPerson.jsp b/productMods/edit/forms/addResearcherRoleToPerson.jsp index 6fe07c1c..d08052c4 100644 --- a/productMods/edit/forms/addResearcherRoleToPerson.jsp +++ b/productMods/edit/forms/addResearcherRoleToPerson.jsp @@ -4,7 +4,7 @@ - + - + \ No newline at end of file diff --git a/productMods/edit/forms/addRoleToPersonTwoStage.jsp b/productMods/edit/forms/addRoleToPersonTwoStage.jsp index f5aa961c..67b2c883 100644 --- a/productMods/edit/forms/addRoleToPersonTwoStage.jsp +++ b/productMods/edit/forms/addRoleToPersonTwoStage.jsp @@ -38,7 +38,8 @@ <%@ 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.utils.TitleCase" %> -<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.StartDateBeforeEndDate"%> +<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.StartYearBeforeEndYear"%> +<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%> <%@ page import="org.apache.commons.logging.Log" %> <%@ page import="org.apache.commons.logging.LogFactory" %> @@ -46,22 +47,19 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> <%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %> - -<%@page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%> + <%-- These are the parameters that MUST be set of this form: - sparqlForAcFilter role type predicate inverse role activity type label (should be singular) super type of role types for roleActivityType select list generation --%> -${param.sparqlForAcFilter} + ${param.roleActivityTypeLabel} ${param.roleType} - ${param.roleActivityType_optionsType} ${param.roleActivityType_objectClassUri} ${param.roleActivityType_literalOptions} @@ -83,7 +81,7 @@ vreq.setAttribute("intDatatypeUri", intDatatypeUri); vreq.setAttribute("intDatatypeUriJson", MiscWebUtils.escape(intDatatypeUri)); - vreq.setAttribute("gYearMonthDatatypeUriJson", MiscWebUtils.escape(XSD.gYearMonth.toString())); + vreq.setAttribute("gYearDatatypeUriJson", MiscWebUtils.escape(XSD.gYear.toString())); vreq.setAttribute("roleActivityTitleCase", TitleCase.toTitleCase(vreq.getParameter("roleActivityTypeLabel"))); ObjectProperty op = wdf.getObjectPropertyDao().getObjectPropertyByURI( predicateUri ); @@ -99,22 +97,14 @@ <%--blank triggers default URI generation behavior --%> - - - SELECT ?existingStartYearMonth WHERE { - ?role <${startYearMonthUri}> ?existingStartYearMonth } - - - ?role <${startYearMonthUri}> ?startYearMonth . + + + ?role <${startYearUri}> ?startYear . - - - SELECT ?existingEndYearMonth WHERE { - ?role <${endYearMonthUri}> ?existingEndYearMonth } - - - ?role <${endYearMonthUri}> ?endYearMonth . + + + ?role <${endYearUri}> ?endYear . @@ -148,8 +138,8 @@ "predicate" : ["rolePredicate", "${predicateUriJson}" ], "object" : ["role", "${objectUriJson}", "URI" ], - "n3required" : [ "${n3ForNewRole}", "${startYearMonthAssertion}" ], - "n3optional" : [ "${n3ForNewActivity}", "${n3ForInverse}", "${endYearMonthAssertion}" ], + "n3required" : [ "${n3ForNewRole}", "${startYearAssertion}" ], + "n3optional" : [ "${n3ForNewActivity}", "${n3ForInverse}", "${endYearAssertion}" ], "newResources" : { "role" : "${defaultNamespace}", "roleActivity" : "${defaultNamespace}" }, @@ -157,7 +147,7 @@ "urisInScope" : { "inverseRolePredicate" : "${inversePredicate}" }, "literalsInScope": { }, "urisOnForm" : [ "roleActivity", "roleActivityType" ], - "literalsOnForm" : [ "title", "startYearMonth", "endYearMonth" ], + "literalsOnForm" : [ "title", "startYear", "endYear" ], "filesOnForm" : [ ], "sparqlForLiterals" : { }, "sparqlForUris" : { }, @@ -197,27 +187,27 @@ "rangeLang" : "", "assertions" : [ ] }, - "startYearMonth" : { + "startYear" : { "newResource" : "false", - "validators" : [ "datatype:${gYearMonthDatatypeUriJson}" ], + "validators" : [ "datatype:${gYearDatatypeUriJson}" ], "optionsType" : "UNDEFINED", "literalOptions" : [ ], "predicateUri" : "", "objectClassUri" : "", - "rangeDatatypeUri" : "${gYearMonthDatatypeUriJson}", + "rangeDatatypeUri" : "${gYearDatatypeUriJson}", "rangeLang" : "", - "assertions" : ["${startYearMonthAssertion}"] + "assertions" : ["${startYearAssertion}"] }, - "endYearMonth" : { + "endYear" : { "newResource" : "false", - "validators" : [ "datatype:${gYearMonthDatatypeUriJson}" ], + "validators" : [ "datatype:${gYearDatatypeUriJson}" ], "optionsType" : "UNDEFINED", "literalOptions" : [ ], "predicateUri" : "", "objectClassUri" : "", - "rangeDatatypeUri" : "${gYearMonthDatatypeUriJson}", + "rangeDatatypeUri" : "${gYearDatatypeUriJson}", "rangeLang" : "", - "assertions" : ["${endYearMonthAssertion}"] + "assertions" : ["${endYearAssertion}"] } } } @@ -230,7 +220,7 @@ EditConfiguration.putConfigInSession(editConfig,session); } - editConfig.addValidator(new StartDateBeforeEndDate("startYearMonth","endYearMonth") ); + editConfig.addValidator(new StartYearBeforeEndYear("startYear","endYear") ); //this will return the browser to the new activity entity after an edit. editConfig.setEntityToReturnTo("?roleActivity"); @@ -273,9 +263,10 @@

(Verify this match)

- - - + +

Dates of Participation

+ +

diff --git a/productMods/edit/forms/addServiceProviderRoleToPerson.jsp b/productMods/edit/forms/addServiceProviderRoleToPerson.jsp index bf8d2d91..cdcafcf6 100644 --- a/productMods/edit/forms/addServiceProviderRoleToPerson.jsp +++ b/productMods/edit/forms/addServiceProviderRoleToPerson.jsp @@ -4,10 +4,11 @@ - + - + - + \ No newline at end of file diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasAuthorValidator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasAuthorValidator.java index 41a44821..40cf365c 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasAuthorValidator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasAuthorValidator.java @@ -9,7 +9,6 @@ import com.hp.hpl.jena.rdf.model.Literal; public class PublicationHasAuthorValidator implements N3Validator { - private static String MISSING_AUTHOR_ERROR = "Must specify a new or existing author."; private static String MISSING_FIRST_NAME_ERROR = "Must specify the author's first name."; private static String MISSING_LAST_NAME_ERROR = "Must specify the author's last name."; private static String MALFORMED_LAST_NAME_ERROR = "Last name may not contain a comma. Please enter first name in first name field.";