Fixes npe when no subjects in location
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / data / Location.java
1 package com.indexdata.mkjsf.pazpar2.data;\r
2 \r
3 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
4 \r
5 /**\r
6  * Data from the <code>show</code> command, child object of Hit\r
7  * \r
8  * @author Niels Erik\r
9  *\r
10  */\r
11 public class Location extends ResponseDataObject {\r
12     \r
13   private static final long serialVersionUID = -1386527442857478225L;\r
14   private int seqno = -1;\r
15   \r
16   public String getId() {\r
17     return getAttribute("id");\r
18   }\r
19   \r
20   public String getChecksum() {\r
21     logger.debug("Request to get checksum");\r
22     return getAttribute("checksum"); \r
23   }\r
24     \r
25   public String getName () {\r
26     return getAttribute("name");\r
27   }\r
28   \r
29   public String getSubject() {\r
30     return getOneValue("md-subject");\r
31   }\r
32   \r
33   public void setSequenceNumber(int num) {\r
34     seqno = num;\r
35   }\r
36   \r
37   public int getSequenceNumber () {\r
38     return seqno;\r
39   }\r
40   \r
41   public String getSubjects() {\r
42     StringBuilder builder = new StringBuilder("");\r
43     if (getElements("md-subject") != null) {\r
44       for (ResponseDataObject data : getElements("md-subject")) {\r
45         if (builder.length()==0) {\r
46           builder.append(data.getValue());\r
47         } else {\r
48           builder.append(", ");\r
49           builder.append(data.getValue());\r
50         }\r
51       }\r
52     }\r
53     return builder.toString();\r
54   }\r
55 \r
56   public String getAuthor() {\r
57     return getOneValue("md-author");\r
58   }\r
59   \r
60   public String getAuthors() {\r
61     StringBuilder builder = new StringBuilder("");\r
62     if (getElements("md-author") != null) {\r
63       for (ResponseDataObject data : getElements("md-author")) {\r
64         if (builder.length()==0) {\r
65           builder.append(data.getValue());\r
66         } else {\r
67           builder.append(", ");\r
68           builder.append(data.getValue());\r
69         }\r
70       }\r
71     }\r
72     return builder.toString();\r
73   }\r
74   \r
75 }\r