NIHVIVO-746 Minor code tweaks

This commit is contained in:
rjy7 2010-07-05 17:51:44 +00:00
parent 26f86e9bfe
commit 1ce57c6f01

View file

@ -31,7 +31,6 @@ core:authorInAuthorship (Person : Authorship) - inverse of linkedAuthor
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyComparator" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyComparator" %>
<%-- <%@ page import="edu.cornell.mannlib.vitro.webapp.controller.EntityMergedPropertyListController.PropertyRanker" %> --%>
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.EditConfiguration" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.EditConfiguration" %>
@ -255,13 +254,12 @@ SPARQL queries for existing values. --%>
String predicateUri = vreq.getParameter("predicateUri"); String predicateUri = vreq.getParameter("predicateUri");
Individual infoResource = vreq.getWebappDaoFactory().getIndividualDao().getIndividualByURI(subjectUri); Individual infoResource = vreq.getWebappDaoFactory().getIndividualDao().getIndividualByURI(subjectUri);
String vivoCore = "http://vivoweb.org/ontology/core#";
List<Individual> authorships = infoResource.getRelatedIndividuals(predicateUri); List<Individual> authorships = infoResource.getRelatedIndividuals(predicateUri);
String rankPredicateUri = "http://vivoweb.org/ontology/core#authorRank";
vreq.setAttribute("infoResourceName", infoResource.getName()); vreq.setAttribute("infoResourceName", infoResource.getName());
String linkedAuthorProperty = "http://vivoweb.org/ontology/core#linkedAuthor";
List<String> customJs = new ArrayList<String>(Arrays.asList(JavaScript.JQUERY_UI.path(), List<String> customJs = new ArrayList<String>(Arrays.asList(JavaScript.JQUERY_UI.path(),
JavaScript.UTILS.path(), JavaScript.UTILS.path(),
JavaScript.CUSTOM_FORM_UTILS.path(), JavaScript.CUSTOM_FORM_UTILS.path(),
@ -299,19 +297,21 @@ SPARQL queries for existing values. --%>
<ul id="authorships" <%= ulClass %>> <ul id="authorships" <%= ulClass %>>
<% <%
String rankPredicateUri = vivoCore + "authorRank";
// RY Should get authorRank properties rather than Authorship individuals; then can use // RY Should get authorRank object property stmts rather than Authorship individuals; then can use
// existing PropertyRanker // existing PropertyRanker. But since PropertyRanker is a private class of EntityMergedPropertyListController,
// this isn't so straightforward.
DataPropertyComparator comp = new DataPropertyComparator(rankPredicateUri); DataPropertyComparator comp = new DataPropertyComparator(rankPredicateUri);
Collections.sort(authorships, comp); Collections.sort(authorships, comp);
int maxRank = 0; int maxRank = 0;
int position = 0; int authorshipCount = 0;
for ( Individual authorship : authorships ) { for ( Individual authorship : authorships ) {
Individual author = authorship.getRelatedIndividual(linkedAuthorProperty); Individual author = authorship.getRelatedIndividual(vivoCore + "linkedAuthor");
if ( author != null ) { if ( author != null ) {
position++; authorshipCount++;
String rankValue = ""; String rankValue = "";
DataPropertyStatement rankStmt = authorship.getDataPropertyStatement(rankPredicateUri); DataPropertyStatement rankStmt = authorship.getDataPropertyStatement(rankPredicateUri);
if (rankStmt != null) { if (rankStmt != null) {
@ -324,14 +324,12 @@ SPARQL queries for existing values. --%>
} }
request.setAttribute("rankValue", rankValue); request.setAttribute("rankValue", rankValue);
request.setAttribute("authorName", author.getName()); request.setAttribute("authorName", author.getName());
// Doesn't seem to need urlencoding to add as id attribute value
//request.setAttribute("authorUri", URLEncoder.encode(author.getURI(), "UTF-8"));
request.setAttribute("authorUri", author.getURI()); request.setAttribute("authorUri", author.getURI());
request.setAttribute("authorshipUri", authorship.getURI()); request.setAttribute("authorshipUri", authorship.getURI());
// This value is used to replace a moved element after a failed reorder. // This value is used to replace a moved element after a failed reorder.
// It's not the same as rank, because ranks may have gaps. // It's not the same as rank, because ranks may have gaps.
request.setAttribute("position", position); request.setAttribute("position", authorshipCount);
%> %>
<c:url var="authorHref" value="/individual"> <c:url var="authorHref" value="/individual">
@ -361,7 +359,7 @@ SPARQL queries for existing values. --%>
</ul> </ul>
<% <%
if (authorships.size() == 0) { if (authorshipCount == 0) {
%><p>This publication currently has no authors specified.</p><% %><p>This publication currently has no authors specified.</p><%
} }
%> %>