X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fdata%2FRecordResponse.java;h=85fdc9a5a4da22d68d32deeebc9611c2db184dda;hb=HEAD;hp=0ba79886e3f011f8b663af00dc02a6e75d602a5a;hpb=ccb28ae8d5d46d29c40bd8b1637522c212b80636;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordResponse.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordResponse.java index 0ba7988..85fdc9a 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordResponse.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordResponse.java @@ -4,43 +4,55 @@ import java.util.ArrayList; import java.util.List; import com.indexdata.mkjsf.pazpar2.data.Location; -import com.indexdata.mkjsf.pazpar2.data.Pazpar2ResponseData; +import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject; -public class RecordResponse extends Pazpar2ResponseData { +/** + * Data from the record command, can be accessed by pzresp.record + * + * @author Niels Erik + * + */ +public class RecordResponse extends ResponseDataObject { private static final long serialVersionUID = 6682722004285796002L; public String getRecId () { - return getOneElementValue("recid"); + return getOneValue("recid"); } public List getLocations() { List locations = new ArrayList(); - for (Pazpar2ResponseData element : getElements("location")) { - locations.add((Location)element); + if (getElements("location")!=null) { + int i = 0; + for (ResponseDataObject element : getElements("location")) { + ((Location)element).setSequenceNumber(i++); + locations.add((Location)element); + } + } else { + logger.trace("Found no locations"); } return locations; } public String getTitle() { - return getOneElementValue("md-title"); + return getOneValue("md-title"); } public String getDate() { - return getOneElementValue("md-date"); + return getOneValue("md-date"); } public String getAuthor() { - return getOneElementValue("md-author"); + return getOneValue("md-author"); } public String getSubject() { - return getOneElementValue("md-subject"); + return getOneValue("md-subject"); } public String getSubjects() { StringBuilder builder = new StringBuilder(""); - for (Pazpar2ResponseData data : getElements("md-subject")) { + for (ResponseDataObject data : getElements("md-subject")) { if (builder.length()==0) { builder.append(data.getValue()); } else { @@ -56,8 +68,17 @@ public class RecordResponse extends Pazpar2ResponseData { } public String getActiveClients () { - return getOneElementValue("activeclients"); + if (getIsBinary()) { + return "0"; + } else { + String activeclients = getOneValue("activeclients"); + if (activeclients == null || activeclients.length()==0) { + // Look for override + activeclients = getAttribute("activeclients"); + } + logger.info("Request to get activeclients on record [" + getRecId() + "]. Is [" + activeclients + "]"); + return activeclients; + } } - - + }