Clears info response when clearing init response
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / data / RecordResponse.java
index 566ea09..85fdc9a 100644 (file)
@@ -4,49 +4,55 @@ import java.util.ArrayList;
 import java.util.List;\r
 \r
 import com.indexdata.mkjsf.pazpar2.data.Location;\r
-import com.indexdata.mkjsf.pazpar2.data.Pazpar2ResponseData;\r
+import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
-public class RecordResponse extends Pazpar2ResponseData {\r
+/**\r
+ * Data from the <code>record</code> command, can be accessed by <code>pzresp.record</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
+public class RecordResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = 6682722004285796002L;\r
 \r
   public String getRecId () {\r
-    return getOneElementValue("recid");\r
+    return getOneValue("recid");\r
   }\r
   \r
   public List<Location> getLocations() {\r
     List<Location> locations = new ArrayList<Location>();\r
     if (getElements("location")!=null) {      \r
       int i = 0;\r
-      for (Pazpar2ResponseData element : getElements("location")) {\r
+      for (ResponseDataObject element : getElements("location")) {\r
         ((Location)element).setSequenceNumber(i++);\r
         locations.add((Location)element);\r
       }\r
     } else {\r
-      logger.debug("Found no locations");\r
+      logger.trace("Found no locations");\r
     }\r
     return locations;\r
   }\r
 \r
   public String getTitle() {\r
-    return getOneElementValue("md-title");\r
+    return getOneValue("md-title");\r
   }\r
   \r
   public String getDate() {\r
-    return getOneElementValue("md-date");\r
+    return getOneValue("md-date");\r
   }\r
   \r
   public String getAuthor() {\r
-    return getOneElementValue("md-author");\r
+    return getOneValue("md-author");\r
   }\r
   \r
   public String getSubject() {\r
-    return getOneElementValue("md-subject");\r
+    return getOneValue("md-subject");\r
   }\r
   \r
   public String getSubjects() {\r
     StringBuilder builder = new StringBuilder("");\r
-    for (Pazpar2ResponseData data : getElements("md-subject")) {\r
+    for (ResponseDataObject data : getElements("md-subject")) {\r
       if (builder.length()==0) {\r
         builder.append(data.getValue());\r
       } else {\r
@@ -62,8 +68,17 @@ public class RecordResponse extends Pazpar2ResponseData {
   }\r
   \r
   public String getActiveClients () {\r
-    logger.info("Request to get activeclients");\r
-    return getOneElementValue("activeclients");\r
+    if (getIsBinary()) {\r
+      return "0";\r
+    } else {\r
+      String activeclients = getOneValue("activeclients");\r
+      if (activeclients == null || activeclients.length()==0) {\r
+        // Look for override\r
+        activeclients = getAttribute("activeclients");\r
+      }\r
+      logger.info("Request to get activeclients on record [" + getRecId() + "]. Is [" + activeclients + "]");    \r
+      return activeclients;\r
+    }\r
   }\r
    \r
 }\r