Adds convenience methods for UI pages
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Fri, 31 May 2013 00:40:04 +0000 (20:40 -0400)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Fri, 31 May 2013 00:40:04 +0000 (20:40 -0400)
Renames one method and add others for conveniently getting data
from response data objects.

Adds utility method for concatenating strings in EL expressions
(no such built-in function in JSF EL)

13 files changed:
src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/Hit.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/InitResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/Location.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseDataObject.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/SearchResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/ShowResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/StatResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/Target.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/AuthResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/TargetCategory.java
src/main/java/com/indexdata/mkjsf/utils/Utils.java

index db4a7bc..4302d9d 100644 (file)
@@ -37,19 +37,19 @@ public class CommandError extends ResponseDataObject implements ErrorInterface {
   }\r
   \r
   public String getLabel() {\r
-    return getOneElementValue("commandname");\r
+    return getOneValue("commandname");\r
   }\r
       \r
   public String getMessage() {\r
     if (isServiceError()) {      \r
       return getServiceError().getMsg();\r
     } else {      \r
-      return getOneElementValue("errormessage");\r
+      return getOneValue("errormessage");\r
     }\r
   }\r
     \r
   public String getException () {\r
-    return getOneElementValue("exception");\r
+    return getOneValue("exception");\r
   }\r
     \r
   public List<String> getSuggestions() { \r
index 6eb291e..7b6885a 100644 (file)
@@ -20,11 +20,11 @@ public class Hit extends ResponseDataObject {
   }\r
   \r
   public String getTitle () {\r
-    return getOneElementValue("md-title");\r
+    return getOneValue("md-title");\r
   }\r
   \r
   public String getTitleRemainder() {\r
-    return getOneElementValue("md-title-remainder");\r
+    return getOneValue("md-title-remainder");\r
   }\r
   \r
   public String getAuthor (String prefix) {\r
@@ -32,24 +32,27 @@ public class Hit extends ResponseDataObject {
   }\r
   \r
   public String getAuthor () {\r
-    return getOneElementValue("md-author");\r
+    return getOneValue("md-author");\r
   }\r
   \r
   public String getTitleResponsibility() {\r
-    return getOneElementValue("md-title-responsibility");\r
+    return getOneValue("md-title-responsibility");\r
   }\r
   \r
   public String getDate() {\r
-    return getOneElementValue("md-date");\r
+    return getOneValue("md-date");\r
   }\r
   \r
   public String getTitleComplete() {\r
-    return getOneElementValue("md-title-complete");\r
+    return getOneValue("md-title-complete");\r
   }\r
     \r
   public String getRecId() {\r
-    return getOneElementValue("recid");\r
+    return getOneValue("recid");\r
+  }\r
+  \r
+  public String getDescription() {\r
+    return getOneValue("md-description");\r
   }\r
-\r
   \r
 }\r
index 6599082..76eda96 100644 (file)
@@ -5,7 +5,7 @@ public class InitResponse extends ResponseDataObject {
   private static final long serialVersionUID = -1479775157276901600L;\r
 \r
   public String getStatus() {\r
-    return getOneElementValue("status");\r
+    return getOneValue("status");\r
   }\r
 \r
 }\r
index b66b717..19b1dcf 100644 (file)
@@ -22,7 +22,7 @@ public class Location extends ResponseDataObject {
   }\r
   \r
   public String getSubject() {\r
-    return getOneElementValue("md-subject");\r
+    return getOneValue("md-subject");\r
   }\r
   \r
   public void setSequenceNumber(int num) {\r
@@ -47,7 +47,7 @@ public class Location extends ResponseDataObject {
   }\r
 \r
   public String getAuthor() {\r
-    return getOneElementValue("md-author");\r
+    return getOneValue("md-author");\r
   }\r
   \r
   public String getAuthors() {\r
index 89f5fbb..b1de2da 100644 (file)
@@ -11,7 +11,7 @@ public class RecordResponse extends ResponseDataObject {
   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
@@ -29,19 +29,19 @@ public class RecordResponse extends ResponseDataObject {
   }\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
@@ -65,7 +65,7 @@ public class RecordResponse extends ResponseDataObject {
     if (getIsBinary()) {\r
       return "0";\r
     } else {\r
-      String activeclients = getOneElementValue("activeclients");\r
+      String activeclients = getOneValue("activeclients");\r
       if (activeclients == null || activeclients.length()==0) {\r
         // Look for override\r
         activeclients = getAttribute("activeclients");\r
index 8ffd810..572be9a 100644 (file)
@@ -43,7 +43,7 @@ public class ResponseDataObject implements Serializable {
       elements.get(name).add(value);\r
     } else {\r
       List<ResponseDataObject> list = new ArrayList<ResponseDataObject>();\r
-      list.add(value);\r
+      list.add(value);      \r
       elements.put(name,list);\r
     }\r
   }\r
@@ -52,6 +52,37 @@ public class ResponseDataObject implements Serializable {
     return elements.get(name);\r
   }\r
   \r
+  public List<ResponseDataObject> getElements(String name, int maxElements) {\r
+    if (getElements(name)!=null) {\r
+      int size = getElements(name).size();\r
+      if (size>0) {\r
+        return ((ArrayList<ResponseDataObject>) getElements(name)).subList(0, Math.min(maxElements,size));        \r
+      } \r
+    }   \r
+    return getElements(name);\r
+  }\r
+  \r
+  public List<ResponseDataObject> getElements(String name, int maxElements, int maxTotalValueLength) {\r
+    if (getElements(name)!=null) {\r
+      int size = getElements(name).size();\r
+      if (size>0) {\r
+        List<ResponseDataObject> maxElementsList = ((ArrayList<ResponseDataObject>) getElements(name)).subList(0, Math.min(maxElements,size));\r
+        int i = 0;\r
+        int totalLength = 0;\r
+        for (ResponseDataObject element : maxElementsList) {\r
+          totalLength += element.getValue().length(); \r
+          i++;\r
+          if (totalLength>maxTotalValueLength) {\r
+            break;\r
+          } \r
+        }\r
+        return maxElementsList.subList(0, i);\r
+      } \r
+    }   \r
+    return getElements(name);\r
+  }\r
+\r
+  \r
   public ResponseDataObject getOneElement (String name) {\r
     if (elements.get(name) != null) {\r
       return elements.get(name).get(0);\r
@@ -66,7 +97,7 @@ public class ResponseDataObject implements Serializable {
    * @param name of the element \r
    * @return text value, empty string if none found\r
    */\r
-  public String getOneElementValue (String name) {\r
+  public String getOneValue (String name) {\r
     if (getOneElement(name)!=null && getOneElement(name).getValue().length()>0) {\r
       return getOneElement(name).getValue();\r
     } else {\r
@@ -74,6 +105,19 @@ public class ResponseDataObject implements Serializable {
     }\r
   }\r
   \r
+  public String[] getValueArray (String name) {\r
+    List<ResponseDataObject> elements = getElements(name);\r
+    String[] valueArray = {};\r
+    if (elements != null) {\r
+      valueArray = new String[elements.size()];\r
+      int i = 0;\r
+      for (ResponseDataObject element : elements) {\r
+        valueArray[i++] = element.getValue();\r
+      }      \r
+    }\r
+    return valueArray;\r
+  }\r
+    \r
   public void appendContent (String content) {\r
     textContent = textContent + content;\r
   }\r
@@ -92,7 +136,7 @@ public class ResponseDataObject implements Serializable {
   }\r
   \r
   public int getIntValue(String name) {\r
-    String val = getOneElementValue(name);\r
+    String val = getOneValue(name);\r
     if (val.length()==0) {\r
       return 0;\r
     } else {\r
index 79bb667..76a41b1 100644 (file)
@@ -6,7 +6,7 @@ public class SearchResponse extends ResponseDataObject {
   private boolean isNew = true;\r
   \r
   public String getStatus() {\r
-    return getOneElementValue("status");\r
+    return getOneValue("status");\r
   }\r
       \r
   public boolean isNew () {\r
index 2bf0a92..c845c3a 100644 (file)
@@ -12,11 +12,11 @@ public class ShowResponse extends ResponseDataObject {
   \r
 \r
   public String getStatus() {\r
-    return getOneElementValue("status");\r
+    return getOneValue("status");\r
   }\r
   \r
   public String getActiveClients () {\r
-    return getOneElementValue("activeclients");\r
+    return getOneValue("activeclients");\r
   }\r
   \r
   public int getMerged () {\r
@@ -24,7 +24,7 @@ public class ShowResponse extends ResponseDataObject {
   }\r
   \r
   public String getTotal () {\r
-    return getOneElementValue("total");    \r
+    return getOneValue("total");    \r
   }\r
   \r
   public int getStart () {\r
index 3342c15..b5acf0f 100644 (file)
@@ -47,7 +47,7 @@ public class StatResponse extends ResponseDataObject {
   }\r
   \r
   public String getProgress() {\r
-    return getOneElementValue("progress");\r
+    return getOneValue("progress");\r
   }\r
   \r
 }\r
index 9d5e8fa..8942662 100644 (file)
@@ -7,27 +7,27 @@ public class Target extends ResponseDataObject {
   private static final long serialVersionUID = 3343881183545520108L;\r
 \r
   public String getId () {\r
-    return getOneElementValue("id");\r
+    return getOneValue("id");\r
   }\r
   \r
   public String getName() {\r
-    return getOneElementValue("name");\r
+    return getOneValue("name");\r
   }\r
   \r
   public String getHits() {\r
-    return getOneElementValue("hits");\r
+    return getOneValue("hits");\r
   }\r
   \r
   public String getDiagnostic() {\r
-    return getOneElementValue("diagnostic");\r
+    return getOneValue("diagnostic");\r
   }\r
   \r
   public String getRecords() {\r
-    return getOneElementValue("records");\r
+    return getOneValue("records");\r
   }\r
   \r
   public String getState () {\r
-    return getOneElementValue("state");\r
+    return getOneValue("state");\r
   }\r
     \r
 }\r
index 4f5b99f..243d949 100644 (file)
@@ -5,19 +5,19 @@ public class AuthResponse extends SpResponseDataObject  {
   private static final long serialVersionUID = 8006774126022849936L;\r
 \r
   public String getDisplayName () {\r
-    return getOneElementValue("displayName");\r
+    return getOneValue("displayName");\r
   }\r
   \r
   public String getRealm () {\r
-    return getOneElementValue("realm");\r
+    return getOneValue("realm");\r
   }\r
   \r
   public String getStatus () {\r
-    return getOneElementValue("status");\r
+    return getOneValue("status");\r
   }\r
   \r
   public String getAuthenticationType () {\r
-    return getOneElementValue("type");\r
+    return getOneValue("type");\r
   }\r
   \r
   public String onSuccess(String navigateTo) {\r
index 3885792..fd00a23 100644 (file)
@@ -7,11 +7,11 @@ public class TargetCategory extends ResponseDataObject {
   private static final long serialVersionUID = -3027515807117682584L;\r
 \r
   public String getCategoryName () {\r
-    return getOneElementValue("categoryName");\r
+    return getOneValue("categoryName");\r
   }\r
   \r
   public String getCategoryId() {\r
-    return getOneElementValue("categoryId");\r
+    return getOneValue("categoryId");\r
   }\r
    \r
 }\r
index 4b09747..3d57494 100644 (file)
@@ -1,5 +1,10 @@
 package com.indexdata.mkjsf.utils;\r
 \r
+import javax.enterprise.context.ApplicationScoped;\r
+import javax.inject.Named;\r
+\r
+@Named("utils")\r
+@ApplicationScoped\r
 public class Utils {\r
   \r
   public static String nl = System.getProperty("line.separator");  \r
@@ -21,4 +26,12 @@ public class Utils {
       return objectId(objName);\r
     }\r
   }\r
+  \r
+  public static String concat(String... strings) {\r
+    StringBuilder concatenated = new StringBuilder("");\r
+    for (String string : strings) {\r
+      concatenated.append(string);\r
+    }\r
+    return concatenated.toString();\r
+  }\r
 }\r