1 package com.indexdata.mkjsf.pazpar2.data;
\r
3 import java.util.ArrayList;
\r
4 import java.util.List;
\r
6 import com.indexdata.mkjsf.pazpar2.data.Location;
\r
7 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;
\r
10 * Data from the <code>record</code> command, can be accessed by <code>pzresp.record</code>
\r
12 * @author Niels Erik
\r
15 public class RecordResponse extends ResponseDataObject {
\r
17 private static final long serialVersionUID = 6682722004285796002L;
\r
19 public String getRecId () {
\r
20 return getOneValue("recid");
\r
23 public List<Location> getLocations() {
\r
24 List<Location> locations = new ArrayList<Location>();
\r
25 if (getElements("location")!=null) {
\r
27 for (ResponseDataObject element : getElements("location")) {
\r
28 ((Location)element).setSequenceNumber(i++);
\r
29 locations.add((Location)element);
\r
32 logger.trace("Found no locations");
\r
37 public String getTitle() {
\r
38 return getOneValue("md-title");
\r
41 public String getDate() {
\r
42 return getOneValue("md-date");
\r
45 public String getAuthor() {
\r
46 return getOneValue("md-author");
\r
49 public String getSubject() {
\r
50 return getOneValue("md-subject");
\r
53 public String getSubjects() {
\r
54 StringBuilder builder = new StringBuilder("");
\r
55 for (ResponseDataObject data : getElements("md-subject")) {
\r
56 if (builder.length()==0) {
\r
57 builder.append(data.getValue());
\r
59 builder.append(", ");
\r
60 builder.append(data.getValue());
\r
63 return builder.toString();
\r
66 public Location getFirstLocation () {
\r
67 return getLocations().size()>0 ? getLocations().get(0) : null;
\r
70 public String getActiveClients () {
\r
71 if (getIsBinary()) {
\r
74 String activeclients = getOneValue("activeclients");
\r
75 if (activeclients == null || activeclients.length()==0) {
\r
76 // Look for override
\r
77 activeclients = getAttribute("activeclients");
\r
79 logger.info("Request to get activeclients on record [" + getRecId() + "]. Is [" + activeclients + "]");
\r
80 return activeclients;
\r