NIHVIVO-300 Merge changes from rel-1.0-maint to fix ed background short view

This commit is contained in:
rjy7 2010-04-08 15:19:14 +00:00
parent ab2869f469
commit 2f3545796c

View file

@ -5,108 +5,117 @@
<%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/StringProcessorTag" prefix="p" %> <%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/StringProcessorTag" prefix="p" %>
<%-- <%--
This is a custom short view render for educational background. This is a custom short view render for educational background.
The variable individual is the OBJECT of the property statement to be rendered. -- The variable individual is the OBJECT of the property statement to be rendered. --
In this JSP that is the Educational Background, not the Person, Organization or DegreeType In this JSP that is the Educational Background, not the Person, Organization or DegreeType
--%> --%>
<c:choose> <c:choose>
<c:when test="${!empty individual}"> <c:when test="${!empty individual}">
<c:choose> <c:choose>
<%-- SUBJECT is a Person --%> <%-- SUBJECT is a Person --%>
<c:when test="${predicateUri == 'http://vivoweb.org/ontology/core#educationalBackground'}"> <c:when test="${predicateUri == 'http://vivoweb.org/ontology/core#educationalBackground'}">
<c:set var="year" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#year'].dataPropertyStatements[0].data}"/>
<c:set var="degreeMajor" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#majorField'].dataPropertyStatements[0].data}"/> <%-- Degree type and major --%>
<c:set var="degreeStr" value="" />
<c:set var="degreeSupplementalInfo" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#supplementalInformation'].dataPropertyStatements[0].data}"/> <c:set var="degreeType" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#degreeTypeAwarded'].objectPropertyStatements[0].object}"/>
<c:if test="${ not empty degreeSupplementalInfo }"> <c:set var="degreeAbbreviation" value="${degreeType.dataPropertyMap['http://vivoweb.org/ontology/core#degreeAbbreviation'].dataPropertyStatements[0].data}"/>
<c:set var="degreeSupplementalInfo" value=", ${degreeSupplementalInfo}"/> <c:set var="degreeStr" value="${!empty degreeAbbreviation ? degreeAbbreviation : degreeType.name }" />
</c:if> <c:set var="degreeMajor" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#majorField'].dataPropertyStatements[0].data}"/>
<c:if test="${ ! empty degreeMajor }">
<c:set var="selectedOrganization" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#organizationGrantingDegree'].objectPropertyStatements[0].object}"/> <c:set var="degreeStr" value="${degreeStr} in ${degreeMajor}" />
<c:url var="selectedOrganizationURL" value="/individual"> </c:if>
<c:param name="uri" value="${selectedOrganization.URI}"/> <c:if test="${ ! empty degreeStr }">
</c:url> <c:set var="degreeStr"><p:process>${degreeStr}</p:process></c:set>
<c:set var="selectedOrganizationStr" >, <a href='${selectedOrganizationURL}'><p:process>${selectedOrganization.name}</p:process></a></c:set> </c:if>
<c:set var="degreeDeptOrSchool" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#departmentOrSchool'].dataPropertyStatements[0].data}"/> <%-- Organization granting degree --%>
<c:if test="${ not empty degreeDeptOrSchool }"> <c:set var="selectedOrganization" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#organizationGrantingDegree'].objectPropertyStatements[0].object}"/>
<c:set var="selectedOrganizationStr">${selectedOrganizationStr}, <p:process>${degreeDeptOrSchool}</p:process></c:set> <c:if test="${ ! empty selectedOrganization }">
</c:if> <c:url var="selectedOrganizationURL" value="/individual">
<c:param name="uri" value="${selectedOrganization.URI}"/>
</c:url>
<c:set var="degreeType" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#degreeTypeAwarded'].objectPropertyStatements[0].object}"/> <c:set var="selectedOrganizationStr" ><a href='${selectedOrganizationURL}'><p:process>${selectedOrganization.name}</p:process></a></c:set>
<c:set var="degreeAbbreviation" value="${degreeType.dataPropertyMap['http://vivoweb.org/ontology/core#degreeAbbreviation'].dataPropertyStatements[0].data}"/> </c:if>
<c:if test="${ empty degreeAbbreviation }">
<c:set var="degreeAbbreviation" value="${degreeType.name}"/> <%-- Optional department/school to organization --%>
</c:if> <c:set var="degreeDeptOrSchool" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#departmentOrSchool'].dataPropertyStatements[0].data}"/>
<c:if test="${ ! empty degreeDeptOrSchool }">
<c:choose> </c:if>
<%-- degreeMajor, year, org and abbreviation are all required --%>
<c:when test="${!empty degreeAbbreviation && ! empty year && ! empty degreeMajor && ! empty selectedOrganizationStr }"> <%-- Year of degree --%>
<p:process>${degreeAbbreviation} in ${degreeMajor}</p:process> ${selectedOrganizationStr}, <p:process>${year} ${degreeSupplementalInfo}</p:process> <c:set var="year" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#year'].dataPropertyStatements[0].data}"/>
</c:when> <c:if test="${ ! empty year }">
<c:when test="${!empty degreeAbbreviation && ! empty year && empty degreeMajor && ! empty selectedOrganizationStr }"> <c:set var="year"><p:process>${year}</p:process></c:set>
<p:process>${degreeAbbreviation}</p:process> ${selectedOrganizationStr}, <p:process>${year} ${degreeDeptOrSchool} ${degreeSupplementalInfo}</p:process> </c:if>
</c:when>
<c:when test="${!empty degreeAbbreviation && empty year && empty degreeMajor && ! empty selectedOrganizationStr }"> <%-- Supplemental information --%>
<p:process>${degreeAbbreviation}</p:process> {selectedOrganizationStr} <p:process> ${degreeDeptOrSchool} ${degreeSupplementalInfo}</p:process> <c:set var="degreeSupplementalInfo" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#supplementalInformation'].dataPropertyStatements[0].data}"/>
</c:when> <c:if test="${ ! empty degreeSupplementalInfo }">
<c:when test="${!empty degreeAbbreviation && ! empty year && empty degreeMajor && empty selectedOrganizationStr }"> <c:set var="degreeSupplementalInfo"><p:process>${degreeSupplementalInfo}</p:process></c:set>
<p:process>${degreeAbbreviation} ${year} ${degreeDeptOrSchool} ${degreeSupplementalInfo}</p:process> </c:if>
</c:when>
<c:otherwise> <%-- Build the output string --%>
<a href="${objLink}"><p:process>educational background ${individual.name}</p:process></a> <c:choose>
</c:otherwise> <c:when test="${ ! empty degreeStr }">
</c:choose> ${degreeStr}
</c:when> <c:if test="${ ! empty selectedOrganizationStr}">, ${selectedOrganizationStr}</c:if>
<c:if test="${ ! empty degreeDeptOrSchool}">, ${degreeDeptOrSchool}</c:if>
<%-- SUBJECT is a Degree Type --%> <c:if test="${ ! empty year }">, ${year}</c:if>
<c:when test="${predicateUri == 'http://vivoweb.org/ontology/core#awardedTo'}"> <c:if test="${ ! empty degreeSupplementalInfo }">, ${degreeSupplementalInfo}</c:if>
<c:set var="year" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#year'].dataPropertyStatements[0].data}"/> </c:when>
<c:set var="degreeMajor" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#majorField'].dataPropertyStatements[0].data}"/> <c:otherwise>
<a href="${objLink}"><p:process>educational background ${individual.name}</p:process></a>
<c:set var="selectedOrganization" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#organizationGrantingDegree'].objectPropertyStatements[0].object}"/> </c:otherwise>
<c:set var="selectedOrganizationName" value="${selectedOrganization.name}"/> </c:choose>
</c:when>
<c:set var="person" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#educationalBackgroundOf'].objectPropertyStatements[0].object}"/>
<c:set var="personName" value="${person.name}"/> <%-- SUBJECT is a Degree Type --%>
<c:url var="personURL" value="/individual"><c:param name="uri" value="${person.URI}"/></c:url> <c:when test="${predicateUri == 'http://vivoweb.org/ontology/core#awardedTo'}">
<c:set var="personLink" ><a href='${personURL}'><p:process>${personName}</p:process></a></c:set> <c:set var="year" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#year'].dataPropertyStatements[0].data}"/>
<c:set var="degreeMajor" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#majorField'].dataPropertyStatements[0].data}"/>
<c:url var="objLink" value="/individual"><c:param name="uri" value="${individual.URI}"/></c:url>
<c:set var="selectedOrganization" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#organizationGrantingDegree'].objectPropertyStatements[0].object}"/>
<c:choose> <c:set var="selectedOrganizationName" value="${selectedOrganization.name}"/>
<c:when test="${! empty personName && ! empty year && ! empty degreeMajor && ! empty selectedOrganizationName }">
${personLink} <p:process> in ${degreeMajor}, ${selectedOrganizationName}, ${year}</p:process> <c:set var="person" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#educationalBackgroundOf'].objectPropertyStatements[0].object}"/>
</c:when> <c:set var="personName" value="${person.name}"/>
<c:when test="${! empty personName && empty year && ! empty degreeMajor && ! empty selectedOrganizationName }"> <c:url var="personURL" value="/individual"><c:param name="uri" value="${person.URI}"/></c:url>
${personLink} <p:process> in ${degreeMajor}, ${selectedOrganizationName}</p:process> <c:set var="personLink" ><a href='${personURL}'><p:process>${personName}</p:process></a></c:set>
</c:when>
<c:when test="${! empty personName && empty year && ! empty degreeMajor && empty selectedOrganizationName }"> <c:url var="objLink" value="/individual"><c:param name="uri" value="${individual.URI}"/></c:url>
${personLink} <p:process> in ${degreeMajor}</p:process>
</c:when> <c:choose>
<c:when test="${! empty personName && ! empty year && empty degreeMajor && ! empty selectedOrganizationName }"> <c:when test="${! empty personName && ! empty year && ! empty degreeMajor && ! empty selectedOrganizationName }">
${personLink} <p:process> ${selectedOrganizationName}, ${year}</p:process> ${personLink} <p:process> in ${degreeMajor}, ${selectedOrganizationName}, ${year}</p:process>
</c:when> </c:when>
<c:otherwise> <c:when test="${! empty personName && empty year && ! empty degreeMajor && ! empty selectedOrganizationName }">
<a href="${objLink}"><p:process>educational background ${individual.name}</p:process></a> ${personLink} <p:process> in ${degreeMajor}, ${selectedOrganizationName}</p:process>
</c:otherwise> </c:when>
</c:choose> <c:when test="${! empty personName && empty year && ! empty degreeMajor && empty selectedOrganizationName }">
</c:when> ${personLink} <p:process> in ${degreeMajor}</p:process>
</c:when>
<%-- The predicate was not one of the predicted ones, so create a normal link --%> <c:when test="${! empty personName && ! empty year && empty degreeMajor && ! empty selectedOrganizationName }">
<c:otherwise> ${personLink} <p:process> ${selectedOrganizationName}, ${year}</p:process>
<c:url var="objLink" value="/individual"><c:param name="uri" value="${individual.URI}"/></c:url> </c:when>
<a href="${objLink}"><p:process>${individual.name}</p:process></a> <c:otherwise>
</c:otherwise> <a href="${objLink}"><p:process>educational background ${individual.name}</p:process></a>
</c:choose> </c:otherwise>
</c:choose>
</c:when>
<%-- The predicate was not one of the predicted ones, so create a normal link --%>
<c:otherwise>
<c:url var="objLink" value="/individual"><c:param name="uri" value="${individual.URI}"/></c:url>
<a href="${objLink}"><p:process>${individual.name}</p:process></a>
</c:otherwise>
</c:choose>
</c:when> </c:when>
<%-- This clause is when there is no object individual defined, it should never be reached. --%> <%-- This clause is when there is no object individual defined, it should never be reached. --%>
<c:otherwise> <c:otherwise>
<c:out value="Nothing to draw in edBackgroundShortView"/> <c:out value="Nothing to draw in edBackgroundShortView"/>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>