From 7cbe8b9683fc8ed1d9b1044244fdd7628772c7cd Mon Sep 17 00:00:00 2001 From: bdc34 Date: Wed, 14 Jul 2010 23:30:38 +0000 Subject: [PATCH] Starting to add editing of existing role to custom form. NIHVIVO-629 --- .../edit/forms/addRoleToPersonTwoStage.jsp | 53 +++++++++++++++---- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/productMods/edit/forms/addRoleToPersonTwoStage.jsp b/productMods/edit/forms/addRoleToPersonTwoStage.jsp index 67b2c883..e545e959 100644 --- a/productMods/edit/forms/addRoleToPersonTwoStage.jsp +++ b/productMods/edit/forms/addRoleToPersonTwoStage.jsp @@ -97,6 +97,9 @@ <%--blank triggers default URI generation behavior --%> +<%-- label is required if we are doing an update --%> +<%= request.getAttribute("objectUri")== null?"":"\"nonempty\"," %> + ?role <${startYearUri}> ?startYear . @@ -116,15 +119,41 @@ ?roleActivity core:relatedRole ?role . - - ?roleActivity <${label}> ?title . + ?roleActivity a ?roleActivityType . + + ?roleActivity <${label}> ?title . + + ?role ?inverseRolePredicate ?person. + + PREFIX core: <${vivoCore}> + PREFIX rdfs: <${rdfs}> + SELECT ?existingTitle WHERE { + ?role core:roleIn ?existingActivity . + ?existingActivity rdfs:label ?existingTitle . } + + + + PREFIX core: <${vivoCore}> + SELECT ?existingStartYear WHERE { ?role core:startYear ?existingStartYear .} + + + + PREFIX core: <${vivoCore}> + SELECT ?existingStartYear WHERE { ?role core:endYear ?existingStartYear .} + + + + PREFIX core: <${vivoCore}> + SELECT ?existingActivity WHERE { ?role core:roleIn ?existingActivity . } + + ${publicationsClassGroupUri} @@ -138,8 +167,8 @@ "predicate" : ["rolePredicate", "${predicateUriJson}" ], "object" : ["role", "${objectUriJson}", "URI" ], - "n3required" : [ "${n3ForNewRole}", "${startYearAssertion}" ], - "n3optional" : [ "${n3ForNewActivity}", "${n3ForInverse}", "${endYearAssertion}" ], + "n3required" : [ "${n3ForNewRole}", "${startYearAssertion}" ], + "n3optional" : [ "${n3ForNewActivityTitle}", "${n3ForNewActivityType}", "${n3ForInverse}", "${endYearAssertion}" ], "newResources" : { "role" : "${defaultNamespace}", "roleActivity" : "${defaultNamespace}" }, @@ -151,19 +180,19 @@ "filesOnForm" : [ ], "sparqlForLiterals" : { }, "sparqlForUris" : { }, - "sparqlForExistingLiterals" : { }, - "sparqlForExistingUris" : { }, + "sparqlForExistingLiterals" : { "title":"${titleQuery}", "startYearMonth":"${startYearMonthQuery}", "endYearMonth":"${endYearMonthQuery}" }, + "sparqlForExistingUris" : { "roleActivity":"${activityQuery}" }, "fields" : { "title" : { "newResource" : "false", - "validators" : [ "datatype:${stringDatatypeUriJson}" ], + "validators" : [ ${labelRequired} "datatype:${stringDatatypeUriJson}" ], "optionsType" : "UNDEFINED", "literalOptions" : [ ], "predicateUri" : "", "objectClassUri" : "", "rangeDatatypeUri" : "${stringDatatypeUriJson}", "rangeLang" : "", - "assertions" : [ ] + "assertions" : ["${n3ForNewActivityTitle}" ] }, "roleActivityType" : { "newResource" : "true", @@ -174,7 +203,7 @@ "objectClassUri" : "${roleActivityType_objectClassUri}", "rangeDatatypeUri" : "", "rangeLang" : "", - "assertions" : [ ] + "assertions" : ["${n3ForNewActivityType}" ] }, "roleActivity" : { "newResource" : "true", @@ -227,7 +256,11 @@ Model model = (Model) application.getAttribute("jenaOntModel"); String objectUri = (String) request.getAttribute("objectUri"); - editConfig.prepareForNonUpdate(model); // we're only adding new, not editing existing + if (objectUri != null) { + editConfig.prepareForObjPropUpdate(model); + } else { + editConfig.prepareForNonUpdate(model); + } List customJs = new ArrayList(Arrays.asList(JavaScript.JQUERY_UI.path(), JavaScript.CUSTOM_FORM_UTILS.path(),