Work in progress on error detect,report,troubleshoot
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / data / Pazpar2ResponseData.java
1 package com.indexdata.pz2utils4jsf.pazpar2.data;\r
2 \r
3 import java.io.Serializable;\r
4 import java.util.ArrayList;\r
5 import java.util.HashMap;\r
6 import java.util.List;\r
7 \r
8 import com.indexdata.pz2utils4jsf.pazpar2.data.Pazpar2ResponseData;\r
9 \r
10 public class Pazpar2ResponseData implements Serializable {\r
11   \r
12   private static final long serialVersionUID = -3909755656714679959L;\r
13   String type = null;\r
14   HashMap<String,String> attributes = new HashMap<String,String>();\r
15   HashMap<String,List<Pazpar2ResponseData>> elements = new HashMap<String,List<Pazpar2ResponseData>>();\r
16   String textContent = "";\r
17   CommandError error = null;\r
18         \r
19   public void setType (String type) {\r
20     this.type = type;\r
21   }\r
22   \r
23   public String getType () {\r
24     return type;\r
25   }\r
26   \r
27   public void setAttribute (String name, String value) {\r
28     attributes.put(name, value);\r
29   }\r
30   \r
31   public String getAttribute (String name) {\r
32     return attributes.get(name);\r
33   }\r
34     \r
35   public void addElement (String name, Pazpar2ResponseData value) {    \r
36     if (elements.containsKey(name)) {\r
37       elements.get(name).add(value);\r
38     } else {\r
39       List<Pazpar2ResponseData> list = new ArrayList<Pazpar2ResponseData>();\r
40       list.add(value);\r
41       elements.put(name,list);\r
42     }\r
43   }\r
44   \r
45   public List<Pazpar2ResponseData> getElements (String name) {\r
46     return elements.get(name);\r
47   }\r
48   \r
49   public Pazpar2ResponseData getOneElement (String name) {\r
50     if (elements.get(name) != null) {\r
51       return elements.get(name).get(0);\r
52     } else {\r
53       return null;\r
54     }\r
55   }\r
56   \r
57   /**\r
58    * Returns the text content of the first element found with the given\r
59    * name\r
60    * @param name of the element \r
61    * @return text value, empty string if none found\r
62    */\r
63   public String getOneElementValue (String name) {\r
64     if (getOneElement(name)!=null && getOneElement(name).getValue().length()>0) {\r
65       return getOneElement(name).getValue();\r
66     } else {\r
67       return "";\r
68     }\r
69   }\r
70   \r
71   public void appendContent (String content) {\r
72     textContent = textContent + content;\r
73   }\r
74   \r
75   public String getValue () {\r
76     return textContent;\r
77   }\r
78   \r
79   public String getProperty(String name) {\r
80     List<Pazpar2ResponseData> els = elements.get(name);\r
81     if (els != null) {\r
82       return els.get(0).getValue();\r
83     } else {     \r
84       return null;\r
85     }\r
86   }\r
87   \r
88   public int getIntValue(String name) {\r
89     String val = getOneElementValue(name);\r
90     if (val.length()==0) {\r
91       return 0;\r
92     } else {\r
93       return Integer.parseInt(val);\r
94     }\r
95   }\r
96     \r
97   public boolean hasApplicationError () {\r
98     return (getOneElement("applicationerror") != null);   \r
99   }\r
100   \r
101   public CommandError getApplicationError() {\r
102     return (CommandError) getOneElement("applicationerror");\r
103   }\r
104   \r
105   \r
106   \r
107       \r
108 }\r