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 @@
" class="verifyMatch">(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.";