diff --git a/app/views/Helper.java b/app/views/Helper.java index 35c07447..12ff9f8e 100644 --- a/app/views/Helper.java +++ b/app/views/Helper.java @@ -388,8 +388,7 @@ public static List> listAuthors(Map h) { String roleUri = c.at("/role/0/@id").asText(); String uri = c.at("/agent/0/@id").asText(); - if ("http://id.loc.gov/vocabulary/relators/ctb".equals(roleUri) - || "http://id.loc.gov/vocabulary/relators/cre".equals(roleUri) + if ("http://id.loc.gov/vocabulary/relators/cre".equals(roleUri) || "http://id.loc.gov/vocabulary/relators/aut".equals(roleUri)) { Map contribution = new HashMap<>(); contribution.put("id", uri); @@ -401,6 +400,27 @@ public static List> listAuthors(Map h) { } return result; } + + public static List> listContributors(Map h) { + List> result = new ArrayList<>(); + JsonNode hit = new ObjectMapper().valueToTree(h); + for (JsonNode c : hit.at("/contribution")) { + String name = c.at("/agent/0/label").asText(); + String role = c.at("/role/0/label").asText(); + String roleUri = c.at("/role/0/@id").asText(); + String uri = c.at("/agent/0/@id").asText(); + + if ("http://id.loc.gov/vocabulary/relators/ctb".equals(roleUri)) { + Map contribution = new HashMap<>(); + contribution.put("id", uri); + contribution.put("label", name); + contribution.put("roleName", role); + contribution.put("roleId", roleUri); + result.add(contribution); + } + } + return result; + } public static List> listCreators(Map h) { List> result = new ArrayList<>(); diff --git a/app/views/tags/getTitle.scala.html b/app/views/tags/getTitle.scala.html index 281d7772..b9afac67 100644 --- a/app/views/tags/getTitle.scala.html +++ b/app/views/tags/getTitle.scala.html @@ -68,13 +68,18 @@

@if(hit.contains("contribution")){
    - @for(c <-views.Helper.listAuthors(hit)){ + @for(a <-views.Helper.listAuthors(hit)){ +
  1. @displayAuthors(a.get("id").toString(),a.get("label").toString(),a.get("roleId").toString(),a.get("roleName").toString())
  2. + } +
+
    + @for(c <-views.Helper.listContributors(hit)){
  1. @displayAuthors(c.get("id").toString(),c.get("label").toString(),c.get("roleId").toString(),c.get("roleName").toString())
  2. }
}else{ -
    +
      @for(c <-views.Helper.listCreators(hit)){
    1. @displayCreators(c.get("id"),c.get("label").toString())
    2. } diff --git a/app/views/tags/resourceShortView.scala.html b/app/views/tags/resourceShortView.scala.html index 88b1f7df..4fd5a0ab 100644 --- a/app/views/tags/resourceShortView.scala.html +++ b/app/views/tags/resourceShortView.scala.html @@ -62,13 +62,18 @@

      @if(hit.contains("contribution")){
        - @for(c <-views.Helper.listAuthors(hit)){ + @for(a <-views.Helper.listAuthors(hit)){ +
      1. @displayAuthors(a.get("id").toString(),a.get("label").toString(),a.get("roleId").toString(),a.get("roleName").toString())
      2. + } +
      +
        + @for(c <-views.Helper.listContributors(hit)){
      1. @displayAuthors(c.get("id").toString(),c.get("label").toString(),c.get("roleId").toString(),c.get("roleName").toString())
      2. }
      }else{ -
        +
          @for(c <-views.Helper.listCreators(hit)){
        1. @displayCreators(c.get("id"),c.get("label"))
        2. } diff --git a/public/stylesheets/main.css b/public/stylesheets/main.css index 752439a9..d94987e5 100644 --- a/public/stylesheets/main.css +++ b/public/stylesheets/main.css @@ -324,7 +324,7 @@ do not show separator before external links font-size:12pt; } -.search .author-title-list, .search .publicationYear { +.search .author-title-list, .search .contributors-title-list, .search .publicationYear { display: inline; list-style: none; list-style-type: none; @@ -334,7 +334,7 @@ do not show separator before external links font-size:10pt; } -.author-title-list { +.author-title-list, .contributors-title-list, .creators-title-list { display: inline; list-style: none; list-style-type: none; @@ -342,17 +342,22 @@ do not show separator before external links padding: 0; } -.author-title-list li { +.author-title-list li, .contributors-title-list li, .creators-title-list li { display: inline; } -.author-title-list li:after { - content: "| "; +.author-title-list li:after, .contributors-title-list li:after, .creators-title-list li:after { + content: " | "; } .author-title-list li:last-child:after { + content: " . "; +} + +.contributors-title-list li:last-child:after, .creators-title-list li:last-child:after { content: ""; } + .contribution tr td, .contribution tr th { margin: 0; padding: 0;