1 package com.indexdata.pz2utils4jsf.pazpar2.data;
\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
8 import org.apache.log4j.Logger;
\r
10 import com.indexdata.pz2utils4jsf.pazpar2.data.Pazpar2ResponseData;
\r
12 public class Pazpar2ResponseData implements Serializable {
\r
14 Logger logger = Logger.getLogger(Pazpar2ResponseData.class);
\r
15 private static final long serialVersionUID = -3909755656714679959L;
\r
17 HashMap<String,String> attributes = new HashMap<String,String>();
\r
18 HashMap<String,List<Pazpar2ResponseData>> elements = new HashMap<String,List<Pazpar2ResponseData>>();
\r
19 String textContent = "";
\r
20 CommandError error = null;
\r
23 public void setType (String type) {
\r
27 public String getType () {
\r
31 public void setAttribute (String name, String value) {
\r
32 attributes.put(name, value);
\r
35 public String getAttribute (String name) {
\r
36 return attributes.get(name);
\r
39 public void addElement (String name, Pazpar2ResponseData value) {
\r
40 if (elements.containsKey(name)) {
\r
41 elements.get(name).add(value);
\r
43 List<Pazpar2ResponseData> list = new ArrayList<Pazpar2ResponseData>();
\r
45 elements.put(name,list);
\r
49 public List<Pazpar2ResponseData> getElements (String name) {
\r
50 return elements.get(name);
\r
53 public Pazpar2ResponseData getOneElement (String name) {
\r
54 if (elements.get(name) != null) {
\r
55 return elements.get(name).get(0);
\r
62 * Returns the text content of the first element found with the given
\r
64 * @param name of the element
\r
65 * @return text value, empty string if none found
\r
67 public String getOneElementValue (String name) {
\r
68 if (getOneElement(name)!=null && getOneElement(name).getValue().length()>0) {
\r
69 return getOneElement(name).getValue();
\r
75 public void appendContent (String content) {
\r
76 textContent = textContent + content;
\r
79 public String getValue () {
\r
83 public String getProperty(String name) {
\r
84 List<Pazpar2ResponseData> els = elements.get(name);
\r
86 return els.get(0).getValue();
\r
92 public int getIntValue(String name) {
\r
93 String val = getOneElementValue(name);
\r
94 if (val.length()==0) {
\r
97 return Integer.parseInt(val);
\r
101 public boolean hasApplicationError () {
\r
102 return (getOneElement("applicationerror") != null);
\r
105 public CommandError getApplicationError() {
\r
106 return (CommandError) getOneElement("applicationerror");
\r
109 public boolean hasPazpar2Error() {
\r
110 return hasApplicationError() && getApplicationError().hasPazpar2Error();
\r
113 public void setXml(String xml) {
\r
117 public String getXml() {
\r
118 if (type != null && type.equals("record")) {
\r
119 logger.debug("Getting XML for "+type + ": "+xml);
\r
121 return xml == null ? "" : xml;
\r